pdf 怎么把html变成pdf

 我来答
好程序员
2016-07-07 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部

 1 用Adobe Acroat 8.1.2,打开网页后,页面右键菜单中会出现一个“转换为Aobe PDF的选项,点击就可以转换。

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

机杼开心3767
2019-05-08 · TA获得超过187个赞
知道答主
回答量:168
采纳率:10%
帮助的人:17.7万
展开全部
文件的转换我们经常使用,那么如何将pdf转换成html文件呢?,这里小编使用的方法就简单了。步骤如下:
1、我们打开电脑,浏览器百度搜索“迅捷在线pdf转换器”关键字,找到相关的网页资料,打开
2、进入界面,在首页一栏的“文档转换”“PDF转换”下找到“PDF转HTML”点击
3、在刷新的页面,点击“点击选择文件”进行添加需要转换的文件

4、在“自定义设置转换如下”里,可以对转换的页码,文件的是否公开进行选择

5、设置好后点击“开始转换”就可以进行转换了

6、耐心等待转换条的完成,点击“立即下载”对文件进行保存,在下载之前你也可以先预览转换效果

pdf转html的转换到这就结束了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就烦条0o
2016-05-29 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
方法一:

最初是在老外的网站看到 http://hmkcode.com/itext-html-to-pdf-using-java/

Java代码
// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"));
// step 3
document.open();
// step 4
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream("index.html"));
//step 5
document.close();

System.out.println( "PDF Created!" );

Maven构建对应的版本 关于eclipse配置maven,可以参考此文

Xml代码
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.4.1</version>
</dependency>

最简单的方式,HTML支持度很好,可惜不支持中文 源码地址:https://github.com/hmkcode/Java/blob/master/itext-java-html-pdf

方法二:

使用的jar包:itext-2.0.8.jar core-render.jar

App.java

Java代码
/**
*
* @author LJS
*
*/
public class App {
public void createPdf() throws Exception {
// step 1
String inputFile = "index.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "index.pdf";
System.out.println(url);
// step 2
OutputStream os = new FileOutputStream(outputFile);
org.xhtmlrenderer.pdf.ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);

// step 3 解决中文支持
org.xhtmlrenderer.pdf.ITextFontResolver fontResolver = renderer
.getFontResolver();
fontResolver.addFont("c:/Windows/Fonts/simsun.ttc", BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED);

renderer.layout();
renderer.createPDF(os);
os.close();

System.out.println("create pdf done!!");
}

public static void main(String[] args) throws Exception {
App app = new App();
app.createPdf();
}

}

注意指定中文字体

要转换的HTML

index.html

Html代码
<!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 ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>itext-zh-cn</title>
<style type="text/css">
body {
font-family: SimSun;
}
</style></head>

<body>
<p align="left" >OK,支持中文了:)</p>

</body>
</html>

同样也要指定中文字体,区分大小写

运行程序,转换结果:

(字体样式和大家熟知的宋体不同,因为我替换了系统默认的宋体,pdf查看工具推荐PDF-XChange Viewer)

pdf样式修改为A4 ( Document doc = new Document(PageSize.A4.rotate());)

在index.html中添加

Html代码
<style type="text/css">
@page{ size: 11.69in 8.27in;}
...
</style>

注意:无论哪种方式的Html格式转换pdf,对于html源文件要求是语法严格的;方法二支持基本的CSS样式,可以调整出合适的HTML模板。

大家有更好的方法,欢迎交流

其他:itext添加图片方法:实际应用中,应该与生成pdf合成一步提升性能

Java代码
public static void addImg(String fm) throws Exception {
PdfReader reader = new PdfReader("temp.pdf");
PdfStamper stamp = new PdfStamper(reader,new FileOutputStream("model.pdf"));
Image img = Image.getInstance("code.png"); //使用png格式
img.setAlignment(Image.LEFT | Image.TEXTWRAP);
img.setBorderWidth(10);
img.setAbsolutePosition(420, 240);
img.scaleToFit(1000, 60);// 大小
PdfContentByte over = stamp.getUnderContent(1); // overCount 与underCount
over.addImage(img);
stamp.close();
reader.close();
}

itext 版本号众多,可以在gerpcode查找其所有的版本
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式