很抱歉你不喜欢我的书。
你读过第16章吗?您希望将文件嵌入为文档级附件,如下所示:
PdfFileSpecification fs = PdfFileSpecification.FileEmbedded(writer, ... );
fs.AddDescription("specificname", false);
writer.AddFileAttachment(fs);
在文档中,您要创建一个链接,以打开使用关键字“特定名称”描述的 PDF 文档。这是通过一个动作完成的:
PdfTargetDictionary target = new PdfTargetDictionary(true);
target.EmbeddedFileName = "specificname";
PdfDestination dest = new PdfDestination(PdfDestination.FIT);
dest.AddFirst(new PdfNumber(1));
PdfAction action = PdfAction.GotoEmbedded(null, target, dest, true);
您可以将此操作用于注释、块等...例如:
Chunk chunk = new Chunk(" (see info)");
chunk.SetAction(action);
认为这适用于任何附件是一种常见的误解。但是,ISO-32000-1 对 GotoE(mbedded) 功能非常清楚:
12.6.4.4 嵌入式 Go-To 动作
嵌入式 go-to 动作 (PDF 1.6) 类似于远程 go-to 动作,但允许跳转到或从嵌入在另一个 PDF 文件中的 PDF 文件(参见 7.11.4,“嵌入式文件流“)。流”)。
如果您想问“我想将任何文件(例如 Docx、jpg、... 文件)附加到我的 PDF 中,并在 PDF 中添加一个在单击链接时打开此类文件的操作”,那么您就是询问 PDF 规范中不支持的内容。
请随意阅读 ISO-32000-1。如果您不理解我的书,您将不得不付出额外的努力来尝试阅读 PDF 标准...