Converti PS, EPS e XPS
Conversione di PS, EPS e XPS con la soluzione API per .NET.
Ogni volta che è necessario convertire a livello di codice i file PostScript PS e Encapsulated PostScript EPS e i documenti XPS, l'API .NET può farlo in modo fluido e converte più file. Per PS ed EPS, l'API supporta gli operatori PostScript di livello 1-3 e la maggior parte dei commenti di intestazione EPS, oltre a trasformare i documenti PostScript con la massima conformità, ad eccezione di alcuni casi di font, e l'API gestisce font come Times New Roman.
Inoltre, per la trasformazione dei file XPS, l'API può aggiungere o rimuovere pagine, gestire canvas, percorsi ed elementi glifi, creare forme grafiche vettoriali e stringhe di testo, convertire elementi di struttura XPS e altro ancora.
La soluzione API per .NET qui presentata consente di convertire a livello di codice i file di formati PDL come PS, EPS e XPS, ma potrebbe essere utile vedere e provare le applicazioni multipiattaforma sviluppate su queste API native.
Conversione da PostScript a PDF tramite C# .NET.
Per convertire i file PostScript PS e Encapsulated PostScript EPS in PDF tramite l'API .NET è necessario seguire i passaggi successivi:
- Caricare il file PS o EPS utilizzando la Classe PsDocument .
- Impostare il salvataggio in PDF utilizzando la Classe PdfSaveOptions .
- Utilizzare la Classe FileStream per il file PDF di output.
- Utilizzare la Classe PdfDevice inizializzandola con l’oggetto stream del file PDF di output.
- Chiamare PsDocument.Save per la conversione in PDF.
Codice C# per la conversione da PS EPS a PDF
// The path to the documents directory.
string dataDir = "definedDirectoryPath";
// Initialize PsDocument with the name of PostScript file.
PsDocument document = new PsDocument(dataDir + "input.ps");
// If you want to convert Postscript file despite of minor errors set this flag
bool suppressErrors = true;
//Initialize options object with necessary parameters.
PdfSaveOptions options = new PdfSaveOptions(suppressErrors);
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
options.AdditionalFontsFolders = new string[] { @"{FONT_FOLDER}" };
// Default page size is 595x842 and it is not mandatory to set it in PdfSaveOptions
// But if you need to specify sizeuse following line
//PdfSaveOptions options = new PdfSaveOptions(suppressErrorsnew, Aspose.Page.Drawing.Size(595x842));
// or
//saveOptions.Size = new Aspose.Page.Drawing.Size(595x842);
document.SaveAsPdf(dataDir + "outputPDF_out.pdf", options);
//Review errors
if (suppressErrors)
{
foreach (Exception ex in options.Exceptions)
{
Console.WriteLine(ex.Message);
}
}Conversione da PostScript a immagini tramite C# .NET.
Per qualsiasi applicazione di conversione da PostScript EPS/PS a immagine, il seguente codice C# funziona bene, quindi segui i passaggi successivi:
- Caricare il documento utilizzando la classe PsDocument avente il file stream di input come parametro.
- Creare un oggetto Classe ImageSaveOptions e inizializzarlo con le impostazioni richieste.
- Salvare ogni pagina del file di input in un’immagine PNG, JPG, TIFF, BMP, ecc.
Codice C# per la conversione da PostScript a immagini
// The path to the documents directory.
string dataDir = "definedDirectoryPath";
// Initialize PsDocument with the name of PostScript file.
PsDocument document = new PsDocument(dataDir + "inputForImage.ps");
// If you want to convert Postscript file despite of minor errors set this flag
bool suppressErrors = true;
//Initialize options object with necessary parameters.
ImageSaveOptions options = new ImageSaveOptions();
//Set output image format.
options.ImageFormat = Aspose.Page.Drawing.Imaging.ImageFormat.Png;
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
options.AdditionalFontsFolders = new string[] { @"{FONT_FOLDER}" };
// Save PS document as array of image bytes, one bytes array for one page.
byte[][] imagesBytes = document.SaveAsImage(options);
//Save images bytes arrays as image files.
int i = 0;
foreach (byte[] imageBytes in imagesBytes)
{
string imagePath = Path.GetFullPath(dataDir + "out_image" + i.ToString() +"." + options.ImageFormat.ToString().ToLower());
using (FileStream fs = new FileStream(imagePath, FileMode.Create, FileAccess.Write))
{
fs.Write(imageBytes, 0, imageBytes.Length);
}
i++;
}FAQ
1. Posso convertire Postscript con questa soluzione API?
Aspose.Page ha funzionalità che ti consentono di convertire file PS, XPS ed EPS in altri formati online o a livello di codice. Se hai bisogno di trasformare i tuoi file istantaneamente online, potresti utilizzare l’applicazione multipiattaforma Page Description Language format files Converter .
2. Quali lingue di descrizione della pagina sono supportate dal convertitore?
Questa funzionalità di conversione supporta file con estensione .ps, .eps e .xps. PDL famosi come PDF e SVG sono rappresentati come soluzioni separate in Aspose.products
3. La funzionalità è gratuita?
I convertitori multipiattaforma sono gratuiti, mentre per la soluzione API puoi ottenere una prova gratuita e quindi acquistare il prodotto se necessario.
Converti XPS in immagini JPG, PNG, BMP tramite C# .NET.
L'API .NET supporta anche la conversione di XPS in immagini BMP, JPG, PNG, TIFF, ecc. e fornisce la classe XpsDocument per le operazioni XPS. Per convertire XPS in immagine, segui i passaggi successivi:
- Caricare il file XPS dallo stream.
- Inizializzare le opzioni di salvataggio dell’immagine pertinenti, ad esempio per XPS a JPG è JpegSaveOptions e per XPS a PNG è PngSaveOptions . Ecco l’elenco di tutte le opzioni di salvataggio da XPS a immagine.
- Definire le impostazioni pertinenti come SmoothingMode, Resolution e PageNumbers ecc. per il rendering. Infine, scorrere le partizioni del documento per salvarle in immagini.
Codice C# per la conversione da XPS a immagine
// The path to the documents directory.
string dataDir = "definedDirectoryPath";
//Outut file
string outputFileName = dataDir + "XPStoImage_out.jpeg";
// Load XPS document form the XPS file
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());
// Initialize options object with necessary parameters.
JpegSaveOptions options = new JpegSaveOptions()
{
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
Resolution = 300,
PageNumbers = new int[] { 1, 2, 6 }
};
// Save XPS document to the images byte arrays. The first dimension is for inner documents
/// and the second one is for pages within inner documents.
byte[][][] imagesBytes = document.SaveAsImage(options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < imagesBytes.Length; i++)
{
// Iterate through partition pages
for (int j = 0; j < imagesBytes[i].Length; j++)
{
// Initialize image output stream
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.DirectorySeparatorChar +
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Write image
imageStream.Write(imagesBytes[i][j], 0, imagesBytes[i][j].Length);
}
}Support and Learning Resources
- Risorse di apprendimento
- Documentazione
- Codice sorgente
- Riferimenti API
- Supporto al prodotto
- Supporto gratuito
- Supporto a pagamento
- Blog
- Release Notes
- Perché Aspose.Page per .NET?
- Elenco clienti
- Storie di successo