彩票走势图

logo Aspose.PDF使用教程
文档彩票走势图>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用Java从图像生成PDF文件

Aspose.PDF功能演示:使用Java从图像生成PDF文件


在各种情况下,可能需要将图像集合转换为PDF文件。例如,可能希望将相册中的所有图像插入单个PDF文件中。另一方面,可能需要根据扫描文档的图像生成PDF。为了处理这种情况,本文介绍了如何使用Java从多个图像生成PDF。

  • 使用Java从图像生成PDF

Aspose.PDF for Java是功能强大的API,可提供基本以及高级的PDF操作功能。它使您可以轻松生成新的PDF文件并修改现有的PDF文件。感兴趣的朋友可点击下方按钮下载最新版。

点击下载最新版Aspose.PDF for Java


使用Java从图像生成PDF

以下是我们将根据本文中的图像生成PDF文件的步骤。

  • 首先,创建一个新的PDF文档。
  • 获取数组中图像文件名的列表。
  • 对于列表中的每个图像文件,请执行以下操作:
    • 将新页面添加到PDF文档并设置其属性。
    • 从列表中将每个图像文件加载到文件流中。
    • 将图像添加到页面的段落集合中。
  • 最后,保存PDF文档。

现在让我们看看如何使用Aspose.PDF for Java实现上述每个步骤。

  • 创建一个Document类的实例。
  • 使用java.io.File类获取数组中图像的文件名列表。
  • 对于列表中的每个图像文件,请执行以下操作:
    • 使用Document.getPages()。add()方法将新页面添加到PDF文档并设置页面的属性。
    • 将图像文件加载到FileInputStream对象中。
    • 使用Page.getParagraphs()。add(Image)方法将新图像添加到页面。
    • 使用Image.setImageStream(FileInputStream)方法设置图像的流。
  • 最后,使用Document.save(String)方法保存PDF文档。

以下代码示例显示了如何从Java中的图像生成PDF文件。

// Instantiate Document Object
Document doc = new Document();

// Access image files in the folder
String imageDir = "D:/Images/";
File file = new File(imageDir);
String[] fileList = file.list();

for (String fileName : fileList) {
	// Add a page to pages collection of document
	Page page = doc.getPages().add();

	// Load the source image file to Stream object
	java.io.FileInputStream fs = new java.io.FileInputStream(imageDir + fileName);

	// Set margins so image will fit, 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));

	// Create an image object
	Image image1 = new Image();

	// Add the image into paragraphs collection of the section
	page.getParagraphs().add(image1);

	// Set the image file stream
	image1.setImageStream(fs);
}

// Save resultant PDF file
doc.save("document.pdf");

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP