java生成PDF-支持中文及图片

2023-05-16

java生成PDF-支持中文及图片

PDF效果图
PDF生成

先弄出一个html
本地跟目录下放一个x.html
内容如下


my name is walter  
I am red man
这是一句中文
this is a image


注意:html标签必须对称,类似XML那样比如你写
就不可以 必须写
or






import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Writer;

import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;
import com.lowagie.text.pdf.BaseFont;


public class PDF {
public static void main(String[] args) throws Exception {

System.out.println(System.getProperties());
String inputFile = "/x.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "/a.pdf";
System.out.println(url);
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
renderer.setDocument(url);
//fontResolver.addFont("C:\\WINDOWS\\Fonts\\stsong.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 解决中文支持问题
fontResolver.addFont("/Library/Fonts/Microsoft/SimSun.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
System.out.println(BaseFont.IDENTITY_H + BaseFont.NOT_EMBEDDED);

renderer.layout();


renderer.createPDF(os);
os.close();

}
}



注意:如果你采用了SimSun中文字体,那么就调用/Library/Fonts/Microsoft/SimSun.ttf。调用其他的无效。 如果你还调用了其他字体,比如 SimHei 那么也需要再调用对应的字体文件。

windows 字体目录 C:\\WINDOWS\\Fonts
MAC字体目录 /Library/Fonts/
首发于月小升博客 - http://java-er.com/blog/java-pdf-chinese/

posted on 2012-07-27 22:43 月小升 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yuexiaosheng/archive/2012/07/27/2612581.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java生成PDF-支持中文及图片 的相关文章

随机推荐

  • 深度卷积神经网络TensorFlow GPU实现

    深度卷积神经网络TensorFlow GPU实现 Deep Learning CNN s in Tensorflow with GPUs Taylor Guo 2017年6月11日 本文讲解卷积神经网络架构 xff0c 如何在tensorf
  • 原版XP合集,非BT下载

    原版XP和集 xff0c 非BT下载 都用迅雷下载 xff09 因FTP下载比较稳定 一般不会出现BT丢种的问题 所以这里只发FTP下载连接 如果大家还有更好的 欢迎补充 xff01 联想xp pro SP2 http web qtedu
  • Eclipse快捷键-方便查找

    行注释 销注释 Ctrl 43 块注释 销注释 Ctrl 43 Shift 43 Ctrl 43 Shift 43 查找 查找替换 Ctrl 43 H Ctrl 43 F 查找下一个 往回找 Ctrl 43 K Ctrl 43 Shift
  • OpenGL鼠标点击事件

    include lt windows h gt Windows的头文件 include lt gl gl h gt OpenGL32库的头文件 include lt gl glu h gt GLu32库的头文件 include lt gl
  • debian中文字体美化

    为什么80 的码农都做不了架构师 xff1f gt gt gt 1 安装必要的字体包 Debian 和 Ubuntu 下对中文支持比较好的字体有 xff1a ttf droid ttf wqy zenhei和ttf wqy microhei
  • Kindeditor上传失败问题解决

    xff08 问题关键词 xff1a kindeditor 上传图片失败 kindeditor上传图片成功 xff0c 但是页面上却提示失败 kindeditor得到Json正确 xff0c 确提示失败 xff09 今天又遇到了一个比较无奈的
  • bash ps1变量_学习鸟哥私房菜--linux bash 的环境变量ps1设置

    bash里边的变量ps1是用户平时的提示符 xff0c 系统默认为 username 64 host 工作目录 关于ps1的相关介绍详见 xff1a http www cnblogs com starspace archive 2009 0
  • 人工智能让生活更美好

    人 I 工 I 智 I 能 I到 I来 科 I技 I大 I门 打 I 开 提起人工智能 你会想到什么 阿尔法围棋 浪潮天梭象棋 甚至会想到 大白 吧啦啦啦 史密斯电影 我 机器人 科技一直推动社会的变化 技术的飞速更迭与人类移动网络化的行为
  • 解压命令linux tgz,tar 解压_linux中的“tar命令”怎么解压“.tgz”与“.tar.gz”文件?...

    在LINUX下如何将tar压缩文件解压到指定的目录下 一 解压 tar gz格式到指定的目录下 xff1a 命令格式为 xff1a tar zxvf 压缩包文件名 tar gz C 路径 例如 xff1a tar zxvf japan ta
  • ssh证书登录(实例详解)

    前言 本文基于实际Linux管理工作 xff0c 实例讲解工作中使用ssh证书登录的实际流程 xff0c 讲解ssh证书登录的配置原理 xff0c 基于配置原理 xff0c 解决实际工作中 xff0c windows下使用SecureCRT
  • 常用滤波算法搜集

    一 十一种通用滤波算法 转 1 限幅滤波法 xff08 又称程序判断滤波法 xff09 A 方法 xff1a 根据经验判断 xff0c 确定两次采样允许的最大偏差值 xff08 设为A xff09 每次检测到新值时判断 xff1a 如果本次
  • 静态路由和默认路由的配置实战及其区别--很详细哦

    静态路由和默认路由的配置实战及其区别 一 xff1a 实验拓扑 二 xff1a 实验要求 1 xff1a 实现全网互通 2 xff1a 实现静态路由与动态路由的区别认识 3 xff1a 熟练掌握其配置命令 三 xff1a 实验步骤 第一步
  • MVC3学习:利用mvc3+ajax实现全选和批量删除

    本例数据库操作使用EF code first 先利用mvc自带的模板 xff0c 先生成一个list视图 xff0c 然后再手动添加复选框和删除按钮 lt table gt lt tr gt 64 在标题行添加一个全选按钮 64 lt th
  • 解决FAT32格式U盘安装win10时0x8007000D错误

    问题由来 我一直使用U盘 xff0c UltraISO软碟通和msdn原版镜像来装系统 最近在把Win10 1709升级为1803时遇到了问题 同样也是使用UltraISO刻录镜像到U盘的方法安装的 xff0c 这次从U盘启动安装时 xff
  • error: /lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-...

    sudo yum install libnotify Loaded plugins fastestmirror refresh packagekit security Setting up Install Process Repositor
  • 域组策略--+域控中组策略基本设置

    域控中组策略基本设置 计算机配置 xff1a 要重启生效 用户配置 xff1a 注销生效 策略配置后要刷新 xff1a gpupdate force 组策略编辑工具 xff01 gpmc msi xff08 工具 xff09 使用 xff1
  • a 链接 download 不生效问题

    众所周知 xff0c 在 HTML5 中 xff0c A 标签是支持 download 属性的 xff0c 此属性指示浏览器下载 URL 而不是导航到它 xff0c 但是该属性受到同源策略的限制 那么我们如何让 A 标签在跨域场景下依然有效
  • 【linux】创建新用户,并且指定用户ID,基本组,附加组(指定组号)

    1 创建用户 xff0c 必须先创建附加组 创建附加组 组名 xff1a fujia1 fujia2 GID 5005 5006 2 创建基本组 xff1a 组名 xff1a basicgp 3 创建用户 xff1a 用户名 xff1a n
  • 101个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 脚本1 打印形状 打印等腰三角形 直角三角形 倒直角三角形 菱形 bin bash 等腰三角形 read p 34 Please input the length 34 n for i in
  • java生成PDF-支持中文及图片

    java生成PDF 支持中文及图片 PDF效果图 先弄出一个html 本地跟目录下放一个x html 内容如下 my name is walter I am red man 这是一句中文 this is a image 注意 xff1a h