当前位置: 首页 > 面试题库 >

如何将html页面导出为pdf格式?

公冶经纶
2023-03-14
问题内容

我必须提供一些导出功能到我的网站,例如CSV或PDF。Java是否有功能强大且免费的工具将HTML页面转换为PDF格式?


问题答案:

Flying Saucer API与一起使用iText PDF可以将HTML内容转换为PDF。
以下示例在某种程度上帮助您理解XHTML到PDF的转换。

使用飞碟API的示例
您需要以下库:

  • core-renderer.jar
  • iText-2.0.8.jar

您可以在中找到这些资源flyingsaucer-R8.zip

例1:使用XML资源

// if you have html source in hand, use it to generate document object
Document document = XMLResource.load( new ByteArrayInputStream( yourXhtmlContentAsString.getBytes() ) ).getDocument();

ITextRenderer renderer = new ITextRenderer();
renderer.setDocument( document, null );

renderer.layout();

String fileNameWithPath = outputFileFolder + "PDF-XhtmlRendered.pdf";
FileOutputStream fos = new FileOutputStream( fileNameWithPath );
renderer.createPDF( fos );
fos.close();
System.out.println( "File 1: '" + fileNameWithPath + "' created." );

例2:使用XHTML直接输入到Document

ITextRenderer renderer = new ITextRenderer();

// if you have html source in hand, use it to generate document object
renderer.setDocumentFromString( yourXhtmlContentAsString );
renderer.layout();

String fileNameWithPath = outputFileFolder + "PDF-FromHtmlString.pdf";
FileOutputStream fos = new FileOutputStream( fileNameWithPath );
renderer.createPDF( fos );
fos.close();

System.out.println( "File 2: '" + fileNameWithPath + "' created." );

使用iText API的示例
您需要以下库:

  • core-renderer.jar
  • itextpdf-5.2.1.jar

您可以在 此处 找到这些资源。

范例3:使用HTML Worker

com.itextpdf.text.Document document =
        new com.itextpdf.text.Document( com.itextpdf.text.PageSize.A4 );
String fileNameWithPath = outputFileFolder + "PDF-HtmlWorkerParsed.pdf";
FileOutputStream fos = new FileOutputStream( fileNameWithPath );
com.itextpdf.text.pdf.PdfWriter pdfWriter =
        com.itextpdf.text.pdf.PdfWriter.getInstance( document, fos );

document.open();

//**********************************************************
// if required, you can add document meta data
document.addAuthor( "Ravinder" );
//document.addCreator( creator );
document.addSubject( "HtmlWoker Parsed Pdf from iText" );
document.addCreationDate();
document.addTitle( "HtmlWoker Parsed Pdf from iText" );
//**********************************************************/

com.itextpdf.text.html.simpleparser.HTMLWorker htmlWorker =
        new com.itextpdf.text.html.simpleparser.HTMLWorker( document );
htmlWorker.parse( new StringReader( sb.toString() ) );

document.close();
fos.close();

System.out.println( "File 3: '" + fileNameWithPath + "' created." );


 类似资料:
  • 问题内容: 这是我的html代码,我在其中渲染了文件中的所有数据,但越来越 TypeError:无法将未定义或null转换为DocMeasure.measureNode(pdfmake.js:15635)的DocMeasure.measureNode(pdfmake.js:15635)的Function.keys()上的对象.layoutDocument(pdfmake.js:15076)在Pdf

  • 本文向大家介绍如何使用wkhtml2pdf将html页面转换为pdf,包括了如何使用wkhtml2pdf将html页面转换为pdf的使用技巧和注意事项,需要的朋友参考一下 本文将指导您安装可以将HTML页面或HTML输出转换为PDF格式的工具。如果我们需要将Pdf发送给一组客户或客户,以及发送报告而不是HTML(您可以通过PDF格式通过电子邮件发送)的报告,则此功能还将有助于生成Pdf的代码。为您

  • 问题内容: 我的表格格式 我在网上找到了以下代码。但是,如果我使用“ thead”和“ tbody”标签,那是行不通的 问题答案: 您在Internet上找到的解决方案无法正常工作的原因是因为线路开始。该变量只有两个元素,是和。该行正在寻找内的所有元素是。你能做的最好的事情就是给一个id你和然后抓住所有基于该值。说您有: 然后对标记执行相同的操作 编辑:我也强烈建议使用jQuery。它将缩短为:

  • 问题内容: 在我的php页面中,我有一个表,如果用户需要,他必须将该表导出到Excel工作表。 用于显示表格的代码是: 我如何将此表导出到Excel工作表。以及 excel.php中 的代码应该是什么。请帮助我..提前谢谢.. 问题答案: 使用PHP Excel生成Excel文件。您可以在此处找到一个名为PHPExcel的好软件: https //github.com/PHPOffice/PHPE

  • 问题内容: 我有一个内容div,其ID为“content”。在内容div中,我有一些图形和一些表格。当用户单击下载按钮时,我想将该div下载为pdf。有没有办法使用javascript或jQuery? 问题答案: 您可以使用jsPDF来完成 HTML: JavaScript:

  • 问题内容: 我需要将任意PDF文档的页面导出为jpeg / png / etc格式的一系列单个图像。我需要用Java做到这一点。 尽管我确实了解iText,PDFBox和其他各种Java pdf库,但我希望找到一些工作示例或操作方法的指针。 谢谢。 问题答案: 这是一种实现方法,它结合了Web上的一些代码片段。 如何将PDF绘制到图像中? https://pdf- renderer.dev.jav