java通过html模板转pdf⽂件(中⽂可显⽰)
最初是希望可以通过读取⽹页模板,⽣成pdf⽂件并提供下载,但是经过测试js是不被解析的,如果只有图⽚和⽂字效果还是不错的。需要注意
所有标签需要严格闭合
js⽆效
所有样式需要写在head内部(不能引⼊外联样式)
动态⽣成条形图之类的⽆法转换
html5不⽀持(不确定)
图⽚⽀持⽹络url,视频未测试
先贴上转换效果
表格分页时后效果
放⼤时
第⼀页完整显⽰效果
使⽤的模板⽂件 template.html
<!DOCTYPE html>
<html>
<style>
h2,
h4{
text-align: center;
}
.imgdiv{
text-align: center;
}
.
gridtable{
/* font-family: verdana, arial, sans-serif; */
font-size: 11px;
color: #333333;
border-width: 1px;
border-color: #666666;shells什么意思中文
border-collapse: collapse;
width: 100%;
text-align: center;
margin: auto;
margin-top: 20px;
margin-bottom:20px ;
}
.gridtable th{
border-width: 1px;
padding: 8px;
border-style: solid;chemist
border-color: #666666;
background-color: #dedede;
}
.gridtable td{
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
</style>
<script src="code.jquery/jquery-3.3.1.min.js"></script>
</head>
<body>
<h2>###TITLE###</h2>
<h4>###INTRODUCE###</h4>
<p>打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市</p>
<h4>标题</h4>
<p>打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市打断的⽂字阿⼤使⼤赛⼤所多俺说的啊啊是⼤神打打⼤神打⼤神⼤神⼤卅⼤安市安市⼤啊⼤⼤神⼤神⼤神⼤安市⼤⼤安市⼤神⼤神⼤神⼤神⼤神⼤撒打算⼤神⼤神的安市</p>
<table class="gridtable">
<tr>
<th>标题1</th>
<th>标题2</th>
<th>标题3</th>
<th>标题4</th>
<th>标题5</th>
<th>标题6</th>
<th>标题7</th>
<th>标题8</th>
<th>标题9</th>
<th>标题10</th>
</tr>
<td>内容6</td>
<td>内容7</td>
<td>内容8</td>
<td>内容9</td>
<td>内容10</td>
</tr>
智慧树php程序设计考试答案<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
<td>内容4</td>
<td>内容5</td>
<td>内容6</td>
<td>内容7</td>
<td>内容8</td>
<td>内容9</td>
<td>内容10</td>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
<td>内容4</td>
<td>内容5</td>
<td>内容6</td>
<td>内容7</td>
<td>内容8</td>
<td>内容9</td>
<td>内容10</td>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
<td>内容4</td>
<td>内容5</td>
<td>内容6</td>
<td>内容7</td>
<td>内容8</td>
<td>内容9</td>
<td>内容10</td>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
<td>内容4</td>
<td>内容5</td>
<td>内容6</td>
<td>内容7</td>
<td>内容8</td>
<td>内容9</td>
<td>内容10</td>
</tr>
<tr>
<td>内容1内容1内容1内容1内容1内1</td>
<td>内容2内容2内容2内容2内容2内容2内容2</td> <td>内容3</td>
<td>内容4</td>
</tr>
</table>
<div class="imgdiv"><img src="pic29.nipic/20130530/12174133_162640398000_2.jpg"/></div> </body>
</html>
java代码
import Font;
import l.xml.XMLWorkerFontProvider;
public class AsianFontProvider extends XMLWorkerFontProvider {
mooc慕课pc端public AsianFontProvider(){
super(null, null);
}
@Override
public Font getFont(final String fontname, String encoding,float size,final int style){
String fntname = fontname;
if(fntname == null){
//fntname = "/f";
fntname ="宋体";
}
if(size ==0){
size =4;
}
Font(fntname, encoding, size, style);
}
}
jquery下载文件请求如果运⾏在linux系统上,需要下载f⽂件到resource⽂件夹内
import org.junit.Before;
import org.junit.Test;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import Document;
import DocumentException;
import PageSize;
import pdf.PdfWriter;
createprocess()returned 2import l.xml.XMLWorkerHelper;
public class Tes {
String htmlFile ="D:"+File.separator+"template.html";
String pdfFile ="D:"+File.separator+"template2.pdf";
@Before
public void before(){
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论