使用itextpdf操作pdf的实例讲解

使用maven引入jar

<dependency>
  <groupId>com.itextpdf</groupId>
  <artifactId>itextpdf</artifactId>
  <version>5.2.0</version>
</dependency>
<dependency>
  <groupId>com.itextpdf</groupId>
  <artifactId>itext-asian</artifactId>
  <version>5.2.0</version>
</dependency>

创建exportToPDF工具类

package com.os.core.util.file.exportPdf;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.FontSelector;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
/**
 * Created by PengSongHe on 2016/10/20 0020.
 */
public class exportToPDF {
  public static void main(String[] args) {
    try {
      Document document = new Document();//默认A4
      PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/HelloWorld.pdf"));
      writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7);
      document.addCreationDate();
      document.addCreator("飞翔家族");
      document.addTitle("export pdf");
      document.addKeywords("export");
      document.addSubject("飞翔家族 export pdf");
      document.open();
//处理中文,需要itextasian.jar支持
      FontSelector selector = new FontSelector();
      selector.addFont(FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
      selector.addFont(FontFactory.getFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED));
      Phrase phrase = selector.process("HelloWord!你好。\u4fdd\u5b58");
      document.add(new Paragraph(phrase));
      //添加新页
      //document.newPage();
      //writer.setPageEmpty(false);
      //document.add(new Paragraph("New page"));
      document.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (DocumentException e) {
      e.printStackTrace();
    }
  }
}

以上这篇使用itextpdf操作pdf的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java使用itext导出PDF文本绝对定位(实现方法)

    jar:itext-4.2.1.jar 在很多公文的落款处都需要绝对定位,所以记录此代码如下: PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf")); PdfContentByte cb = writer.getDirectContent(); BaseFont bf= BaseFont.createFont("STSong-Light", "

  • java使用pdfbox操作pdf文件示例

    还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:FontBox是一个处理PDF字体的java类库:JempBox是一个处理XMP元数据的java类库. 一个简单示例: 要引入pdfbox-app-1.6.0.jar这个包. 复制代码 代码如下: package pdf; import java.io.File;import java.net.MalformedURLException; import org.apache.pdfbox.pdmodel.PDDo

  • 使用itextpdf操作pdf的实例讲解

    使用maven引入jar <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactI

  • python 3.6 +pyMysql 操作mysql数据库(实例讲解)

    版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# # -*- coding: utf-8

  • sqlite数据库的介绍与java操作sqlite的实例讲解

    sqlite是啥? 1.一种轻型数据库 2.关系型数据库 3.占用资源很低,几百K内存,适合嵌入式设备 4.支持windows.linux.unix 5.可与java.php.c#.python等结合 6.处理速度快于mysql 7.不需要配置.不需要安装.不需要管理 8.一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件,简单的说一个数据库就是一个单一文件 为啥要用它? 之前的web项目一直用的mysql数据库,因为目前的项目需要做一个桌面应用,可以在不同地方复用的,而我们不能

  • python通过elixir包操作mysql数据库实例代码

    本文研究的主要是python通过elixir包操作mysql数据库的相关实例,具体如下. python操作数据库有很多方法,下面介绍elixir来操作数据库.elixir是对sqlalchemy lib的一个封装,classes和tables是一一对应的,能够一步定义classes,tables和mappers,支持定义多个primary key. 定义model.py from elixir import sqlalchemy from elixir import * engine =sqla

  • Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模块来操作SQL Server数据库的,所有需要先安装pymssql. 这个直接在命令行里输入pip install pymssql安装就行了 然后还要配置好自己本地的SQL Server数据库,进入Microsoft SQL Server Management Studio中可以进行设置.如果你选择

  • js链表操作(实例讲解)

    如下所示: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> function Node(v){ this.value=v; this.next=null; } function ArrayList(){ this.head=new Node(

  • 基于node.js的fs核心模块读写文件操作(实例讲解)

    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法 - 文件大分流读取,stream - 引入fs模块 - let fs=require('fs') 同步读取文件 -fs.readFileSync('路径',utf8); let result=fs.readFileSync('./1.txt','utf8'); 异步读取文件,用参数err捕获

  • js实现日期显示的一些操作(实例讲解)

    1.js获取当前日期(yyyy-mm-dd) 以下代码是获取到的当前日期: var myDate = new Date(); var year = myDate.getFullYear(); //获取完整的年份(4位,1970-????) var month = myDate.getMonth()+1; //获取当前月份(1-12) var day = myDate.getDate(); //获取当前日(1-31) //获取完整年月日 var newDay = year + "-" +

  • 利用python将pdf输出为txt的实例讲解

    一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包.于是安装了一下,安装过程很简单: sudo pip install pdfminer; 中间也没有任何的报错.至于如何调用,本人也没有很好的研究过pdfminer这个库,于是开始了百度-- 官方文档:http://www.unixuser.org/~euske/python/pdfminer/index.html 完全使用python编写. (适用于2.4或更新版本) 解析,分析,并转

  • python pandas库中DataFrame对行和列的操作实例讲解

    用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) data['w'] #选择表格中的'w'列,使用类字典属性,返回的是S

随机推荐