Como converter GIF para PDF em Java

Como converter GIF para PDF em Java

O formato de arquivo PDF é um dos arquivos baseados em vetor mais populares. Por outro lado, GIF é baseado em imagens raster e oferece muito quando se trata de mostrar imagens como uma animação. Nesta postagem do blog, você aprenderá como converter GIF para PDF no aplicativo Java. Portanto, você instalará este processamento de documentos biblioteca para criar programaticamente um conversor de GIF para PDF. Automatizar o processo de conversão de GIF para PDF definitivamente dará ao seu aplicativo de negócios uma vantagem competitiva.

Você passará pelos seguintes pontos:

Conversão de GIF para PDF - instalação da API

Esta biblioteca de processamento de documentos é muito simples de instalar em seu projeto Java. No entanto, você pode baixar o arquivo JAR ou instalar esta biblioteca usando as seguintes configurações do Maven.

<repository>
   <id>AsposeJavaAPI</id>
   <name>Aspose Java API</name>
   <url>https://releases.aspose.com/java/repo/</url>
 </repository> 
<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-words</artifactId>
  <version>22.10</version>
  <classifier>jdk17</classifier>
</dependency>

Como converter GIF para PDF em Java

Depois que a biblioteca estiver instalada, você poderá começar a escrever o código-fonte para criar um conversor de GIF para PDF programaticamente.

Você pode seguir as etapas e o trecho de código fornecido abaixo:

  1. Instancie uma instância da classe Document.
  2. Inicializa um objeto da classe DocumentBuilder e vincula o objeto Document.
  3. Agora, carregue o arquivo GIF de origem e crie um fluxo de imagem chamando o método createImageInputStream que recebe a entrada do objeto File.
  4. Crie um objeto da classe ImageReader, acesse o método getImageReaders que retorna um Iterator contendo todos os ImageReaders atualmente registrados que afirmam poder decodificar o Object fornecido, normalmente um ImageInputStream.
  5. Invoque o método setInput que define a fonte de entrada a ser usada para o ImageInputStream ou outro objeto fornecido.
  6. Obtenha o número de quadros na imagem chamando o método getNumImages.
  7. Faça um loop em todos os quadros.
  8. Insira uma quebra de seção antes de cada nova página, no caso de uma imagem com vários quadros, chamando o método insertBreak.
  9. Selecione o quadro ativo chamando o método read.
  10. Obtenha a configuração da página atual chamando o método getPageSetup e atribuindo-o ao objeto de classe PageSetup.
  11. Invoque o método setPageWidth para definir a largura da página.
  12. O método setPageHeight salvará a altura da página.
  13. Chame o método insertImage para inserir a imagem no documento e posicioná-la no canto superior esquerdo da página.
  14. Salve o arquivo no formato de arquivo PDF invocando o método save.

Copie e cole o seguinte código em seu arquivo principal:

 // Instanciar uma instância da classe Document. 
 Document doc = new Document();
 // Inicializa um objeto da classe DocumentBuilder e vincula o objeto Document. 
 DocumentBuilder builder = new DocumentBuilder(doc);
 // Agora, carregue o arquivo GIF de origem e crie um fluxo de imagem chamando o método createImageInputStream que recebe a entrada do objeto File.  
 ImageInputStream iis = ImageIO.createImageInputStream(new File("sample.gif"));
 // Crie um objeto da classe ImageReader, acesse o método getImageReaders que retorna um Iterator contendo todos os ImageReaders atualmente registrados que afirmam poder decodificar o Object fornecido, normalmente um ImageInputStream. 
 ImageReader reader = ImageIO.getImageReaders(iis).next();
 // Invoque o método setInput que define a fonte de entrada a ser usada para o ImageInputStream ou outro Object fornecido. 
 reader.setInput(iis, false);
 // Obtenha o número de quadros na imagem chamando o método getNumImages.
 int framesCount = reader.getNumImages(true);
 // Faça um loop em todos os quadros.
 for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
     // Insira uma quebra de seção antes de cada nova página, no caso de uma imagem com vários quadros, chamando o método insertBreak. 
     if (frameIdx != 0)
         builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
     // Selecione o quadro ativo chamando o método read. 
     BufferedImage image = reader.read(frameIdx);
     // Obtenha a configuração da página atual chamando o método getPageSetup e atribuindo-o ao objeto de classe PageSetup. 
     PageSetup ps = builder.getPageSetup();
     // Invoque o método setPageWidth para definir a largura da página. 
     ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
     // setPageHeight salvará a altura da página. 
     ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
     // Chame o método insertImage para inserir a imagem no documento e posicioná-la no canto superior esquerdo da página. 
     builder.insertImage(
             image,
             RelativeHorizontalPosition.PAGE,
             0,
             RelativeVerticalPosition.PAGE,
             0,
             ps.getPageWidth(),
             ps.getPageHeight(),
             WrapType.NONE);
 }

 if (iis != null) {
     iis.close();
     reader.dispose();
 }
 // Salve o arquivo como formato de arquivo PDF invocando o método save. 
 doc.save("gifToPdf.pdf");

A saída pode ser vista na imagem abaixo:

Conversor de GIF para PDF

Obtenha uma licença gratuita

Você pode aproveitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Resumindo

Estamos encerrando esta postagem do blog aqui. você aprendeu como converter GIF para PDF em Java usando algumas linhas de código-fonte. Além disso, você pode instalar esta biblioteca de processamento de documentos para construir um conversor de GIF para PDF programaticamente. Além disso, você pode visitar a documentação para conhecer outros recursos interessantes.

Além disso, sugerimos que você siga nosso Guia de primeiros passos.

Finalmente, conholdate.com está escrevendo novas postagens no blog. Então, por favor, fique em contato para atualizações regulares.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou dúvidas em nosso fórum.

perguntas frequentes

Como converter um GIF para PDF?

Você pode realizar a conversão de GIF para PDF programaticamente usando esta biblioteca Java. Além disso, visite este link para obter o snippet do cope.

Veja também