Skip to content

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 的转换引擎。

初始化 html2pdf 引擎

(可选) 指定 Cookies 文件路径:

添加 Cookies 文件路径,用于转换需要身份验证的网页。

指定 cookies 文件

运行示例程序

html2pdf 示例支持两种运行方式, 一种是直接运行 SDK 提供的可执行程序, 即不带参数运行示例;另一种是带参数运行示例。

不带参数运行:

定位至 \examples\simple_demo\html2pdf 目录,运行 RunDemo.bat,控制台将输出相关信息。

不带参数运行示例程序

带参数运行:

关于示例命令行参数, 请查阅下文 HTML2PDF 示例命令行参数描述

  1. 定位至 \examples\simple_demo\html2pdf 目录,运行 RunDemo.bat
  2. 打开命令行窗口,导航至 \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参数用法的帮助信息。
-htmlURL 或者 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' : 不启用。

-cookiescookies 文件路径,该文件是从您需要转换的 web 页面中导出的。
-timeout加载 web 页面的超时时间。