iText实现URL页面转PDF

目录:

  1. 概述
  2. 软件要求
  3. 实现过程

[一]、概述

前面已经介绍了如何实现对HTML中文字符的转换以及HTML文件生成PDF文件的基本方法,本文主要演示下如何把URL地址对应的内容直接转换生成PDF文件,这个需求也有很多的应用场景,最简单的应用场景比如:自己blog中的文章如何转PDF,如果能生成PDF文件,一方面可以方便自己的阅读,亦可作为一种备份。

[二]、软件要求

  • 如何URL地址内容包含中文字符,需要XML Worker能支持中文字符转换(详见:http://www.micmiu.com/opensource/expdoc/itext-xml-worker-cn/
  • Java 的HTML解析器,这里选择 :jsoup (官网:http://jsoup.org/),如果是 maven 构建项目的,直接在pom文件中增加jsoup的依赖配置即可:

[三]、实现过程

以我的blog:http://www.micmiu.com/os/linux/shell-dev-null/ 为例,和HTML文件转PDF类似同样有两种方法,详细介绍见下面的具体实现代码中的注释。

Java实现代码:Demo4URL2PDF.java

运行后生成的两个PDF的效果如下:

从上面的效果图可见:根据URL地址生成的PDF和浏览器中页面效果以及之前HTML文件生成的PDF效果完全一致。

本文介绍到此结束@Michael Sun.

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/opensource/expdoc/itext-url-pdf/

发表评论?

20 条评论。

  1. com.itextpdf.tool.xml.html.pdfelement.NoNewLineParagraph.setMultipliedLeading(F)V

  2. shell /dev/null 2>&1 /dev/null ,
    []
    >/dev/null 2>&1
    > echo “micmiu.com” > /home/michaeltest.txt
    /dev/null
    2> stderr
    & 2>&121
    1 stdout1”>/dev/null” “1>/dev/null”
    ”>/dev/null 2>&1 “1>/dev/null 2>&1
    []
    1>/dev/null
    2>&1
    @Michael Sun

    我生成PDF文件,中文全部消失 为什么

  3. 执行出现此异常,求指点啊
    Exception in thread “main” com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag span found, expected closing tag br.
    at com.itextpdf.tool.xml.XMLWorker.endElement(XMLWorker.java:135)
    at com.itextpdf.tool.xml.parser.XMLParser.endElement(XMLParser.java:397)
    at com.itextpdf.tool.xml.parser.state.ClosingTagState.process(ClosingTagState.java:71)
    at com.itextpdf.tool.xml.parser.XMLParser.parseWithReader(XMLParser.java:237)
    at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:215)
    at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:176)
    at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:226)
    at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:184)
    at com.zzzhc.common.utils.Demo4URL2PDF.parseURL2PDFFile(Demo4URL2PDF.java:165)
    at com.zzzhc.common.utils.Demo4URL2PDF.main(Demo4URL2PDF.java:45)

  4. 求解,为什么会空指针异常?
    Exception in thread “main” java.lang.NullPointerException
    at liulanqi.Demo4URL2PDF.extractBlogInfo(Demo4URL2PDF.java:61)
    at liulanqi.Demo4URL2PDF.parseURL2PDFFile(Demo4URL2PDF.java:139)
    at liulanqi.Demo4URL2PDF.main(Demo4URL2PDF.java:45)

  5. 亲能把使用的jar 告诉下吗?

  6. 导出你这篇文章就出现空指针异常了
    String blogURL = “http://www.micmiu.com/opensource/expdoc/itext-url-pdf/”;
    Exception in thread “main” java.lang.NullPointerException
    at Demo4URL2PDF.extractBlogInfo(Demo4URL2PDF.java:48)
    at Demo4URL2PDF.parseURL2PDFFile(Demo4URL2PDF.java:111)
    atDemo4URL2PDF.main(Demo4URL2PDF.java:30)

  7. 哎,是包的问题,那是老的包,我网上下了一个itext-asian-5.2.0的包,问题解决了,我那个是2.0的版本,谢谢大神,加你微博关注了,有问题可以发微博咨询么?

  8. Font ‘STSongStd-Light’ with ‘UniGB-UCS2-H’ is not recognized.
    总是出现这个错误,怎么解决啊?

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">