Em vários casos, pode ser necessário converter uma coleção de imagens em um arquivo PDF. Por exemplo, você pode inserir todas as imagens de um álbum em um único arquivo PDF. Por outro lado, pode ser necessário gerar PDF a partir das imagens de um documento digitalizado. Para realizar a conversão de imagem para PDF, este artigo aborda como gerar um PDF a partir de várias imagens usando Java.

API Java para conversão de imagem em PDF

Aspose.PDF for Java é uma API poderosa que fornece recursos básicos e avançados de manipulação de PDF. Permite gerar novos arquivos PDF e modificar os existentes com bastante facilidade. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do 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-pdf</artifactId>
    <version>21.2</version>
</dependency>

Etapas para gerar PDF a partir de imagens

A seguir estão as etapas que seguiremos para gerar um arquivo PDF a partir das imagens deste artigo.

  • Primeiro, crie um novo documento PDF.
  • Obtenha a lista dos nomes dos arquivos das imagens em uma matriz.
  • Para cada arquivo de imagem na lista, faça o seguinte:
    • Adicione uma nova página ao documento PDF e defina suas propriedades.
    • Carregue cada arquivo de imagem em um fluxo de arquivos da lista.
    • Adicione imagem à coleção de parágrafos da página.
  • Por fim, salve o documento PDF.

Gerar PDF a partir de imagens usando Java

Vamos agora verificar como implementar cada uma das etapas mencionadas acima usando o Aspose.PDF para Java.

O exemplo de código a seguir mostra como gerar um arquivo PDF a partir de imagens em Java.

// Instanciar objeto de documento
Document doc = new Document();

// Acesse os arquivos de imagem na pasta
String imageDir = "D:/Images/";
File file = new File(imageDir);
String[] fileList = file.list();

for (String fileName : fileList) {
	// Adicionar uma página à coleção de páginas do documento
	Page page = doc.getPages().add();

	// Carregar o arquivo de imagem de origem para o objeto Stream
	java.io.FileInputStream fs = new java.io.FileInputStream(imageDir + fileName);

	// Defina as margens para que a imagem caiba, etc.
	page.getPageInfo().getMargin().setBottom(0);
	page.getPageInfo().getMargin().setTop(0);
	page.getPageInfo().getMargin().setLeft(0);
	page.getPageInfo().getMargin().setRight(0);
	page.setCropBox(new com.aspose.pdf.Rectangle(0, 0, 400, 400));

	// Criar um objeto de imagem
	Image image1 = new Image();

	// Adicione a imagem na coleção de parágrafos da seção
	page.getParagraphs().add(image1);

	// Definir o fluxo do arquivo de imagem
	image1.setImageStream(fs);
}

// Salve o arquivo PDF resultante
doc.save("document.pdf");

Obtenha uma licença de API gratuita

Caso queira experimentar a API sem limitações de avaliação, você pode obter uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como gerar um arquivo PDF com base em várias imagens usando Java. O guia passo a passo e o exemplo de código demonstraram como buscar imagens de uma pasta e inseri-las no PDF. Você pode explorar mais sobre a API Java PDF usando documentação.

Veja também