Java converte Word em imagens (JPG, PNG e SVG)

2023-11-06 09:17:02

Instalar com Maven

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.doc</artifactId>
    <version>12.2.2</version>
</dependency>
    

Links Relacionados

Existem muitos motivos pelos quais você pode precisar converter documentos do Word em imagens. Por exemplo, muitos dispositivos podem abrir e exibir imagens diretamente, sem qualquer software especial, e quando as imagens são transmitidas, é difícil adulterar seu conteúdo. Neste artigo você aprenderá como converta Word em formatos de imagem populares como JPG, PNG e SVG usando Spire.Doc for Java.

Instale Spire.Doc for Java

Primeiro, você precisa adicionar o arquivo Spire.Doc.jar como uma dependência em seu programa Java. O arquivo JAR pode ser baixado neste link. Se você usa Maven, pode importar facilmente o arquivo JAR em seu aplicativo adicionando o código a seguir ao arquivo pom.xml do seu projeto.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>12.11.0</version>
    </dependency>
</dependencies>
    

Converta Word para JPG em Java

Spire.Doc for Java oferece o método Document.saveToImages() para converter um documento Word inteiro em imagens BufferedImage individuais. Então, cada BufferedImage pode ser salvo como um arquivo BMP, EMF, JPEG, PNG, GIF ou WMF. A seguir estão as etapas para converter Word em JPG usando esta biblioteca.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.loadFromFile().
  • Converta o documento em imagens BufferedImage usando o método Document.saveToImages().
  • Percorra a coleção de imagens para obter aquela específica.
  • Reescreva a imagem com espaço de cores diferente.
  • Grave o BufferedImage em um arquivo JPG.
  • Java
import com.spire.doc.Document;
    import com.spire.doc.documents.ImageType;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    public class ConvertWordToJPG {
    
        public static void main(String[] args) throws IOException {
    
            //Create a Document object
            Document doc = new Document();
    
            //Load a Word document
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");
    
            //Convert the whole document into individual buffered images
            BufferedImage[] images = doc.saveToImages(ImageType.Bitmap);
    
            //Loop through the images
            for (int i = 0; i < images.length; i++) {
    
                //Get the specific image
                BufferedImage image = images[i];
    
                //Re-write the image with a different color space
                BufferedImage newImg = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
                newImg.getGraphics().drawImage(image, 0, 0, null);
    
                //Write to a JPG file
                File file = new File("C:\\Users\\Administrator\\Desktop\\Images\\" + String.format(("Image-%d.jpg"), i));
                ImageIO.write(newImg, "JPEG", file);
            }
        }
    }

Converter Word em SVG em Java

Usando o Spire.Doc for Java, você pode salvar um documento do Word como uma lista de matrizes de bytes. Cada matriz de bytes pode então ser escrita como um arquivo SVG. As etapas detalhadas para converter Word em SVG são as seguintes.

  • Crie um objeto Documento.
  • Carregue um arquivo Word usando o método Document.loadFromFile().
  • Salve o documento como uma lista de matrizes de bytes usando o método Document.saveToSVG().
  • Percorra os itens da lista para obter uma matriz de bytes específica.
  • Grave a matriz de bytes em um arquivo SVG.
  • Java
import com.spire.doc.Document;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.List;
    
    public class ConvertWordToSVG {
    
        public static void main(String[] args) throws IOException {
    
            //Create a Document object
            Document doc = new Document();
    
            //Load a Word document
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");
    
            //Save the document as a list of byte arrays
            List<byte[]> svgBytes = doc.saveToSVG();
    
            //Loop through the items in the list
            for (int i = 0; i < svgBytes.size(); i++)
            {
                //Get a specific byte array
                byte[] byteArray = svgBytes.get(i);
    
                //Specify the output file name
                String outputFile = String.format("Image-%d.svg", i);
    
                //Write the byte array to a SVG file
                try (FileOutputStream stream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\Images\\" + outputFile)) {
                    stream.write(byteArray);
                }
            }
        }
    }

Converta Word em PNG com resolução personalizada

Uma imagem com resolução mais alta geralmente é mais nítida. Você pode personalizar a resolução da imagem ao converter Word para PNG seguindo as etapas a seguir.

  • Crie um objeto Documento.
  • Carregue um arquivo Word usando o método Document.loadFromFile().
  • Converta o documento em imagens BufferedImage com a resolução especificada usando o método Document.saveToImages().
  • Percorra a coleção de imagens para obter aquela específica e salve-a como um arquivo PNG.
  • Java
import com.spire.doc.Document;
    import com.spire.doc.documents.ImageType;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    public class ConvertWordToPNG {
    
        public static void main(String[] args) throws IOException {
    
            //Create a Document object
            Document doc = new Document();
    
            //Load a Word document
            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\ConvertTemplate.docx");
    
            //Convert the whole document into individual buffered images with customized resolution
            BufferedImage[] images = doc.saveToImages(0, doc.getPageCount(), ImageType.Bitmap, 150, 150);
    
            //Loop through the images
            for (int i = 0; i < images.length; i++) {
    
                //Get the specific image
                BufferedImage image = images[i];
    
                //Write to a PNG file
                File file = new File("C:\\Users\\Administrator\\Desktop\\Images\\" + String.format(("Image-%d.png"), i));
                ImageIO.write(image, "PNG", file);
            }
        }
    }

Java: Convert Word to Images (JPG, PNG and SVG)

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também