如何将html页面转成pdf

2024-11-27 17:29:22
推荐回答(5个)
回答1:

 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是非常简单的事情。

回答2:

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页面。页面的顶上必须是这样的格式:


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

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

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

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

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

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);

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

回答3:

安装一个虚拟的PDF打印机就可以转成PDF了

回答4:

打开网页 选择打印 然后选择打印源 选择保存为pdf

回答5:

不能转换的,只能旋转PDF文件页面
旋转PDF文件页面的话,用工具就很好的解决了,能节省很多时间的
把PDF文件打开在工具上面,可以熟悉下工具
在选择旋转页面,旋转90度就可以了(迅捷 PDF 编辑器)