首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript将HTML (具有JavaScript )转换为PDF

使用Javascript将HTML (具有JavaScript )转换为PDF
EN

Stack Overflow用户
提问于 2009-11-06 16:48:07
回答 7查看 129.5K关注 0票数 15

我想转换超文本标记语言(包含JavaScript )到一个PDF。我该怎么做呢?

我只想展示网页中显示的内容。我正在显示一个由JavaScript库生成的甘特图。

现在我想把HTML网页另存为PDF,该怎么做呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-11-09 22:39:01

我们也在寻找一些方法来转换html文件与复杂的javascript到pdf。我们文件中的javasript包含document.write和DOM操作。

我们已经尝试使用HtmlUnitFlying Saucer的组合来解析文件和呈现为pdf,但结果不够令人满意。它可以工作,但在我们的例子中,pdf不够接近用户想要的。

如果你想尝试一下,这里有一个将本地html文件转换为pdf的代码片段。

代码语言:javascript
复制
URL url = new File("test.html").toURI().toURL();
WebClient webClient = new WebClient(); 
HtmlPage page = webClient.getPage(url);

OutputStream os = null;
try{
   os = new FileOutputStream("test.pdf");

   ITextRenderer renderer = new ITextRenderer();
   renderer.setDocument(page,url.toString());
   renderer.layout();
   renderer.createPDF(os);
} finally{
   if(os != null) os.close();
}
票数 5
EN

Stack Overflow用户

发布于 2018-06-05 22:05:14

我很惊讶没有人提到使用API来完成这项工作的可能性。

当然,如果您想保持安全,使用javascript直接从浏览器中将HTML转换为PDF不是一个好主意。

但这是你可以做的:

当你的用户点击“打印”(例如)按钮时,你:

instance).

  • This将请求发送到位于特定终结点的服务器,其中包含有关要转换的内容的详细信息(终结点的页面的URL随后将发送数据以转换为
  1. ,并将接收
  2. 响应中的
  3. 并返回给您的用户。

从用户的角度来看,他们将通过单击按钮来接收PDF。

有许多可用的API可以完成这项工作,其中一些比其他的更好(这不是我在这里的原因),谷歌搜索会给你很多答案。

根据你的后台写的是什么,你可能会对PDFShift感兴趣(真相:我在那里工作)。

他们提供了适用于PHP、Python和Node.js的现成包。你所要做的就是安装软件包,创建一个帐号,并指出你的API密钥,然后你就都设置好了!

API的优点是它们在所有语言中都能很好地工作。您所要做的就是请求(通常是POST),其中包含您想要转换的数据并获得PDF。根据你的使用情况,它通常是免费的,除非你是一个重度用户。

票数 2
EN

Stack Overflow用户

发布于 2009-11-06 17:07:23

使用浏览器的Print...菜单项,您可以使用PDF Printer驱动程序,如PDFCreator。这样,在呈现页面时,浏览器将处理页面中包含的任何JavaScript。

是一个免费的工具,可以从几乎任何Windows应用程序创建PDF文件。

  • 可从任何能够打印

的程序创建PDF

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1686280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档