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之文档创建的更多相关文章

  1. -bash: 无法为立即文档创建临时文件: 设备上没有空间---记一次报错

    故障发生原因 测试环境,之前用该机器做过docker-compose,后来有需要用到该机器上的docker环境,需要将旧的docker容器全部删除,由于之前启动是使用docker-compose启动的 ...

  2. 管理员技术(二): 访问练习用虚拟机、 命令行基础技巧 、 挂载并访问光盘设备、ls列表及文档创建、复制删除移动

    一.访问练习用虚拟机 目标: 学会在教学环境中访问练习用虚拟机,主要完成以下事项: 1> 快速重置教学虚拟机环境       2> 通过“虚拟系统管理器”访问虚拟机       3> ...

  3. 使用Dom4j对XML文档创建与解析

    创建XML文件: public class Dom4jCreateXml { public void testCreatXml() { //创建文档对象 Document document = Doc ...

  4. 第07章:MongoDB-CRUD操作--文档--创建

    ①语法 insert() save()  --有修改没有新增 insertOne() [3.2版本新增]向指定集合中插入一条文档数据 insertMany() [3.2版本新增]向指定集合中插入多条文 ...

  5. dom4j的下载 在线文档 创建用户库

  6. 在C#中创建word文档

    在下面文档中  首先引用word组件:Microsoft.Office.Interop.Word 在头文件中写上 using Word = Microsoft.Office.Interop.Word; ...

  7. lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3

    前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...

  8. Elasticsearch 创建、更新、删除文档、处理冲突

    ----创建新文档---- 1._index,_type和_id的组合可以唯一标识一个文档,所以确保一个新文档的最简单的办法就是,使用索引请求的POST形式让elsticsearch自动生成唯一_id ...

  9. XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

    以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

随机推荐

  1. CGI原理解析系列之中的一个----CGI怎样获取WEBserver数据

    //gcc get_post.c -o get_post.ums; #include <stdio.h> #include <stdlib.h> #include <un ...

  2. Grant的时候报错的解决:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)

    mysql> grant all on *.* to 'root'@'192.168.1.1' identified by 'password'; ERROR 1045 (28000): Acc ...

  3. RH253读书笔记(9)-Lab 9 Account Management Methods

    Lab 9 Account Management Methods Goal: To build skills with PAM configuration Sequence 1: Track Fail ...

  4. backup mysql for xtrabackup with xbstream and lz4

    极品暂时mysql加入一个实例,采用xtrabackup最简单的速度. 在现有数据节点上: /home/work/app/xtrabackup-2.2.3/innobackupex --ibbacku ...

  5. Javascript继承之最佳实践

    尊重原创,转载请注明出处:http://blog.csdn.net/zoutongyuan 什么是继承? 继承是面向对象最显著的一个特性.继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和 ...

  6. JSP/Servlet线程安全

    携带servlet开发时间.线程安全是非常重要的.否则会导致一些意想不到的结果. Servlet的生命周期是由Web负责集装箱,什么时候client第一个请求Servlet时间,容器负责初始化Serv ...

  7. linux下面的中断处理软件中断tasklet机制

    參考: <Linux内核设计与实现> http://blog.csdn.net/fontlose/article/details/8279113 http://blog.chinaunix ...

  8. Oracle查询速度慢的原因总结

    Oracle查询速度慢的原因总结 查询速度慢的原因很多,常见如下几种:1,没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2,I/O吞吐量小,形成了瓶颈效应.3,没有创建计算列导致 ...

  9. Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式

    写了一个正整数或小数点或分数前两个正则表达式 /^[0-9]+([.]{1}[0-9]{1,2})? $/ 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  10. Robot Framework自动化测试(一)---第一个脚本(转)

    最近工具中用Robot Framework框架来做自动化,所以,花时间学习了一下. =======所需环境=================== Python: https://www.python. ...