Aspose.PDF for Java系列4-基本操作

一、创建PDF文档

如何用Java创建PDF文件?

参考以下步骤:

  1. 初始化Document对象。
  2. 添加Page到Document对象。
  3. 创建TextFragment对象。
  4. 添加TextFragment到怕个的Paragraph集合。
  5. 保存PDF文档。

具体代码如下:

// Initialize document object
Document document = new Document();//Add page
Page page = document.getPages().add();// Add text to new page
page.getParagraphs().add(new TextFragment("Hello World!"));// Save updated PDF
document.save("HelloWorld_out.pdf");

二、打开PDF文档

路径形式打开PDF文档

具体代码如下:

package com.aspose.pdf.examples;import java.io.InputStream;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
import com.aspose.pdf.internal.pcl.util.BufferedInputStream;public final class BasicOperationsOpen {private BasicOperationsOpen() {}private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");public static void main(String[] args) {OpenDocument();OpenDocumentStream();OpenDocumentWithPassword();}public static void OpenDocument() {String fileName = _dataDir+"/tourguidev2_gb_tags.pdf";Document pdfDocument = new Document(fileName);System.out.println("Pages +" + pdfDocument.getPages().size());}

流形式打开PDF文档

具体代码如下:

    public static void OpenDocumentStream() {String remoteURL = "https://www.sj.se/content/dam/SJ/pdf/Engelska/";String fileName = "SJPR0033_Folder_Utland_16sid_ENG_web3.pdf";try (BufferedInputStream in = new BufferedInputStream(new java.net.URL(remoteURL + fileName).openStream())) {InputStream inputStream = in;Document pdfDocument = new Document(inputStream);System.out.println("Pages +" + pdfDocument.getPages().size());} catch (Exception e) {System.out.println(e.getMessage());}}

打开加密PDF文档

   public static void OpenDocumentWithPassword() {String fileName = "C:\\tmp\\DocSite.pdf";String pwdStr= "*****";try {Document pdfDocument = new Document(fileName, password);System.out.println("Pages +" + pdfDocument.getPages().size());} catch (Exception  e){System.out.println(e.getMessage());}}
}

三、保存PDF文档

保存PDF文档到文件系统

具体代码如下:

package com.aspose.pdf.examples;import java.io.FileOutputStream;import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;public final class BasicOperationsSave {private BasicOperationsSave() {}private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");public static void main(String[] args) {SaveDocument();SaveDocumentStream();SaveDocumentAsPDFx();}public static void SaveDocument() {String originalFileName = _dataDir + "/SimpleResume.pdf";String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";Document pdfDocument = new Document(originalFileName);// make some manipation, i.g add new empty pagepdfDocument.getPages().add();pdfDocument.save(modifiedFileName);}

保存PDF文档到流

具体代码如下:

public static void SaveDocumentStream() {String originalFileName = _dataDir + "/SimpleResume.pdf";String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";Document pdfDocument = new Document(originalFileName);// make some manipation, i.g add new empty pagepdfDocument.getPages().add();try {pdfDocument.save(new FileOutputStream(modifiedFileName));} catch (Exception e) {System.out.println(e.getMessage());}}

保存PDF文档到web应用

具体代码如下:

    // @RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)// public void getFile(@PathVariable("file_name") String fileName, HttpServletResponse response) {//     try {//         response.setContentType("application/pdf");//         // get your file as InputStream//         InputStream is = new FileInputStream(_dataDir + fileName);//         // copy it to response's OutputStream//         org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());//         response.flushBuffer();//     } catch (IOException ex) {//         log.info("Error writing file to output stream. Filename was '{}'", fileName, ex);//         throw new RuntimeException("IOError writing file to output stream");//     }// }

保存PDF/A或者PDF/X格式

关于PDF/A格式和PDF/X格式

PDF/A是ISO的标准版本,用于将电子文档归档和长期保存。PDF/A禁止了一些功能,比如字体链接和加密。
PDF/X是PDF ISO标准的一个子集。PDF/X的目的是促进图形交换,因此它有一系列与打印相关的要求,而这些要求不适用于标准PDF文件。

用convert方法进行转换,具体代码如下:

public static void SaveDocumentAsPDFx() {Document pdfDocument = new Document("../../../Samples/SimpleResume.pdf");pdfDocument.getPages().add();pdfDocument.convert(new PdfFormatConversionOptions(PdfFormat.PDF_X_3));pdfDocument.save("../../../Samples/SimpleResume_X3.pdf");}
}

Aspose.PDF for Java系列4-基本操作相关推荐

  1. Aspose.PDF for Java系列8-转化HTML为PDF

    Aspose.PDF for Java系列8-转化HTML为PDF 转化HTML为PDF 主要分为以下步骤: 创建一个HtmlLoadOptions类. 实例化Document对象. 调用Docume ...

  2. Aspose.PDF for Java系列5-转化PDF文档为Word

    Aspose.PDF for Java系列5-转化PDF文档 DocFormat枚举类提供了DOCX格式的文件输出格式选项.如果你想要将PDF转化为DOCX格式,请参考本文下面的内容. PDF转化为D ...

  3. Aspose.PDF for Java 20.x

    Java 20.4的Aspose.PDF丘鹅:2632386263  Aspose.系列套件最全 Aspose.PDF for Java是一种快速,轻量级的处理API,可在不使用Adobe Acrob ...

  4. Aspose.PDF for Java 21.6 Crack

    Aspose.PDF for Java 21.6 Aspose.PDF for Java 是一种快速.轻量级的处理API,

  5. Aspose.PDF for Java 21.4 Crack

    Aspose.PDF for Java 21.4 Crack Aspose.PDF for Java是一种快速,轻量级的处理API,可在不使用Adobe Acrobat的情况下创建,修改,渲染,保护和 ...

  6. Aspose.Pdf 系列组件介绍

    2019独角兽企业重金招聘Python工程师标准>>> Aspose.Pdf系列产品 Aspose.Pdf for .NET 目标Windows窗体,ASP.NET,WPF,WCF或 ...

  7. Java工程师福利!1分钟学会使用Aspose.PDF将PDF转换为PowerPoint PPT / PPTX

    由于PDF具有受支持的功能以及所有平台的稳定性和一致性,PDF已成为使用最广泛的文档格式之一.在各种情况下,会选择以PDF格式保存或共享文档.但是,在某些情况下,可能需要将PDF的内容导出到Power ...

  8. java使用Aspose.pdf实现pdf转图片

    主要步骤 使用Aspose进行文档转换,首先引入相应的jar包到系统环境 项目resource下导入license.xml文件 使用Aspose时,需要调用设置License方法,设置完成第一次转换比 ...

  9. aspose pdf java,Java 使用aspose.pdf将多张图片转成pdf的方法及示例代码

    1.Aspose组件下载 2、多张图片转成pdf 1) 验证license/** * 获取license * * @return */ public static boolean getLicense ...

最新文章

  1. (未完)httpd进程数查询,prefork模式修改apache最大连接数
  2. 测试TI高速MOS驱动芯片 TPS28225 伴随着MOS半桥
  3. ES6中的Promise使用方法与总结
  4. [云炬创业学笔记]第二章决定成为创业者测试16
  5. python统计字典里面value出现的次数_python统计字典中元素出现的次数
  6. 离群点(oulier)挖掘详解
  7. JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)
  8. 体系结构方案 -ETL 中间件
  9. Angular2快速入门-1.创建第一个app
  10. IIS7.5标识介绍
  11. 车联网相关知识点整理
  12. 暴风影音CTO:暴风门事件给研发团队带来的启示
  13. wow模型修改器_魔兽世界改模型 wow大脚模型修改器
  14. 电商项目——商品分类/品牌查询
  15. SQL Server 数据库安装教程SQL Server 2017
  16. 克隆虚拟机后的IP、路由配置以及mac地址冲突解决
  17. 2.CPU体系架构-寄存器
  18. sdut-3386 小雷的冰茶几
  19. 编写高质量的代码——从命名入手
  20. android material design主题在线配色

热门文章

  1. java线程池理解与实践
  2. 基于javafx和虹软ArcFace的高校新生人脸录入与识别系统
  3. 一大波好看的国产漫画来袭,在线动漫迷们做好准备了吗?
  4. 长庆油田嬗变记:“骑着毛驴”踏上“信息高速路”
  5. Redis批量启停脚本
  6. mysql数字型检索比字符型检索快_mysql温故知新
  7. 乌克兰启动国家政策使加密货币合法化
  8. 国内链改思路是什么?
  9. AutoCAD 2010中文版从入门与精通视频教程
  10. Qt + 觸控 移植 – Qt and Touch Screen Porting to SBC6446 with LEOs for DaVinci