如何将html页面转成pdf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将html页面转成pdf相关的知识,希望对你有一定的参考价值。

 1  安装Adobe Acrobat后会默认在IE浏览器中添加PDF工具栏。
  该工具可以方便的将网页转化成PDF文档,或者添加入已有的PDF文档,Adobe PDF Explorer工具栏则可以在IE的收藏夹界面内管理window内的html文档与PDF文档的转化。


       2、安装单独的pdf虚拟打印机(pdffactory、ultra pdf等),通过网页的打印功能转换。



 3  使用客户端软件HTML2PDF_Pilot。
  HTML2PDF_Pilot的截面如上图,很简洁。
  如果只是要完成最简单的工作只需如箭头所示,点击上方的添加按钮添加HTML文档然后点击转换,稍等既可以完成一个HTML文档的转化工作。
  两种方法的比较
  灵活性:
  PDF工具栏的方式相比客户端的方式要灵活许多。
  在使用的过程中发现HTML2PDF_Pilot不能通过URL(网址)直接转化PDF文档,而工具栏只需在浏览的过程随意使用。
  功能:  在功能的环节上,客户端方式的HTML2PDF_Pilot就明显要比PDF工具栏要强大许多
  工具栏只提供了最基本的保存和添加入已有文档的功能,而HTML2PDF_Pilot则提供了更为丰富的选项。
  另外,如果需要批量转化网页文件的话,工具栏的方式也无法提供对应的功能。
  其实还是有很多可以选择的方式,比如把网页转化为WORD的文件格式然后通过WPS软件来转化文档等,只要能灵活运用,html文件转PDF是非常简单的事情。

参考技术A public boolean convertHtmlToPdf(String inputFile, String outputFile)
throws Exception 

        OutputStream os = new FileOutputStream(outputFile);     
        ITextRenderer renderer = new ITextRenderer();     
        String url = new File(inputFile).toURI().toURL().toString(); 
       
        renderer.setDocument(url);   
        
        // 解决中文支持问题     
        ITextFontResolver fontResolver = renderer.getFontResolver();    
        fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);     
        //解决图片的相对路径问题
        renderer.getSharedContext().setBaseURL("file:/D:/");
        renderer.layout();    
        renderer.createPDF(os);  
        
        os.flush();
        os.close();
return true;

上面这段代码是这样的,输入一个HTML地址URL = inputFile,输入一个要输出的地址,就可以在输出的PDF地址中生成这个PDF。

注意事项:

1.输入的HTML页面必须是标准的XHTML页面。页面的顶上必须是这样的格式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

并且HTML页面的语法必须是非常严谨的,所有标签都必须闭合等等(由于flying-Saucer做了XML解析的工作,不严谨会报错的。),这是对页面的第一个要求。

2.要用到图片的地方写相对路径的形式,比如:

<img src="a.jpg" alt="323" width="252" height="80" />

而它的图片位置则必须在Java代码中指定。

renderer.getSharedContext().setBaseURL("file:/D:/");

也有另一种方法就是直接在<img>标签中写绝对路径。

3.Flying-Saucer在解析tiff格式的图片的时候会报错。具体原因我还没找到。希望大家能够指点我。

4.如果在页面中有中文字体的话。必须在HTML代码中的样式中写上某种字体的css,并且必须是用英文的,然后在Java代码中写上对应的文件位置。

ITextFontResolver fontResolver = renderer.getFontResolver();
           fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

上面的方法是添加了宋体。也可以添加其他字体。

参考技术B 安装一个虚拟的PDF打印机就可以转成PDF了 参考技术C 打开网页 选择打印 然后选择打印源 选择保存为pdf 参考技术D 不能转换的,只能旋转PDF文件页面
旋转PDF文件页面的话,用工具就很好的解决了,能节省很多时间的
把PDF文件打开在工具上面,可以熟悉下工具
在选择旋转页面,旋转90度就可以了(迅捷 PDF 编辑器)

如何将 HTML 页面的一部分转成 PDF

1、用浏览器转换

这个方法是最简单、高效的,安装了360浏览器或者火狐及Chrome谷歌浏览器就可以轻松实现。以360浏览器为例,在浏览器的右上角点击“文件”按钮,如下图:

  

然后选择“打印”,然后选择另存为PDF就可以了,如下图所示:

 

选择目标另存为PDF,这个是将整个网页转换成PDF文件的,有时网页很长可能会有2、3页的PDF。目前上面演示的这个功能可以在所有给予Chrome内核的浏览器中实现,包括360、搜狗极速版、Chrome、捷豹浏览器,而且操作上基本都一样。但IE内核就没有这个功能,而火狐里面则方法不同,不过肯定有插件可以实现。

2、在线转换

在线转换就是你打开一个网址,在里面可以输入你想要转换成PDF的网址,然后那个网站会自动帮你转换,然后下载到你电脑中。目前这方面的在线转换工具有很多,百度搜索了一下就能找到

可以将网页转换为PDF。只要输入网址,并击中转换!不需要注册,在输入框中输入要转换的网页网址,然后点击后面的“Convert!”,稍等片刻后就可以点击输入框下面的下载链接将转换的PDF文件下载到电脑中了,很方便。

参考技术A

转换PDF文件需要用到其他工具,

这里介绍旋转页面,多学一种技巧。 

多学一个技巧还是挺好的,这样就能轻松解决上班了。

参考技术B 装一个福昕阅读器,然后再要保存为PDF格式的网页空白处点击右键,然后选择打印,打印的时候保存为pdf格式即可,如下是本网页保存的pdf文件: 参考技术C 如果你使用chrome预览,就比较简单了。 点打印-目标-选本地另存为pdf即可。
其它的浏览器如IE的,请安装Adobe Acrobat XI Pro软件,用Adobe PDF打印机打印你要输出的内容,即可得到PDF文档。本回答被提问者采纳
参考技术D 建议你用google的chrome浏览器打开html文件。
如果你使用chrome预览,就比较简单了。 点打印-目标-选本地另存为pdf即可。
望采纳!
如果你还是不会,给我留言我在线教你!

以上是关于如何将html页面转成pdf的主要内容,如果未能解决你的问题,请参考以下文章

如何将html文件转成pdf 在线转换

前端html页面转成pdf格式并下载

如何将 HTML 转成 PDF

如何让PPT转成PDF后占满整个页面

如何将html 转成word文件

如何从数据库取出一个list,到页面转换为Json,做成一个报表?菜鸟刚学,