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:

  1. Caricare il file PS o EPS utilizzando la Classe PsDocument .
  2. Impostare il salvataggio in PDF utilizzando la Classe PdfSaveOptions .
  3. Utilizzare la Classe FileStream per il file PDF di output.
  4. Utilizzare la Classe PdfDevice inizializzandola con l’oggetto stream del file PDF di output.
  5. 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:

  1. Caricare il documento utilizzando la classe PsDocument avente il file stream di input come parametro.
  2. Creare un oggetto Classe ImageSaveOptions e inizializzarlo con le impostazioni richieste.
  3. 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:

  1. Caricare il file XPS dallo stream.
  2. 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.
  3. 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