将PDF导入/嵌入HTML(适用于PDF)

时间:2017-03-02 14:21:04

标签: html python-2.7 pdf wxpython

我们的一个应用程序创建了一个HTML报告,该报告通过浏览器显示给用户。随后将其转换为PDF文件,可以通过电子邮件发送或稍后查看。该报告可分为医疗/生活方式。我被要求允许选择和嵌入各种PDF,例如, HTML中的各种饮食和/或练习。该软件是用Python 2.7和wxPython 2.8编写的。我正在尝试找到一种方法将PDF嵌入到HTML中以供查看,然后将所有内容转换为最终的PDF文件。

2 个答案:

答案 0 :(得分:1)

几个月前,我在这个领域做了一些广泛的研究。如果您想使用HTML显示PDF,我首先会看https://github.com/mozilla/pdf.js

如果您的目标是从HTML页面生成PDF,那么我建议https://github.com/fraserxu/electron-pdf这是一个服务器端解决方案,用于生成PDF并将PDF发送回客户端。

使用electron-pdf,您可以选择在Node.JS API服务器后面运行它,这将使Electron实例运行以获得最佳延迟。或者,您可以使用CLI从Python代码调用导出。

自述文件涵盖了基本的使用场景。

答案 1 :(得分:0)

如果在Linux上运行,请查看wkhtmltopdf
手册页如下:

Name:
  wkhtmltopdf 0.12.2.4

Synopsis:
  wkhtmltopdf [GLOBAL OPTION]... [OBJECT]... <output file>

Document objects:
  wkhtmltopdf is able to put several objects into the output file, an object is
  either a single webpage, a cover webpage or a table of content.  The objects
  are put into the output document in the order they are specified on the
  command line, options can be specified on a per object basis or in the global
  options area. Options from the Global Options section can only be placed in
  the global options area

  A page objects puts the content of a singe webpage into the output document.

  (page)? <input url/file name> [PAGE OPTION]...
  Options for the page object can be placed in the global options and the page
  options areas. The applicable options can be found in the Page Options and 
  Headers And Footer Options sections.

  A cover objects puts the content of a singe webpage into the output document,
  the page does not appear in the table of content, and does not have headers
  and footers.

  cover <input url/file name> [PAGE OPTION]...
  All options that can be specified for a page object can also be specified for
  a cover.

  A table of content object inserts a table of content into the output document.

  toc [TOC OPTION]...
  All options that can be specified for a page object can also be specified for
  a toc, further more the options from the TOC Options section can also be
  applied. The table of content is generated via XSLT which means that it can be
  styled to look however you want it to look. To get an aide of how to do this
  you can dump the default xslt document by supplying the
  --dump-default-toc-xsl, and the outline it works on by supplying
  --dump-outline, see the Outline Options section.

Description:
  Converts one or more HTML pages into a PDF document, *not* using wkhtmltopdf
  patched qt.

Global Options:
      --collate                       Collate when printing multiple copies
                                      (default)
      --no-collate                    Do not collate when printing multiple
                                      copies
      --copies <number>               Number of copies to print into the pdf
                                      file (default 1)
  -H, --extended-help                 Display more extensive help, detailing
                                      less common command switches
  -g, --grayscale                     PDF will be generated in grayscale
  -h, --help                          Display help
      --license                       Output license information and exit
  -l, --lowquality                    Generates lower quality pdf/ps. Useful to
                                      shrink the result document space
  -O, --orientation <orientation>     Set orientation to Landscape or Portrait
                                      (default Portrait)
  -s, --page-size <Size>              Set paper size to: A4, Letter, etc.
                                      (default A4)
  -q, --quiet                         Be less verbose
      --read-args-from-stdin          Read command line arguments from stdin
      --title <text>                  The title of the generated pdf file (The
                                      title of the first document is used if not
                                      specified)
  -V, --version                       Output version information and exit