代码如下public static void main(String[] args)
throws IOException, DocumentException {
String inputFile = "e://index.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "e://firstdoc.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("C:/Windows/Fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
} 网上说这段代码是支持中文的fontResolver.addFont("C:/Windows/Fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);我C:/Windows/Fonts/ARIALUNI.TTF这个下面文件是有的,但是一直行就报错
???错误:“Invalid byte 1 of 1-byte UTF-8 sequence.”
Exception in thread "main" org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:191)
at org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:71)
at org.xhtmlrenderer.swing.NaiveUserAgent.getXMLResource(NaiveUserAgent.java:211)
at org.xhtmlrenderer.pdf.ITextRenderer.loadDocument(ITextRenderer.java:134)
at org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:138)
at test99.main(test99.java:27)
Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:189)
... 5 more
Caused by: org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
... 8 more
求解了??????
帮帮忙
throws IOException, DocumentException {
String inputFile = "e://index.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "e://firstdoc.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("C:/Windows/Fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
} 网上说这段代码是支持中文的fontResolver.addFont("C:/Windows/Fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);我C:/Windows/Fonts/ARIALUNI.TTF这个下面文件是有的,但是一直行就报错
???错误:“Invalid byte 1 of 1-byte UTF-8 sequence.”
Exception in thread "main" org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:191)
at org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:71)
at org.xhtmlrenderer.swing.NaiveUserAgent.getXMLResource(NaiveUserAgent.java:211)
at org.xhtmlrenderer.pdf.ITextRenderer.loadDocument(ITextRenderer.java:134)
at org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:138)
at test99.main(test99.java:27)
Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:189)
... 5 more
Caused by: org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
... 8 more
求解了??????
帮帮忙
解决方案 »
- 求助
- 这个jstl该怎么写?
- 关于Tomcat的问题!!!一晚上都没有解决!!!解决给分!!!急急急!!!在线等!!!
- .........................问题是这样滴........................................
- 有关jsp表单post方法的中文问题
- jsp 连接oracle 的问题
- 页面定时刷新实时数据
- 错误提示说。。。。。我该怎么办?希望大家帮忙
- JSP中 <EMBED>标签的问题
- request对象的getParamer()和getParamernNames(),getParamerValue()的作用和区别?送分,急
- jsp url传参数获取不到
- jfreechart 如何对x,y轴格式化后再使x,y轴增加相同的倍数
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>aa</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style>
body{font:12px/1.8 ;position:relative;}
html,body{height:100%;overflow-y:hidden;margin:0;padding:0;}
.strt-wrap{width:100000px;margin:10px;cursor:move;}
.strt-part{text-align:center;float:left;position:relative;}
.strt-part .line-v{position:relative;height:40px;width:100%;}
.strt-part .line-v span{display:block;background:#ccc;position:absolute;top:0;font-size:0;line-height:1px;width:1px;height:40px;left:50%;}
.strt-name{display:inline-block;padding:0 5px;height:24px;line-height:24px;border:1px solid #ccc;margin:0 10px;border-radius:3px;background:#f8f8f8;}
.strt-part .line-h{height:1px;display:block;background:#ccc;position:absolute;top:0;font-size:0;}
.strt-part .line-h-l{width:50%;left:0;}
.strt-part .line-h-c{width:100%;left:0;}
.strt-part .line-h-r{width:50%;right:0;}
.strt-block{float:left;}</style>
</head>
<body style="overflow:hidden;">
<div class="strt-wrap" id="strtWrap">
<div class="strt-block">
<div class="strt-part">
<span class="strt-name">啊啊啊啊</span>
<div class="line-v"><span></span></div>
<div class="strt-block">
<div class="strt-part">
<span class="line-h line-h-r"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">22</span>
<div class="line-v"><span></span></div>
<div class="strt-block">
<div class="strt-part">
<span class="line-h line-h-l"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">33</span>
</div>
</div>
</div>
<div class="strt-part">
<span class="line-h line-h-c"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">44</span>
<div class="line-v"><span></span></div>
<div class="strt-block">
<div class="strt-part">
<span class="line-h line-h-r"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">HTC</span>
<div class="line-v"><span></span></div>
<div class="strt-block">
<div class="strt-part">
<span class="line-h line-h-r"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">One X</span>
</div>
<div class="strt-part">
<span class="line-h line-h-c"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">G8</span>
</div>
<div class="strt-part">
<span class="line-h line-h-l"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">Butterfly</span>
</div>
</div>
</div>
<div class="strt-part">
<span class="line-h line-h-c"></span>
<div class="line-v"><span></span></div>
<span class="strt-name">55</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
你这个报错说输入1字节的数据但是企图以UTF-8解码(UTF-8占用2字节),所以出错。
首先,你那个index.html里面有内容么?先把url(String)输出一下看看。
另外at test99.main(test99.java:27),哪行是你的第27行?
就是解析中文的时候报错,我的html见一楼,编码是utf-8,改成GB2312就不报错了,但是生成的pdf中文乱码???