猿问

将范围报告 HTML 文件转换为 PDF

我正在尝试将范围报告 HTML 文件转换为 PDF,但是我没有成功。


下面是我试过的代码。


import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import com.itextpdf.text.Document;

import com.itextpdf.text.DocumentException;

import com.itextpdf.text.pdf.PdfWriter;

import com.itextpdf.tool.xml.XMLWorkerHelper;


public class Demo 

{

public static void main( String[] args ) throws DocumentException,     IOException

{

Document document = new Document();

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"));

document.open();

XMLWorkerHelper.getInstance().parseXHtml(writer, document,new FileInputStream("html.html")); 

document.close();

System.out.println( "PDF Created!" );

}

}


Exception in thread "main" com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag head found, expected closing tag link.

at com.itextpdf.tool.xml.XMLWorker.endElement(XMLWorker.java:134)

at com.itextpdf.tool.xml.parser.XMLParser.endElement(XMLParser.java:396)

at com.itextpdf.tool.xml.parser.state.ClosingTagState.process(ClosingTagState.java:70)

at com.itextpdf.tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:236)

at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:214)

at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:175)

at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:238)

at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:210)

at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:183)

at com.tib.controlStatements.Demo.main(Demo.java:22)

HTML 文件链接:


https://drive.google.com/open?id=1UrHafoit0rJuhTC0QRqCe9bC5PMpqIWS


12345678_0001
浏览 181回答 2
2回答

慕婉清6462132

终于找到了解决方法。所以我所做的是添加了一个 css 文件,并对 html 进行了一些调整,并且能够转换为 PDF 并打印附带的屏幕截图。
随时随地看视频慕课网APP

相关分类

Java
我要回答