java pdf 导出方案
java代码
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.BaseFont;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; public class ITextRendererCNWebDiy { public static void main( String[] args ) throws DocumentException, IOException
{
//注 :如果样式 body里加了,那么 具体的div span里面就不要加,否则显示不出来? 不对,是 div span里的字体写错了 要这么写,不能小写 SimSun
String inputFile="index-cn.html";
String outputFile="F:\\develop\\workspace-idea\\iTextStudy\\ITextRendererCNWebDiy.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
String url = new File(inputFile).toURI().toURL().toString(); renderer.setDocument("http://120.26.208.6:8090/xieyi.jsp"); // 解决中文支持问题
ITextFontResolver fontResolver = renderer.getFontResolver();
try {
//注 俩个方式都可以 但是linux服务器中 估计要用后者
//fontResolver.addFont("C:/Windows/Fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
fontResolver.addFont("src/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
}catch (Exception e){
e.printStackTrace();
}
//解决图片的相对路径问题
renderer.getSharedContext().setBaseURL("file:/D:/");
renderer.layout();
try {
renderer.createPDF(os);
}catch (Exception ex){
ex.printStackTrace();
} os.flush();
os.close();
}
}
html文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 5.4.2 <span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label" style="font-size:12.0pt; font-family:SimSun">Title-中午网页</th>
<td>iText - Java HTML to PDF 你好网页</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>huisoft</groupId>
<artifactId>com.zhanghui</artifactId>
<version>1.0-SNAPSHOT</version> <repositories> <repository>
<!-- Maven 自带的中央仓库使用的Id为central 如果其他的仓库声明也是用该Id 就会覆盖中央仓库的配置 -->
<id>mvnrepository</id>
<name>mvnrepository</name>
<url>http://repo1.maven.org/maven2/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> <dependencies>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency> <dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.4.3</version>
</dependency> <dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.1</version>
<type>jar</type>
<scope>compile</scope>
</dependency> <dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf</artifactId>
<version>9.0.9</version>
</dependency> </dependencies> </project>
导出结果:

java pdf 导出方案的更多相关文章
- 基于one2team框架的Highcharts图表图片导出方案
这篇文章已经没有什么意义了,新版的HIghcharts提供Java图片导出解决方案,你需要做的就是下个Maven,bulid一个war就Ok了.---addedy on 2012-11-15 多说一句 ...
- iReport 5.6.0 PDF导出中文不显示问题 解决方案
问题描述 iReport 5.6.0 PDF格式导出,中文不显示. 报错信息如下: Error exporting print... Could not load the following font ...
- Batik - 将svg转换成其他格式图片或PDF - [导出服务器配置] 导出服务器原理解析
导出服务器原理解析 Highcharts图表导出(或下载)本质上是将SVG代码转换为不同文件格式的过程,用到的工具是batik,所以所谓导出服务器,只不过是调用batik,将SVG代码转换并下载.下图 ...
- Jasperreports以及iReport4.5报表PDF导出字体完美解决方案
在使用Jasperreports以及iReport设计报表时,导出PDF是一个常见的需求.网上解决PDF导出中文显示问题相关的文章很多,无非就是设置控件的pdf font name和pdf encod ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- Java中导出到Excel实现_aspose.cells
参考http://183615215-qq-com.iteye.com/blog/1858208 包下载:http://pan.baidu.com/s/1o6ju0ZK,将lib的jar包导入到工程中 ...
- 重构:以Java POI 导出EXCEL为例
重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...
- java PDF添加图层,支持多页图层添加
java PDF添加图层,支持多页图层添加 代码: import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...
随机推荐
- lucene示例
搭建环境 搭建Lucene的开发环境只需要加入Lucene的Jar包,要加入的jar包至少要有: lucene-core-3.0.1.jar(核心包) contrib\analyzers\common ...
- pandas知识点汇总
## pandas基础知识汇总 1.时间序列 import pandas as pd import numpy as np import matplotlib.pyplot as plt from d ...
- 转: 利用RabbitMQ、MySQL实现超大用户级别的消息在/离线收发
由于RabbitMQ中只有队列(queue)才能存储信息,所以用RabbitMQ实现超大用户级别(百万计)的消息在/离线收发需要对每一个用户创建一个永久队列. 但是RabbitMQ节点内存有限,经测试 ...
- Scroller应用:ListView滑动删除
1.设计思路 在Scroller的应用--滑屏实现中使用Scroller实现滑屏效果,这里使用Scroller与ListView实现相似QQ滑动.然后点击删除功能.设计思路是Item使用Scrolle ...
- mysql产生随机数并连接字符串
concat('a','b','c');//连接字符串 rand();//产生随机数 floor();//取整数 UPDATE user set reg_ip= concat(floor(RAND() ...
- MVVMLight
MVVMLight源码分析之消息机制和ViewModelBase http://www.cnblogs.com/facingwaller/archive/2010/11/06/1870608.html ...
- GNU Linux高并发性能优化方案
/*********************************************************** * Author : Samson * Date : 07/14/2015 * ...
- JNI调用实例
1. 环境 Windows7-64Bit VS2010-32Bit JDK1.8-64Bit 2. 步骤 2.1 创建NativePrint类 public class NativePrint { p ...
- PHPCMS 学习
1.碎片管理2.为了升级操作 MY_ thinkphp为大写phpcms里面也是大写 然后继承如果加构造函数要调用一次父类的构造函数,最好在最上面调用 final 不可重写 重写最好调用一次paren ...
- 筛选git最后一次文件列表
需要写一个小程序,列出出最后一次git提交的文件列表 命令如下: git log -1 --name-only 操作后,发现并不能完整的显示文件列表,查询google后,发现是git默认配置只显示90 ...