
Converter XPS para PDF programaticamente em C #
Os arquivos XPS definem a aparência visual e a composição, além das regras de renderização e impressão na marcação XML. Como os documentos XPS são populares por causa de sua capacidade exclusiva de gerenciar anotações ou assinaturas, as pessoas podem ter esses arquivos, mas desejam convertê-los em PDF. Discutiremos esse cenário específico abaixo no artigo e aprenderemos como converter XPS em PDF programaticamente em C#.
Os seguintes pontos serão abordados neste artigo:
API C# .NET para converter XPS em PDF
Usaremos Conholdate.Total for .NET para converter XPS em PDF programaticamente. Você pode baixar a DLL ou instalar esta API de conversão XPS usando NuGet.
Install-Package Conholdate.Total
Como converter XPS para PDF usando C
Você pode converter arquivos XPS em PDFs seguindo as etapas abaixo:
- Inicialize os objetos da classe Stream para documentos XPS e PDF.
- Crie uma instância da classe XpsDocument usando o fluxo XPS (criado na etapa anterior) e o objeto da classe XpsLoadOptions como parâmetros.
- Inicialize o objeto da classe PdfSaveOptions especificando TextCompression, ImageCompression, JpegQualityLevel e outras opções.
- Crie um objeto da classe PdfDevice a partir do fluxo de saída conforme criado na 1ª etapa.
- Salve o documento PDF usando XpsDocument.Save(Device device, SaveOptions options) e passe para ele os objetos PdfDevice e PdfSaveOptions conforme criados nas etapas anteriores.
O código a seguir mostra como converter XPS em PDF usando C#.
// Initialize PDF output stream | |
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Initialize XPS input stream | |
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// or load XPS document directly from file. No xpsStream is needed then. | |
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions() | |
{ | |
JpegQualityLevel = 100, | |
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg, | |
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for PDF format | |
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream); | |
document.Save(device, options); | |
} |
Obtenha uma licença gratuita
Você pode adquirir uma licença temporária gratuita para testar a API sem limitações de avaliação.
Conclusão
Neste artigo, abordamos o procedimento de conversão de XPS para PDF. Por fim, esperamos que você tenha aprendido como converter XPS em PDF em C# usando uma API de conversão XPS. Você pode visitar a documentação para explorar outros recursos da biblioteca de conversão XPS.
Faça uma pergunta
Você pode nos enviar suas perguntas ou dúvidas em nosso fórum.