如何将html页面转成pdf

 我来答
坐照
高粉答主

推荐于2017-10-04 · 每个回答都超有意思的
知道顶级答主
回答量:5.1万
采纳率:67%
帮助的人:3.7亿
展开全部

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

千锋教育
2016-07-11 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
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);

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f79096475
2017-06-29
知道答主
回答量:4
采纳率:0%
帮助的人:4012
展开全部
安装一个虚拟的PDF打印机就可以转成PDF了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunpled
2014-12-27 · TA获得超过161个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:164万
展开全部
打开网页 选择打印 然后选择打印源 选择保存为pdf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-01-30
展开全部
不能转换的,只能旋转PDF文件页面
旋转PDF文件页面的话,用工具就很好的解决了,能节省很多时间的
把PDF文件打开在工具上面,可以熟悉下工具
在选择旋转页面,旋转90度就可以了(迅捷 PDF 编辑器)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式