将文件转换(打印)为 PDF - 使用 R? (在窗口中)

发布于 2024-12-05 11:22:27 字数 65 浏览 0 评论 0原文

我希望使用 R 将 HTML 文件转换为 PDF 文件。

是否有命令或工具/命令组合可以执行此转换?

I wish to convert an HTML file into a PDF file, using R.

Is there a command, or a combination of tools/commands, that can perform this conversion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

春花秋月 2024-12-12 11:22:27

更新:如果您安装了 Pandoc,您可以使用类似的东西。

html_to_pdf <- function(html_file, pdf_file) {
  cmd <- sprintf("pandoc %s -t latex -o %s", html_file, pdf_file)
  system(cmd)
}

有一些 Web 服务可以进行 HTML 到 PDF 的转换,并具有 REST API,因此您可以使用 RCurl 调用它们。快速互联网搜索可以找到 pdfcrowd.com。它们允许您上传文档以及转换 URL,但这是一项付费服务​​。

下一个点击是 joliprint,它是免费的。试试这个:

library(RCurl)
url_to_convert <- curlEscape("http://lifehacker.com/5706937/dont-make-important-decisions-until-your-decision-time") #or wherever

the_pdf <- getForm(
  "http://eu.joliprint.com/api/rest/url/print", 
  url = url_to_convert
)

Update: if you have Pandoc installed, you can use something like

html_to_pdf <- function(html_file, pdf_file) {
  cmd <- sprintf("pandoc %s -t latex -o %s", html_file, pdf_file)
  system(cmd)
}

There are a few web services that do HTML to PDF conversion and have REST APIs so you can call them with RCurl. A quick internet search gives pdfcrowd.com. They let you upload documents as well as converting URL, but it's a paid for service.

Next hit is joliprint, which is free. Try this:

library(RCurl)
url_to_convert <- curlEscape("http://lifehacker.com/5706937/dont-make-important-decisions-until-your-decision-time") #or wherever

the_pdf <- getForm(
  "http://eu.joliprint.com/api/rest/url/print", 
  url = url_to_convert
)
满地尘埃落定 2024-12-12 11:22:27

wkhtmltopdf 是一个很好的跨平台工具。根据您的操作系统进行安装,然后从 R 进行调用,例如

system("wkhtmltopdf --javascript-delay 1 in.html out.pdf")

我发现 javascript 延迟是必要的,以避免由于加载 MathJax 而导致消息“正在加载 [Contrib]/a11y/accessibility-menu.js”包含在 pdf 中 - 其中R markdown 生成的 HTML 文件就可以了。

wkhtmltopdf is a nice cross-platform tool for this. Install as appropriate for your operating system, then call from R e.g.

system("wkhtmltopdf --javascript-delay 1 in.html out.pdf")

I found the javascript delay necessary to avoid the message "Loading [Contrib]/a11y/accessibility-menu.js" being included in the pdf as a result of loading MathJax - which HTML files generated by R markdown will do.

一袭白衣梦中忆 2024-12-12 11:22:27

要将 html 转换为 pdf,您可以使用:

library(pagedown)
chrome_print(path_To_Html, output = path_To_PDF)

To convert from html to pdf, you can use :

library(pagedown)
chrome_print(path_To_Html, output = path_To_PDF)
淡看悲欢离合 2024-12-12 11:22:27

如果您可以将代码作为 R markdown 文件,您还可以选择 knit 为 pdf。

You can also choose to knit to pdf if you can have your code as an R markdown file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文