2017-03-02 300 views
0

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

回答

0

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

如果你的目标是从HTML页面生成PDF,那么我会推荐https://github.com/fraserxu/electron-pdf这是一个服务器端解决方案来生成和发送PDF返回给客户。

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

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

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