HTML 转 PDF 示例配置与运行指南
本指南将详细介绍如何在 Windows (Java) 环境下配置和运行福昕 PDF SDK 的 HTML 转 PDF 示例程序。开发者可查阅 HTML 转 PDF 了解如何通过调用接口使用该功能模块。
系统要求
- 平台: Windows, Linux (x86 和 x64), Mac
- 开发语言: C, C++, Java, C#, Python, Objective-C
- 授权许可: 包含
Conversion
模块权限的授权码 - SDK 版本: 福昕 PDF SDK (C++, Java, C#, Objective-C) 7.0 或更高版本;福昕 PDF SDK (C) 7.4 或更高版本;福昕 PDF SDK (Python) 8.3 或更高版本
HTML 转 PDF 引擎资源获取
请联系福昕技术支持或您的销售代表获取 HTML 转 PDF 引擎文件包。
示例运行指南
示例程序位置:
- html2pdf 示例程序位于
\examples\simple_demo\html2pdf
目录下。
构建 HTML2PDF 引擎目录
在运行 html2pdf 示例程序之前,您需要将引擎文件包解压至指定目录(例如:Windows 解压至 "D:/htmltopdf/win/"),并将引擎文件路径传递给 com.foxit.sdk.addon.conversion.Convert.fromHTML
API,以执行 HTML 到 PDF 的转换。
配置示例程序
您可以通过编辑 \examples\simple_demo\html2pdf\html2pdf.java
文件或在命令行窗口中直接传递参数来配置 html2pdf 示例程序。以下以 Windows 平台为例,展示如何在 html2pdf.java
文件中进行配置。Linux 和 Mac 平台的配置步骤类似。
指定 HTML2PDF 引擎资源目录:
在 "html2pdf.java" 文件中,添加 "fxhtml2pdf.exe" 引擎文件的路径,用于初始化 HTML 到 PDF 的转换引擎。
(可选) 指定 Cookies 文件路径:
添加 Cookies 文件路径,用于转换需要身份验证的网页。
运行示例程序
html2pdf 示例支持两种运行方式, 一种是直接运行 SDK 提供的可执行程序, 即不带参数运行示例;另一种是带参数运行示例。
不带参数运行:
定位至 \examples\simple_demo\html2pdf
目录,运行 RunDemo.bat
,控制台将输出相关信息。
带参数运行:
关于示例命令行参数, 请查阅下文 HTML2PDF 示例命令行参数描述。
- 定位至
\examples\simple_demo\html2pdf
目录,运行RunDemo.bat
。 - 打开命令行窗口,导航至
\examples\simple_demo\html2pdf
目录,执行java -Djava.library.path=../../../lib -classpath.;../../../lib/fsdk.jar html2pdf --help
命令,查看参数使用说明。
例如,将 "www.foxitsoftware.com" 网页转换为 PDF 文件,并设置 PDF 页面宽度为 900 points,高度为 300 points:
转换后的 PDF 文档将保存在 \examples\simple_demo\output_files\html2pdf
目录下。
HTML2PDF 示例命令行参数描述
html2pdf 支持 带参数运行示例程序,下面是关于命令行的运行语法及参数的详解。
基本语法列表:
[//]: # (*html2pdf\_xxx <-html <The url or html path>> <-o <output pdf path>> <)
[//]: # (-engine <htmltopdf engine path>>[-w <page width>] [-h <page height>] [-ml <margin left>] [-mr <margin right>]*)
[//]: # ()
[//]: # (*[-mt <margin top>] [-mb <margin bottom>] [-r <page rotation degree>] [-mode <page mode>] [-scale <scaling mode>] [-link <whether to convert link>]*)
[//]: # ()
[//]: # (*[-tag <whether to generate tag>] [-bookmarks <whether to generate bookmarks>]*)
[//]: # ()
[//]: # (*[-print\_background <whether to print background>]*)
[//]: # ()
[//]: # (*[-optimize\_tag <whether to optimize tag tree>] [-media <media style>] [-encoding <HTML encoding format>] [-render\_images <Whether to render images>]*)
[//]: # ()
[//]: # (*[-remove\_underline\_for\_link <Whether to remove underline for link>]*)
[//]: # ()
[//]: # (*[-headerfooter <Whether to generate headerfooter>] [-headerfooter\_title <headerfooter title>] [-headerfooter\_url <headerfooter url>] [-bookmark\_root\_name <bookmark root name>] [-resize\_objects <Whether to enable the JavaScripts related resizing of the objects>]*)
[//]: # ()
[//]: # (*[-cookies <cookies file path>] [-timeout <timeout>][--help<Parameter usage>]*)
符号含义:
- <>:表示必选
- [ ]:表示可选
参数说明:
参数 | 描述 |
---|---|
--help | 参数用法的帮助信息。 |
-html | URL 或者 html 文件的路径。比如'-html <www.foxitsoftware.com'。> |
-o | 输出 PDF 文件的路径。 |
-engine | "fxhtml2pdf.exe" 引擎文件的路径。 |
-w | 输出 PDF 文件页面的宽度,单位是 points。 |
-h | 输出 PDF 文件页面的高度,单位是 points。 |
-r | 输出 PDF 文件页面的旋转度。 - 0 : 0 . - 1 : 90 度. - 2 : 180 度. - 3 : 270 度. |
-ml | 输出 PDF 文件页面的左边距。 |
-mr | 输出 PDF 文件页面的右边距。 |
-mt | 输出 PDF 文件页面的上边距。 |
-mb | 输出 PDF 文件页面的下边距。 |
-mode | 输出 PDF 文件的页面模式。 - 0 : 单页模式。 - 1 : 多页模式。 |
-scale | 页面缩放模式。 - 0 : 不需要缩放页面。 - 1 : 将 HTML 页面缩放到输出的 PDF 的页面大小。 - 2 : 将 输出的 PDF 页面放大到 HTML 的页面大小。 |
-link | 是否转换链接。 - 'yes' : 转换链接。 - 'no' : 不需要转换链接。 |
-tag | 是否生成 tag. - 'yes' : 生成 tag。 - 'no' : 不需要生成 tag。 |
-bookmarks | 是否生成书签。 - 'yes' : 生成书签。 - 'no' : 不需要生成书签。 |
-print_background | 是否打印背景。 - 'yes' : 打印背景。 - 'no' : 不需要打印背景。 |
-optimize_tag | 是否优化 tag 树。 - 'yes' : 优化 tag 树。 - 'no' : 不需要优化 tag 树。 |
-media | 媒体风格。 - 0 : 屏幕媒体风格。 - 1 : 印刷媒体风格。 |
-encoding | HTML 编码格式。 - 0 : 自动编码。 - 1-73 : 其它编码. |
-render_images | 是否渲染图片。 - 'yes' : 渲染图片。 - 'no' : 不需要渲染图片。 |
-remove_underline_for_link | 是否删除链接的下划线。 - 'yes' : 删除链接的下划线。 - 'no' : 不需要删除链接的下划线。 |
-headerfooter | 是否生成页眉页脚。 - 'yes' : 生成页眉页脚。 - 'no' : 不需要生成页眉页脚。 |
-headerfooter_title | 页眉页脚的标题信息。 |
-headerfooter_url | 页眉页脚的 url 信息。 |
-bookmark_root_name | 书签根名称。 |
-resize_objects | 是否在渲染过程中启用调整对象大小相关的 JavaScripts。 - 'yes' : 启用。 - 'no' : 不启用。 |
-cookies | cookies 文件路径,该文件是从您需要转换的 web 页面中导出的。 |
-timeout | 加载 web 页面的超时时间。 |