itextpdf输出PDF笔记

2023-10-07 18:58
文章标签 输出 笔记 pdf itextpdf

本文主要是介绍itextpdf输出PDF笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

输出带中文字体的文字,表格,图片的java程序如下:

程序环境为JDK1.7,itextpdf-5.5.3.jar


import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.ImageIO;





import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

public class PdfUtil {

    public static void main(String[] args) throws DocumentException, IOException {
        getDoc();
    }
    
    public static String getDoc() throws DocumentException, IOException {
    
        Document document = new Document();
        String filename="Helloworld.PDF";
        PdfWriter writer=PdfWriter.getInstance(document, new FileOutputStream("D:\\Helloworld.PDF"));

       // BaseFont baseFont = BaseFont.createFont("/SIMKAI.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);    
           //方法二:使用iTextAsian.jar中的字体    
        // BaseFont baseFont = BaseFont.createFont("STSong-Light",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);   
          //方法一:使用Windows系统字体(TrueType)    
         //BaseFont baseFont = BaseFont.createFont("C:/Windows/Fonts/SIMYOU.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);    
         //方法三:使用资源字体(ClassPath)  ,将字体文件拷贝放入ClassPath目录下  
         BaseFont baseFont = BaseFont.createFont("/SIMKAI.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);  //楷体  
         BaseFont baseFont2 = BaseFont.createFont("/SIMLI.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);  //隶书
         BaseFont baseFont3 = BaseFont.createFont("/SIMFANG.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);  //仿宋
   
        Font font = new Font(baseFont);
        Font font2 = new Font(baseFont, 22, Font.UNDERLINE|Font.BOLD|Font.ITALIC); //字体大小12,加粗,斜体,下划线

        document.open();
        Paragraph paragraph1=new Paragraph("Hello World中文标题\r",font);
        Chunk chunk1 = new Chunk("中文测试This text is underlined \r",font2);
        Chunk chunk2 =new Chunk("getDoc() is creadby  \r"+DateTools.getCurrentTimeString(),font);
        
        paragraph1.add(chunk1);
        paragraph1.add(chunk2);
        paragraph1.setAlignment(1); //setAlignment的参数:1为居中对齐、2为右对齐、3为左对齐,默认为左对齐。
        //paragraph1.setLeading(45f);//设置行间距
        document.add(paragraph1);

        
        //生成表格加入文档
        PdfPTable table = new PdfPTable(4);
        table.setTotalWidth(800f);//设置表格的总宽度
        table.addCell(new Paragraph("XX网用户名",font));
        table.addCell(new Paragraph("出借金额",font));
        table.addCell(new Paragraph("借款期限(月)",font));
        table.addCell(new Paragraph("每月应收本息",font));
        table.addCell(new Paragraph("duanxinfu(姓名:好哥们;身份证号:11000000000000000 )",font));
        table.addCell("5000.00");
        table.addCell("10");
        table.addCell("510.00");
        document.add(table);
        
        //生成图片加入文档
        String imagePath = "D:/test2.jpg";
        //String pdfPath = "D:\\Helloworld.PDF";
        BufferedImage img = ImageIO.read(new File(imagePath));
        //FileOutputStream fos = new FileOutputStream(pdfPath);
        //Document doc = new Document(null, 0, 0, 0, 0);
        //document.setPageSize(new Rectangle(400, 200));
        Image image = Image.getInstance(imagePath);
        //PdfWriter.getInstance(document, fos);
        //document.open();
        image.scaleAbsolute(400f, 200f);
        document.add(image);
        
        
        document.add(paragraph1);
        document.close();
        return filename;
    }    

}


字体文件是从window系统字体文件夹下拷贝出来的。

这篇关于itextpdf输出PDF笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/159767

相关文章

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当