`

网页转PDF简单方案

    博客分类:
  • java
阅读更多

给定一个页面路径,先要求将此路径的内容直接转换为pdf文件。

解决思路:

 1 使用Jsoup开源包(一个HTML解析器)解析给定路径(jsp文件)的Html内容(这个文件可以是不规则的html文件),得到规范化的html字符串。

 2 使用flying sauser 开源包,处理得到的html字符串

 3 使用iText打印成pdf

 

中文处理:

在html文件的style中添加:

body {  
       font-family: SimSun;

}

 

下面是一简单测试用例:

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;

import org.jsoup.Jsoup;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.BaseFont;

public class Test {

 public static void main(String[] args) throws IOException, DocumentException {
  String pagePath ="http://localhost:8080/clims/";
  pagePath = pagePath+"lookReport.htm?ordermId=7801&userId=1";
  URL url = new URL(pagePath);
  
  String urlStr = new File(pagePath).toURI().toURL().toString();
        System.out.println(urlStr);

       // Document doc = XMLResource.load(new InputSource(url)).getDocument();
        ITextRenderer renderer = new ITextRenderer();
        //renderer.setDocument(doc,url);
       
       // org.jsoup.nodes.Document jsoupDoc = Jsoup.parse(new File(pagePath), "UTF-8");
        org.jsoup.nodes.Document jsoupDoc = Jsoup.parse(url, 10000000);
        System.out.println(jsoupDoc.html());
        String html = jsoupDoc.html();
        html = html.replaceAll(" ", " ");
        renderer.setDocumentFromString(html);
       
        // 解决图片的相对路径问题  
        renderer.getSharedContext().setBaseURL("file:/D:/Eclipse3.5/workspace/Test/html/");  
        // 解决中文支持问题 
        ITextFontResolver fontResolver = renderer.getFontResolver(); 
  fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
       
        renderer.layout();
       
        String outputFile = "firstdoc.pdf";
        OutputStream os = new FileOutputStream(outputFile);
  renderer.createPDF(os);
 }

}

分享到:
评论

相关推荐

    jq 网页转pdf格式

    以下是一个简单的示例,演示如何结合`jq`、`html2canvas`和`jsPDF`实现网页到PDF的转换: ```javascript // 引入所需的库 import $ from 'jquery'; import html2canvas from 'html2canvas'; import jsPDF from '...

    C# 网页转PDF

    在IT行业中,将网页转换为PDF格式是一种常见的需求,它可以帮助...在实际项目中,可以结合Web服务或API接口,构建一个动态的网页转PDF服务,满足各种场景下的需求。记住,始终关注库的更新,以确保最佳的兼容性和性能。

    网页转pdf——高清

    本技术介绍将聚焦于如何将网页高清地转换为PDF,并提供一个简单易用的解决方案。 首先,我们了解基本概念。PDF(Portable Document Format)是一种由Adobe Systems开发的文件格式,旨在保持文档的原始布局和格式,...

    asp.net网页转换PDF

    在ASP.NET开发中,将网页转换为PDF是一种常见的需求,比如用于生成报表、保存用户界面为离线阅读或打印等。这个任务可以通过多种技术实现,包括使用第三方库、服务器端控件或者HTML5的特性。以下是一些关于如何在ASP...

    wkhtmltopdf 最好用的转网页转PDF工具64bit版本,调用非常简单

    关于标签“网页转PDF”,这表明wkhtmltopdf的核心功能在于其转换能力。它允许用户通过URL、本地HTML文件或者标准输入来指定要转换的网页,生成的PDF文件保留了网页的完整结构,包括文字、图片、链接、表格和CSS样式...

    android_HTML转PDF

    本项目“android_HTML转PDF”提供了一个解决方案,它支持中文字符显示以及单独处理图片的功能。以下是对这个项目的详细解析: 1. **HTML与PDF的转换原理** HTML是一种标记语言,用于创建和展示网页内容,而PDF...

    如何解决java html转pdf图片不显示问题的源码范例合集new(由浅入深代码范例和详细说明).docx

    Java HTML 转 PDF 图片不显示问题解决方案详解 在 Java 开发中,经常需要将 HTML 转换为 PDF,并希望在生成的 PDF 中正确显示 HTML 中的图片。但是,由于 HTML 和 PDF 的格式差异,可能会遇到图片不显示的问题。...

    别人封装的网页生成PDF导出工具

    网页导出为PDF是Web开发中的一个重要功能,它允许用户将网页内容保存为方便阅读和打印的文档格式。在这个场景中,"别人封装的网页生成PDF导出工具"利用了两个关键库:jspdf和html2canvas。接下来,我们将详细讨论这...

    itextsharp操作html转pdf

    **ITextSharp库在HTML转PDF中的应用** ITextSharp是一个功能强大的开源库,主要用于创建、编辑和处理PDF文档。这个库广泛应用于.NET环境中,它提供了丰富的API来处理PDF的各种需求,包括将HTML内容转换为PDF。在...

    itext的PDF生成方案

    **iText PDF生成方案** iText是一个开源的Java库,专门用于创建和修改PDF文档。在IT领域,尤其是在文档处理和报告生成方面,iText是一个非常实用的工具。本方案将详细探讨如何利用iText来生成PDF文件,以及相关的...

    Python-gitbook2pdf一个轻量级gitbook网页转pdf的小工具

    在实际使用中,用户可以通过命令行界面或者编写简单的脚本来调用gitbook2pdf,指定输入的Gitbook URL和输出的PDF文件路径。对于开发者而言,其源代码是开放的,可以根据需求进行二次开发或扩展功能。 在压缩包文件...

    pdf在线转换成word免费版

    然而,PDF文件的编辑通常比Word文档更为复杂,这催生了各种PDF转Word工具的出现。迅捷PDF转换器在线版就是其中的一款,它提供了用户友好的界面和强大的功能。 这款转换器的核心技术在于其高精度的识别和转换接口。...

    Word转Pdf如何简单免费在线转换.pdf

    标题中的“Word转Pdf如何简单免费在线转换.pdf”是指一种技术方法,即如何在互联网上无需付费地将Word文档转换成Pdf格式。这种转换对于那些需要在不同设备间共享文档或者确保格式不变的人来说非常有用,因为Pdf文件...

    word转pdf转换器-专业版

    例如,当需要将编辑好的Word报告以统一的PDF格式分发给同事或客户时,或者在网页上分享无编辑功能的文档时,此工具都能提供高效便捷的解决方案。 压缩包内的文件"word转pdf转换器-专业版.doc"可能是关于软件的使用...

    vue html转pdf

    `vue-pdf`是这样一个组件,从提供的压缩包文件名"vue-pdf-master"来看,它可能是一个Vue.js集成的PDF生成解决方案。接下来我们将深入探讨如何使用Vue.js和相关的库来实现HTML到PDF的转换。 首先,我们需要安装`vue-...

    ppt如何转换成pdf格式

    总的来说,“迅捷PPT转PDF转换器”提供了一种高效、便捷且可靠的解决方案,无论是个人还是企业用户,都能轻松解决PPT转PDF的需求。通过使用这款工具,你可以确保文档格式的一致性,同时保持内容的高质量呈现。在处理...

    jpg转pdf 绿色版

    综上所述,"jpg转pdf 绿色版"是一个实用的工具,尤其对于需要整理大量图像文件并希望以PDF形式共享的用户来说,它可以提供便利的解决方案。同时,其支持多种图像格式的转换,增强了其功能性和适用性。

    html转pdf(亲测可用)

    这个库提供了丰富的功能,包括文本、图像、表格和形状的插入,使得在Web应用中生成PDF变得简单。在HTML转PDF的场景下,通常会结合`html2canvas`库来处理HTML元素的渲染,因为`jspdf`本身并不支持直接从DOM元素生成...

Global site tag (gtag.js) - Google Analytics