温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用Aspose.words在Java中将Word和图像转换为PDF

发布时间:2021-11-30 14:33:59 来源:亿速云 阅读:414 作者:iii 栏目:大数据

本篇内容主要讲解“怎么使用Aspose.words在Java中将Word和图像转换为PDF”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Aspose.words在Java中将Word和图像转换为PDF”吧!

将Word文档转换为PDF

从Word到PDF的转换是一个相当复杂的过程,需要几个计算阶段。Aspose.Words布局引擎模仿了Microsoft Word的页面布局引擎的工作方式,使PDF输出文档看起来与Microsoft Word中所看到的尽可能接近。使用Aspose.Words,您可以通过编程方式将文档从DOC或DOCX格式转换为PDF,而无需使用Microsoft Office。本文介绍了如何执行此转换。

请注意,文档中的页数会影响转换时间。

将DOC或DOCX转换为PDF

在Aspose.Words中从DOC或DOCX文档格式转换为PDF格式非常容易,只需两行代码即可完成:

  • 通过使用扩展名指定文档名称,使用其构造函数之一将文档加载到 Document对象中。

  • 调用Document对象上的Document.Save方法 之一,并通过输入扩展名为“ .PDF”的文件名将所需的输出格式指定为PDF。

下面的代码示例演示如何使用Save方法将文档从DOCX转换为PDF:

// Load the document from disk.
Document doc = new Document(dataDir + "Template.doc");

// Save the document in PDF format.
dataDir = dataDir + "output.pdf";
doc.save(dataDir);

请注意,使用相同的技术,可以将任何流程布局格式的文档转换为PDF格式。

转换为各种PDF标准

Aspose.Words提供 PdfCompliace 枚举以支持将DOC或DOCX转换为各种PDF格式标准(例如PDF 1.7,PDF 1.5等)。下面的代码示例演示如何将文档转换为PDF使用1.7 PdfSaveOptions 与符合PDF17:

// The path to the documents directory.
Document originalDoc = new Document(dataDir + "Document.docx");

// Provide PDFSaveOption compliance to PDF17
// or just convert without SaveOptions
PdfSaveOptions pso = new PdfSaveOptions();
pso.setCompliance(PdfCompliance.PDF_17);

originalDoc.save(dataDir + "Output.pdf", pso);
将图像转换为PDF

转换为PDF不受Microsoft Word文档格式的限制。Aspose.Words支持的任何格式,包括以编程方式创建的格式,都可以转换为PDF。例如,我们可以将单页图像(例如JPEG,PNG,BMP,EMF或WMF)以及多页图像(例如TIFF和GIF)转换为PDF。

下面的代码示例演示如何将JPEG和TIFF图像转换为PDF:

//将指定格式的图像转换为PDF。
ConvertImageToPDF(dataDir +  “ Test.jpg ”,dataDir +  “ TestJpg_out.pdf ”);
ConvertImageToPDF(dataDir +  “ Test.tiff ”,dataDir +  “ TestTif_out.pdf ”);
/**
 * Converts an image to PDF using Aspose.Words for Java.
 *
 * @param inputFileName File name of input image file.
 * @param outputFileName Output PDF file name.
 * @throws Exception
 */
 public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {
 // Create Aspose.Words.Document and DocumentBuilder.
 // The builder makes it simple to add content to the document.
 Document doc = new Document();
 DocumentBuilder builder = new DocumentBuilder(doc);
  
 // Load images from the disk using the appropriate reader.
 // The file formats that can be loaded depends on the image readers available on the machine.
 ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
 ImageReader reader = ImageIO.getImageReaders(iis).next();
 reader.setInput(iis, false);
  
 // Get the number of frames in the image.
 int framesCount = reader.getNumImages(true);
  
 // Loop through all frames.
 for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
 // Insert a section break before each new page, in case of a multi-frame image.
 if (frameIdx != 0)
 builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
  
 // Select active frame.
 BufferedImage image = reader.read(frameIdx);
  
 // We want the size of the page to be the same as the size of the image.
 // Convert pixels to points to size the page to the actual image size.
 PageSetup ps = builder.getPageSetup();
 ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
 ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
  
 // Insert the image into the document and position it at the top left corner of the page.
 builder.insertImage(
 image,
 RelativeHorizontalPosition.PAGE,
 0,
 RelativeVerticalPosition.PAGE,
 0,
 ps.getPageWidth(),
 ps.getPageHeight(),
 WrapType.NONE);
 }
  
 if (iis != null) {
 iis.close();
 reader.dispose();
 }
  
 doc.save(outputFileName);
 }

到此,相信大家对“怎么使用Aspose.words在Java中将Word和图像转换为PDF”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI