HTML Help Workshop - 如何 link 一个外部文件

HTML Help Workshop - How to link an external file

我正在研究为 PDF 等文件提供外部 link 的可能性。

我是否需要将此 .pdf 文件包含在 [Files] 部分下的 .hpp 文件中?

最好的方法是什么?

这取决于您想要实现的目标。由于 *.CHM 文件方面的一些安全问题,独立工作 PC/Laptop 与在公司网络中工作不同。

首先请按照Including a PDF file in SHFB generated .chm (Html Helpfile 1)中描述的步骤进行操作。

您会找到一些用于自学帮助创作的文件。当然,PDF 示例也集成为 HTML 帮助示例。请注意主题本身和 PDF 文件包含特定信息。

例如嵌入式 PDF:

确保将您的 *.PDF 文件添加到 **.HHP 文件的 [FILES] 部分,如下所示:

[FILES]
design.css
index.htm
embedded_files\example_embedded.pdf

和 link 来自 HTML (CHM):

<p><a href="../embedded_files/example-embedded.pdf">Link relative to PDF</a></p>

从 Table 目录 (TOC) link 转换为 PDF 的示例:

这是避免再次编译 CHM 的解决方案(参见上面屏幕截图中的目录)。您可能希望在用户 PC 上保存更新的 PDF,例如由安装程序。请注意,这仅供 Windows 和 Internet Explorer 使用。

这是一个从目录 (TOC) Table 启动 Acrobat Reader 的 PDF 示例。您可以在 HTML 帮助文件 (CHM) 的主题 window 中查看如何显示 PDF 文件。 PDF 文档未编译到 CHM 文件中。您可以更新此文件而无需重新编译 CHM 文件。

PDF 文件必须位于本地 CHM 文件下的子文件夹中,例如external_files/example-external-pdf.pdf.

To link from TOC to “external_files/ example-external-pdf.pdf” 添加以下行到目录文件的 HTMLHelp Table (HHC):

<LI> <OBJECT type="text/sitemap">
     <param name="Name" value="How to link to PDF file (not embedded)">
     <param name="Local" value="HTMLHelp_Examples/example-external-pdf.htm">
     </OBJECT>

此 HTML example-external-pdf.htm 具有以下代码:

<html>
<head>
<title>Example load PDF from TOC</title>
<SCRIPT Language="JScript">
function parser(fn) {
var X, Y, sl, a, ra, link;
ra = /:/;
a = location.href.search(ra);
if (a == 2)
X = 14;
else
X = 7;
sl = "\";
Y = location.href.lastIndexOf(sl) + 1;
link = 'file:///' + location.href.substring(X, Y) + fn;
location.href = link;
}
parser('external_files/example-external-pdf.pdf');
</SCRIPT>
</head>
<body>
</body>
</html>

您需要进一步了解 Acrobat Reader 和 Internet Explorer:

https://helpx.adobe.com/acrobat/using/display-pdf-in-browser.html

您可以根据需要下载示例:Project with all files and tricky examples