pdfObjective-C 中 PDFKit 的大纲

Posted

技术标签:

【中文标题】pdfObjective-C 中 PDFKit 的大纲【英文标题】:pdfOutline of PDFKit in Objective-C 【发布时间】:2018-10-06 01:54:12 【问题描述】:

我尝试扩展(我是 Objective-C 的初学者)一个带有 PDF-included Outlines 的 pdf-viewer。查看器基于 Apple 的 PDFKit。 (https://developer.apple.com/documentation/pdfkit/pdfoutline)

这就是我到目前为止所做的:

    PDFPage *page = [_pdfDocument pageAtIndex:_pdfDocument.pageCount-1];
    PDFOutline *pdfOutline = [_pdfDocument outlineRoot];

    NSLog(@"LOG of pdfOutline");
    NSLog(@"%@", pdfOutline);
    NSLog(@"%i", pdfOutline.numberOfChildren);

这给了我以下输出:

[3685:9776989] LOG of pdfOutline
[3685:9776989] <PDFOutline: 0x60c000203370>
[3685:9776989] 4

到目前为止一切都很好,但我需要 jsonObject 中的标签和页码(这是稍后在 react-native 回调中使用它的必要原因)。我什至不确定“pdfOutline”的输出是什么。

我真的不知道如何开始。目标很明确,从轮廓生成一个json-object。

【问题讨论】:

【参考方案1】:

这只是给了你一个指向对象的指针。需要使用pdfOutline.label方法获取大纲标签的文字。

大纲不包含页码,而是一个目标对象,您可以使用.destination 方法读取该对象;或一个动作对象。目的地是页码、页面坐标和可选的缩放级别。 Action 可以是“Go to page”、URL 或其他。

不要忘记 PDFKit 中的页码从 0 开始,而不是 1。!!

【讨论】:

以上是关于pdfObjective-C 中 PDFKit 的大纲的主要内容,如果未能解决你的问题,请参考以下文章

Python pdfkit

在节点 js 中使用 pdfkit 指定 PDF 页面大小

使用 PDFKit 编辑 PDF

PDFKit 交换注释的内容

在节点 js 中使用 pdfkit 不会改变 PDF 页面大小

PDF之pdfkit