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

相关文章

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Java实现为PDF设置背景色和背景图片

《Java实现为PDF设置背景色和背景图片》在日常的文档处理中,PDF格式因其稳定性和跨平台兼容性而广受欢迎,本文将深入探讨如何利用Spire.PDFforJava库,以简洁高效的方式为你的PDF文档... 目录库介绍与安装步骤Java 给 PDF 设置背景颜色Java 给 PDF 设置背景图片总结在日常的

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因