O formato XPS (XML Paper Specifications) foi introduzido pela Microsoft e é usado para representar o layout da página. Ele usa tags XML para representar a aparência das páginas e a composição do documento. Em vários cenários, pode ser necessário converter documentos XPS para outros formatos de documento. De acordo com isso, neste artigo, você aprenderá sobre a conversão de documentos XPS para formatos de imagem raster de forma programática. Particularmente, o artigo abordará como converter XPS para BMP, JPEG, PNG e TIFF usando Java.

XPS para API do conversor de imagem - download gratuito

Aspose.Page for Java foi projetado para funcionar com documentos PS, EPS e XPS de dentro dos aplicativos Java. O conversor integrado da API permite realizar a conversão de alta qualidade de XPS para formatos de imagem raster, incluindo imagens PNG, JPEG, BMP e TIFF. Você pode baixar o JAR da API ou instalá-lo em seus aplicativos baseados em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-page</artifactId>
    <version>20.11</version>
</dependency>

Converter XPS para imagens raster em Java

Aspose.Page para Java fornece classes separadas para customizar o XPS para conversão de imagem raster. Por exemplo, você pode definir a resolução da imagem de saída, especificar as páginas que deseja converter e assim por diante. A seguir está a lista das classes que você pode usar de acordo.

Converter XPS para PNG em Java

A seguir estão as etapas para converter os documentos XPS em imagens PNG usando Aspose.XPS para Java.

O exemplo de código a seguir mostra como converter XPS em PNG usando Java.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-page/Aspose.Page-for-Java
// O caminho para o diretório de documentos.
String dataDir = Utils.getDataDir();
// Carregar documento XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Inicialize o objeto de opções com os parâmetros necessários.
com.aspose.xps.rendering.PngSaveOptions options = new com.aspose.xps.rendering.PngSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// Criar dispositivo de renderização para formato PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Iterar através de partições de documentos (documentos fixos, em termos XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Iterar através de páginas de partição
    for (int j = 0; j < device.getResult()[i].length; j++) {
        // Inicializar o fluxo de saída de imagem
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
        // Gravar imagem
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Converter XPS para JPEG em Java

A seguir estão as etapas para converter XPS para JPEG usando Aspose.Page para Java.

O exemplo de código a seguir mostra como converter XPS em JPEG.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-page/Aspose.Page-for-Java
// O caminho para o diretório de documentos.
String dataDir = Utils.getDataDir();
// Inicializar o fluxo de entrada XPS

// Carregar documento XPS do fluxo
XpsDocument document = new XpsDocument(dataDir + "input.xps");

// Inicialize o objeto de opções com os parâmetros necessários.
com.aspose.xps.rendering.JpegSaveOptions options = new com.aspose.xps.rendering.JpegSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// Criar dispositivo de renderização para formato PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Iterar através de partições de documentos (documentos fixos, em termos XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Iterar através de páginas de partição
    for (int j = 0; j < device.getResult()[i].length; j++) {
        // Inicializar o fluxo de saída de imagem
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoJPEG" + "_" + (i + 1) + "_" + (j + 1) + ".jpeg");
        // Gravar imagem
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Converter XPS para BMP em Java

Você pode converter os arquivos XPS em imagens BMP da mesma forma que fez para PNG e JPEG. A seguir estão os passos para isso.

O exemplo de código a seguir mostra como converter um arquivo XPS em BMP.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-page/Aspose.Page-for-Java
// O caminho para o diretório de documentos.
String dataDir = Utils.getDataDir();
// Carregar documento XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Inicialize o objeto de opções com os parâmetros necessários.
com.aspose.xps.rendering.BmpSaveOptions options = new com.aspose.xps.rendering.BmpSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[]{1, 2, 6});

// Criar dispositivo de renderização para formato PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Iterar através de partições de documentos (documentos fixos, em termos XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Iterar através de páginas de partição
    for (int j = 0; j < device.getResult()[i].length; j++) {
        // Inicializar o fluxo de saída de imagem
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoBMP" + "_" + (i + 1) + "_" + (j + 1) + ".bmp");
        // Gravar imagem
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Converter XPS para TIFF em Java

A seguir estão as etapas para converter um documento XPS em uma imagem TIFF.

O exemplo de código a seguir mostra como converter documento XPS em imagem TIFF em Java.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-page/Aspose.Page-for-Java
// O caminho para o diretório de documentos.
String dataDir = Utils.getDataDir();
// Carregar documento XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Inicialize o objeto de opções com os parâmetros necessários.
com.aspose.xps.rendering.TiffSaveOptions options = new com.aspose.xps.rendering.TiffSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// Criar dispositivo de renderização para formato PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Iterar através de partições de documentos (documentos fixos, em termos XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Iterar através de páginas de partição
    for (int j = 0; j < device.getResult()[i].length; j++) {
        // Inicializar o fluxo de saída de imagem
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoTIFF" + "_" + (i + 1) + "_" + (j + 1) + ".tif");
        // Gravar imagem
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Conclusão

Neste artigo, você aprendeu como converter arquivos XPS em formatos de imagem raster usando Java. O guia passo a passo, referências de API e exemplos de código mostraram como converter XPS em imagens PNG, JPEG, TIFF e BMP. Você pode explorar outros recursos da API Java XPS usando a documentação.

Veja também