Mesclar Combinar XPS C#

Os arquivos XPS são baseados em XML Paper Specifications que representam layouts de página. Eles incluem informações sobre aparência e layouts de impressão. Às vezes, você pode querer mesclar vários arquivos XPS para processamento adicional de dados. De acordo com esses requisitos, este artigo explica como mesclar arquivos XPS programaticamente em C#.

Combine ou Mescle arquivos XPS – Instalação da API C#

Aspose.Page for .NET API é uma API de formato de arquivo de alto código onde você só precisa fazer algumas chamadas de API. Você pode acessar a API baixando seus arquivos DLL da seção Downloads ou com o seguinte comando de instalação NuGet:

PM> Install-Package Aspose.Page

Mesclar arquivos XPS no formato XPS programaticamente em C#

Você pode mesclar diferentes arquivos XPS em um único documento XPS com as seguintes etapas:

  1. Carregue o arquivo XPS de entrada.
  2. Especifique os outros arquivos XPS que você deseja combinar.
  3. Anexe os arquivos juntos em um arquivo XPS.

O trecho de código abaixo mescla vários arquivos XPS em um único documento XPS em C#:

// Inicialize o fluxo de saída XPS
using (System.IO.Stream outStream = System.IO.File.Open("mergedXPSfiles.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
{
    // Carregar documento XPS
    XpsDocument document = new XpsDocument("input.xps", new XpsLoadOptions());

    // Crie uma matriz de arquivos XPS que serão mesclados com o primeiro
    string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };

    // Mesclar arquivos XPS para gerar um documento XPS
    document.Merge(filesToMerge, outStream);
}

Mesclar arquivos XPS programaticamente em C#

Você pode mesclar vários arquivos XPS em um único arquivo seguindo as etapas abaixo:

  1. Carregue um arquivo XPS para anexar outros arquivos a ele.
  2. Crie um dispositivo de renderização para o arquivo de saída.
  3. Crie uma matriz dos arquivos XPS a serem mesclados.
  4. Mescle os arquivos XPS e salve a saída em formato PDF.

O código a seguir mostra como mesclar arquivos XPS e salvar a saída em formato PDF programaticamente em C#:

// Inicialize o fluxo de saída do PDF
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// Inicializar o fluxo de entrada XPS
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
    // Carregue o primeiro documento XPS do fluxo
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());

    // Criar dispositivo de renderização para formato PDF
    PdfDevice device = new PdfDevice(pdfStream);

    // Crie uma matriz de arquivos XPS que serão mesclados com o primeiro
    string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };

    // Mesclar arquivos XPS para gerar um documento PDF
    document.Merge(filesToMerge, device, new PdfSaveOptions());
}

Mesclar arquivos XPS com opções avançadas em C#

Você pode especificar diferentes propriedades para improvisar o processo de mesclagem XPS. Por exemplo, você pode definir compactação de imagem ou texto, criptografia, privilégios etc. para o arquivo de saída seguindo as etapas abaixo:

  1. Carregue um arquivo XPS de entrada para mesclar arquivos.
  2. Inicialize o objeto da classe PdfSaveOptions.
  3. Crie um dispositivo de renderização e uma matriz para mesclar arquivos.
  4. Mescle os arquivos XPS e salve o resultado como PDF.

O trecho de código a seguir demonstra como mesclar arquivos XPS em C#:

// Inicialize o fluxo de saída do PDF
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// Inicializar o fluxo de entrada XPS
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
    // Carregue o primeiro documento XPS do fluxo
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());

    // Inicialize o objeto de opções com os parâmetros necessários.
    PdfSaveOptions options = new PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate
    };

    // Criar dispositivo de renderização para formato PDF
    PdfDevice device = new PdfDevice(pdfStream);

    // Crie uma matriz de arquivos XPS que serão mesclados com o primeiro
    string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };

    // Mesclar arquivos XPS para gerar um documento PDF
    document.Merge(filesToMerge, device, options);
}

Obtenha Licença Temporária Gratuita

Você pode solicitar uma licença temporária gratuita para avaliar a API sem limitações.

Demonstração on-line

Experimente o aplicativo da web XPS Merging para verificar os recursos de combinação de arquivos.

Conclusão

Neste artigo, você explorou como mesclar arquivos XPS programaticamente em C#. Caso você precise discutir alguma de suas dúvidas, escreva para nós no fórum.

Veja também

Converter EPS ou PS para SVG em C#