Aspose.PDF for Java系列4-基本操作
Aspose.PDF for Java系列4-基本操作
一、创建PDF文档
如何用Java创建PDF文件?
参考以下步骤:
- 初始化Document对象。
- 添加Page到Document对象。
- 创建TextFragment对象。
- 添加TextFragment到怕个的Paragraph集合。
- 保存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-基本操作相关推荐
- Aspose.PDF for Java系列8-转化HTML为PDF
Aspose.PDF for Java系列8-转化HTML为PDF 转化HTML为PDF 主要分为以下步骤: 创建一个HtmlLoadOptions类. 实例化Document对象. 调用Docume ...
- Aspose.PDF for Java系列5-转化PDF文档为Word
Aspose.PDF for Java系列5-转化PDF文档 DocFormat枚举类提供了DOCX格式的文件输出格式选项.如果你想要将PDF转化为DOCX格式,请参考本文下面的内容. PDF转化为D ...
- Aspose.PDF for Java 20.x
Java 20.4的Aspose.PDF丘鹅:2632386263 Aspose.系列套件最全 Aspose.PDF for Java是一种快速,轻量级的处理API,可在不使用Adobe Acrob ...
- Aspose.PDF for Java 21.6 Crack
Aspose.PDF for Java 21.6 Aspose.PDF for Java 是一种快速.轻量级的处理API,
- Aspose.PDF for Java 21.4 Crack
Aspose.PDF for Java 21.4 Crack Aspose.PDF for Java是一种快速,轻量级的处理API,可在不使用Adobe Acrobat的情况下创建,修改,渲染,保护和 ...
- Aspose.Pdf 系列组件介绍
2019独角兽企业重金招聘Python工程师标准>>> Aspose.Pdf系列产品 Aspose.Pdf for .NET 目标Windows窗体,ASP.NET,WPF,WCF或 ...
- Java工程师福利!1分钟学会使用Aspose.PDF将PDF转换为PowerPoint PPT / PPTX
由于PDF具有受支持的功能以及所有平台的稳定性和一致性,PDF已成为使用最广泛的文档格式之一.在各种情况下,会选择以PDF格式保存或共享文档.但是,在某些情况下,可能需要将PDF的内容导出到Power ...
- java使用Aspose.pdf实现pdf转图片
主要步骤 使用Aspose进行文档转换,首先引入相应的jar包到系统环境 项目resource下导入license.xml文件 使用Aspose时,需要调用设置License方法,设置完成第一次转换比 ...
- aspose pdf java,Java 使用aspose.pdf将多张图片转成pdf的方法及示例代码
1.Aspose组件下载 2、多张图片转成pdf 1) 验证license/** * 获取license * * @return */ public static boolean getLicense ...
最新文章
- (未完)httpd进程数查询,prefork模式修改apache最大连接数
- 测试TI高速MOS驱动芯片 TPS28225 伴随着MOS半桥
- ES6中的Promise使用方法与总结
- [云炬创业学笔记]第二章决定成为创业者测试16
- python统计字典里面value出现的次数_python统计字典中元素出现的次数
- 离群点(oulier)挖掘详解
- JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)
- 体系结构方案 -ETL 中间件
- Angular2快速入门-1.创建第一个app
- IIS7.5标识介绍
- 车联网相关知识点整理
- 暴风影音CTO:暴风门事件给研发团队带来的启示
- wow模型修改器_魔兽世界改模型 wow大脚模型修改器
- 电商项目——商品分类/品牌查询
- SQL Server 数据库安装教程SQL Server 2017
- 克隆虚拟机后的IP、路由配置以及mac地址冲突解决
- 2.CPU体系架构-寄存器
- sdut-3386 小雷的冰茶几
- 编写高质量的代码——从命名入手
- android material design主题在线配色
热门文章
- java线程池理解与实践
- 基于javafx和虹软ArcFace的高校新生人脸录入与识别系统
- 一大波好看的国产漫画来袭,在线动漫迷们做好准备了吗?
- 长庆油田嬗变记:“骑着毛驴”踏上“信息高速路”
- Redis批量启停脚本
- mysql数字型检索比字符型检索快_mysql温故知新
- 乌克兰启动国家政策使加密货币合法化
- 国内链改思路是什么?
- AutoCAD 2010中文版从入门与精通视频教程
- Qt + 觸控 移植 – Qt and Touch Screen Porting to SBC6446 with LEOs for DaVinci