PDFBox之文档创建
1.创建一个空的PDF
下面的小例子表示如何使用PDFBox来创建一个新的PDF文档。
// 创建一个空的文档
PDDocument document = new PDDocument();
// 创建一个空的Page然后添加到文档中
PDPage blankPage = new PDPage();
document.addPage( blankPage );
// 保存文档
document.save("BlankPage.pdf");
// 一定要确保最后文档是别关闭的
document.close();
1.1举例说明
public static void createPDFFile() {
PDDocument document = null;
PDPage blankPage = null;
try {
document = new PDDocument();
blankPage = new PDPage();
document.addPage(blankPage);
document.save("D:" + File.separator + "pdfBox.pdf");
} catch (COSVisitorException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.使用PDF字体的Hello World
// 创建一个文档并且添加一个Page
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage( page );
// 创建一个FONTT
PDFont font = PDType1Font.HELVETICA_BOLD;
// 创建一个待加入的文档流
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// 使用选择的字体定义一个文本内容
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Hello World" );
contentStream.endText();
// 关闭内容流
contentStream.close();
// 保存结果并且关闭文档对象
document.save( "Hello World.pdf");
document.close();
2.1举例说明
public static void usePdfFont() {
PDDocument document = new PDDocument();
PDPage page = new PDPage();
PDPageContentStream contentStream = null;
PDFont font = PDType1Font.HELVETICA_BOLD;
try {
document.addPage(page);
contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont(font, 12);
contentStream.moveTextPositionByAmount(100, 700);
contentStream.drawString("Hello World");
contentStream.endText();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
contentStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
document.save("D:" + File.separator + "Hello World.pdf");
} catch (COSVisitorException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
PDFBox之文档创建的更多相关文章
- -bash: 无法为立即文档创建临时文件: 设备上没有空间---记一次报错
故障发生原因 测试环境,之前用该机器做过docker-compose,后来有需要用到该机器上的docker环境,需要将旧的docker容器全部删除,由于之前启动是使用docker-compose启动的 ...
- 管理员技术(二): 访问练习用虚拟机、 命令行基础技巧 、 挂载并访问光盘设备、ls列表及文档创建、复制删除移动
一.访问练习用虚拟机 目标: 学会在教学环境中访问练习用虚拟机,主要完成以下事项: 1> 快速重置教学虚拟机环境 2> 通过“虚拟系统管理器”访问虚拟机 3> ...
- 使用Dom4j对XML文档创建与解析
创建XML文件: public class Dom4jCreateXml { public void testCreatXml() { //创建文档对象 Document document = Doc ...
- 第07章:MongoDB-CRUD操作--文档--创建
①语法 insert() save() --有修改没有新增 insertOne() [3.2版本新增]向指定集合中插入一条文档数据 insertMany() [3.2版本新增]向指定集合中插入多条文 ...
- dom4j的下载 在线文档 创建用户库
- 在C#中创建word文档
在下面文档中 首先引用word组件:Microsoft.Office.Interop.Word 在头文件中写上 using Word = Microsoft.Office.Interop.Word; ...
- lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3
前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...
- Elasticsearch 创建、更新、删除文档、处理冲突
----创建新文档---- 1._index,_type和_id的组合可以唯一标识一个文档,所以确保一个新文档的最简单的办法就是,使用索引请求的POST形式让elsticsearch自动生成唯一_id ...
- XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)
以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...
随机推荐
- Spring 通过来AOP 实现前置,环绕,异常通知,注解(转)
本节主要内容: 1. Spring AOP前置通知案例 2. Spring AOP环绕通知案例 3. Spring AOP异常通知案例 4. Spring AOP注解使 ...
- CSS截取字符串,额外的文本显示以省略号
最近的诀窍css还有这么叼炸天的侧~~~ 善待似论坛页面,头像70px,但username不限啊,English中国能够.你说如果他采取"我的名字是这么长啊.你该怎么办呢".那老和 ...
- HDOJ 1753 明朝A+B
http://acm.hdu.edu.cn/showproblem.php? pid=1753 大明A+B Time Limit: 3000/1000 MS (Java/Others) M ...
- Content://sms
package com.example.sms; import android.app.Activity; import android.app.Notification; import androi ...
- 如何基于对话框的project基于改变BCG的
一,stdafx.h 增加在下面的例子.BCGCBProInc.h间接介绍lib. #include <BCGCBProInc.h> // BCGControlBar Pro #if ...
- Asp.Netserver控制发展Grid实现(一个)UI转让
使用Asp.Net办Web开发时间,控制系统提供了,目的,有时很难达到理想的.然后,有几种方法来解决,例如,使用html+js形式,在所需界面的布局的前端,然后通过ajax和其他方式获得的数据.为了实 ...
- krpano漫游加方向性3D声音(这篇文章已被移到krpano中国网站 krpano360.com)
需求: 在场景转换视角时.会出现不同方位的声音以及对应的音量变化,也即是将声音视作hotspot.当视角转到该声音热点时,也随之听到声音.官方样例:点击打开链接 本文已经搬迁到下述网址.请点 ...
- Nyoj 三国志(dijkstra+01背包)
描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下,地图上只有他一方势力,现在他只有一个城池,而他周边有一些无人占的空城,但是这些空城中 ...
- Tips & Tricks:Apache log4j简明教程(二)
在上一讲Apache log4j简明教程(一)中介绍了log4j的基本概念,配置文件,以及将日志写入文件的方法,并给出了一个详细的示例.这一讲,我在继续谈一谈如何使用log4j将日志写入MySQL数据 ...
- [WF4.0 实战] WPF + WCF + WF 打造Hello World(基础篇)
本篇博客是一个基础的演示样例,也就是一个新手教程吧!让大家熟悉一下WPF + WCF + WF三者的关系!这仅仅是一个基础篇,下篇会继续深入,作为这段时间研究工作流的一个小小总结! 三者关系: WPF ...