Comprimi EPSs tramite C#
Crea le tue app .NET per comprimere i file EPS utilizzando le API lato server.
Come comprimere file EPS utilizzando C#
La preparazione delle immagini per la pubblicazione coinvolge aspetti sia creativi che tecnici, inclusa la compressione dei file. Sebbene le immagini ad alta risoluzione siano fondamentali per la stampa o la pubblicità esterna, potrebbero ridurre le prestazioni web a causa delle grandi dimensioni dei file. La tecnica di compressione delle immagini appropriata varia a seconda dello scopo e della piattaforma di pubblicazione. I file di grandi dimensioni possono rallentare i tempi di caricamento, in particolare sulle connessioni mobili, portando a un’esperienza utente insoddisfacente. Gli utenti potrebbero abbandonare un sito che impiega troppo tempo per caricarsi e cercare un’alternativa più veloce. Al contrario, un’eccessiva compressione delle immagini può provocare sfocature e pixelazioni, peggiorando l’esperienza visiva. La scelta giusta degli algoritmi e dei rapporti di compressione è essenziale per trovare un equilibrio tra dimensione del file e qualità dell’immagine. Per comprimere i file EPS, utilizzeremo Aspose.Imaging per .NET API che è un’API di conversione e manipolazione delle immagini ricca di funzionalità, potente e facile da usare per la piattaforma C#. Aprire NuGet gestore pacchetti, cerca Aspose.Imaging e installa. È inoltre possibile utilizzare il seguente comando dalla Console di gestione pacchetti.
Comando della console di Package Manager
PM> Install-Package Aspose.Imaging
Passaggi per comprimere EPS tramite C#
Hai bisogno del aspose.imaging.dll per provare il seguente flusso di lavoro nel tuo ambiente.
- Carica file EPS con il metodo Image.Load
- Comprimi immagini;
- Salva l’immagine compressa su disco nel formato supportato da Aspose.Imaging
Requisiti di sistema
Aspose.Imaging per .NET è supportato su tutti i principali sistemi operativi. Assicurati solo di avere i seguenti prerequisiti.
- Microsoft Windows o un sistema operativo compatibile con .NET Framework, .NET Core, applicazione Windows, applicazione Web ASP.NET.
- Ambiente di sviluppo come Microsoft Visual Studio.
- Aspose.Imaging per .NET referenziato nel progetto.
Comprimi immagini EPS - .NET
using Aspose.Imaging.FileFormats.Bmp; | |
using Aspose.Imaging.FileFormats.Dicom; | |
using Aspose.Imaging.FileFormats.Emf; | |
using Aspose.Imaging.FileFormats.Jpeg; | |
using Aspose.Imaging.FileFormats.Jpeg2000; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Psd; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Masking; | |
using Aspose.Imaging.Masking.Options; | |
using Aspose.Imaging.Masking.Result; | |
using Aspose.Imaging.Sources; | |
using Aspose.Imaging; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
string templatesFolder = @"c:\Users\USER\Downloads\templates\"; | |
CompressVectorFormatsToEmf(); | |
void CompressVectorFormatToSvg() | |
{ | |
List<string> formatExts = new List<string>() { "cdr", "cmx", "odg", "otg", "eps" }; | |
formatExts.ForEach | |
( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
var outputFile = Path.Combine(templatesFolder, $"compressed_{formatExt.ToUpper()}"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
Func<VectorRasterizationOptions> rasterizationOptionsFactory = () => | |
{ | |
switch (image.FileFormat) | |
{ | |
case FileFormat.Cdr: | |
return new CdrRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Cmx: | |
return new CmxRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Odg: | |
return new OdgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Otg: | |
return new OtgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
default: | |
return null; | |
} | |
}; | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
multiPage.Pages[pageIndex].Save($"{outputFile}_p{pageIndex + 1}.svgz", new SvgOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete($"{outputFile}_p{pageIndex + 1}.svgz"); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile + ".svgz", new SvgOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete(outputFile + ".svgz"); | |
} | |
} | |
} | |
); | |
} | |
void CompressVectorFormatToWmf() | |
{ | |
List<string> formatExts = new List<string>() { "cdr", "cmx", "odg", "otg", "eps" }; | |
formatExts.ForEach | |
( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
var outputFile = Path.Combine(templatesFolder, $"compressed_{formatExt.ToUpper()}"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
Func<VectorRasterizationOptions> rasterizationOptionsFactory = () => | |
{ | |
switch (image.FileFormat) | |
{ | |
case FileFormat.Cdr: | |
return new CdrRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Cmx: | |
return new CmxRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Odg: | |
return new OdgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Otg: | |
return new OtgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
default: | |
return null; | |
} | |
}; | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
multiPage.Pages[pageIndex].Save($"{outputFile}_p{pageIndex + 1}.wmz", new WmfOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete($"{outputFile}_p{pageIndex + 1}.wmz"); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile + ".wmz", new WmfOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete(outputFile + ".wmz"); | |
} | |
} | |
} | |
); | |
} | |
void CompressVectorFormatsToEmf() | |
{ | |
List<string> formatExts = new List<string>() { "cdr", "cmx", "odg", "otg", "eps" }; | |
formatExts.ForEach | |
( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
var outputFile = Path.Combine(templatesFolder, $"compressed_{formatExt.ToUpper()}"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
Func<VectorRasterizationOptions> rasterizationOptionsFactory = () => | |
{ | |
switch (image.FileFormat) | |
{ | |
case FileFormat.Cdr: | |
return new CdrRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Cmx: | |
return new CmxRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Odg: | |
return new OdgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
case FileFormat.Otg: | |
return new OtgRasterizationOptions() { PageWidth = image.Width, PageHeight = image.Height }; | |
default: | |
return null; | |
} | |
}; | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
multiPage.Pages[pageIndex].Save($"{outputFile}_p{pageIndex + 1}.emz", new EmfOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete($"{outputFile}_p{pageIndex + 1}.emz"); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile + ".emz", new EmfOptions() | |
{ | |
Compress = true, | |
VectorRasterizationOptions = rasterizationOptionsFactory.Invoke() | |
}); | |
File.Delete(outputFile + ".emz"); | |
} | |
} | |
} | |
); | |
} |
Informazioni su Aspose.Imaging per l'API .NET
Aspose.Imaging API è una soluzione di elaborazione delle immagini per creare, modificare, disegnare o convertire immagini (foto) all’interno delle applicazioni. Offre: elaborazione delle immagini multipiattaforma, incluse, a titolo esemplificativo ma non esaustivo, conversioni tra vari formati di immagine (inclusa elaborazione uniforme di immagini multipagina o multiframe), modifiche come disegnare, lavorare con primitive grafiche, trasformazioni (ridimensiona, ritaglia, capovolgi e ruota , binarizzazione, scala di grigi, regolazione), funzionalità avanzate di manipolazione delle immagini (filtro, dithering, mascheratura, raddrizzatura) e strategie di ottimizzazione della memoria. È una libreria autonoma e non dipende da alcun software per le operazioni sulle immagini. È possibile aggiungere facilmente funzionalità di conversione delle immagini ad alte prestazioni con API native all’interno dei progetti. Si tratta di API locali private al 100% e le immagini vengono elaborate sui tuoi server.Comprimi EPSs tramite l’app online
Comprimi i documenti EPS visitando il nostro sito web di demo live . La demo dal vivo ha i seguenti vantaggi
EPS Cos'è EPS Formato del file
I file con estensione EPS descrivono essenzialmente un programma in linguaggio Encapsulated PostScript che descrive l'aspetto di una singola pagina. Il nome "Encapsulated" perché può essere incluso o incapsulato nella descrizione della pagina di un altro linguaggio PostScript. Questo formato di file basato su script può contenere qualsiasi combinazione di testo, grafica e immagini. I file EPS possono includere un'immagine di anteprima bitmap incapsulata all'interno per la visualizzazione da parte di applicazioni in grado di aprire tali file. I file EPS possono essere convertiti in formati immagine standard come JPG, PNG, TIFF e PDF utilizzando diverse applicazioni, ad es. Adobe Illustrator, Photoshop e PaintShop Pro. A causa di una vulnerabilità di sicurezza nei file EPS, Office 2016, Office 2013, Office 2010 e Office 365 hanno disattivato la possibilità di inserire file EPS nei documenti di Office.
Per saperne di piùAltri formati di compressione supportati
Usando C#, si possono facilmente comprimere diversi formati tra cui.