Converter PS, EPS e XPS

Solução de API do conversor PS, EPS e XPS para .NET.

 

Sempre que houver necessidade de converter arquivos PostScript PS e PostScript EPS encapsulados, bem como documentos XPS programaticamente, a API .NET pode fazer isso sem problemas e converter vários arquivos. Para PS e EPS, a API suporta operadores PostScript de níveis 1-3 e a maioria dos comentários de cabeçalho EPS, bem como transforma documentos PostScript com conformidade máxima, com exceção de alguns casos de fontes e a API lida com fontes como Time New Roman.

Além disso, para a transformação de arquivos XPS, a API pode adicionar ou remover páginas, lidar com telas, caminhos e elementos de glifos, criar formas de gráficos vetoriais, cadeias de texto, converter itens de contorno XPS e muito mais.

A solução API para .NET aqui permite converter arquivos de formatos PDL como PS, EPS e XPS programaticamente, mas você pode achar útil ver e experimentar multiplataformas desenvolvidas nessas APIs nativas.

Conversão de PostScript para PDF via C# .NET.

Para converter arquivos PostScript PS e Encapsulated PostScript EPS para PDF via .NET API, você precisa seguir os seguintes passos:

  1. Carregue o arquivo PS ou EPS usando PsDocument Class .
  2. Defina o salvamento do PDF usando PdfSaveOptions Class .
  3. Use FileStream Class para o arquivo PDF de saída.
  4. PdfDevice Class inicializando com o objeto de fluxo de arquivos PDF de saída.
  5. Ligue para PsDocument.Save para conversão de PDF.
Código C# para conversão de PS EPS para 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);
}
}
 

PostScript para conversão de imagens via C# .NET.

Para qualquer aplicativo conversor EPS/PS PostScript para imagem, o código C# a seguir funciona bem, portanto, execute as próximas etapas:

  1. Carregue o documento usando a classe PsDocument tendo como parâmetro o fluxo do arquivo de entrada.
  2. Crie o objeto ImageSaveOptions Class e inicialize-o com as configurações necessárias.
  3. Salve cada página de arquivo de entrada em uma imagem PNG, JPG, TIFF, BMP, etc.
Código C# para conversão de PostScript para imagens
// 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 converter Postscript com esta solução de API?

Aspose.Page tem funcionalidade que permite converter arquivos PS, XPS e EPS para outros formatos online ou programaticamente. Se você precisar transformar seus arquivos instantaneamente on-line, talvez queira usar o aplicativo de plataforma cruzada Conversor de arquivos de formato de linguagem de descrição de página .

2. Quais idiomas de descrição de página são suportados pelo conversor?

Essa funcionalidade de conversão oferece suporte a arquivos com extensões .ps, .eps e .xps. PDLs famosos como PDF e SVG são representados como soluções separadas no Aspose.products

3. A funcionalidade é gratuita?

Os conversores de plataforma cruzada são gratuitos, quando para a solução de API você pode obter uma avaliação gratuita e comprar o produto, se necessário.

 

Converta XPS para imagens JPG, PNG, BMP via C# .NET.

A API .NET também suporta a conversão de XPS para imagens BMP, JPG, PNG, TIFF, etc., e fornece a classe XpsDocument para operações XPS. Para converter XPS em Imagem, siga os próximos passos:

  1. Carregue o arquivo XPS do fluxo.
  2. Inicialize as opções de salvamento de imagem relevantes, por exemplo, para XPS para JPG é JpegSaveOptions e para XPS para PNG suas PngSaveOptions . Aqui está uma lista de todos os XPS to Image save options .
  3. Defina configurações relevantes como SmoothingMode, Resolution e PageNumbers etc. para renderização. Por fim, itere através de partições de documentos para salvá-los em imagens.
Código C# para conversão de XPS para imagem
// 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