pdfOutline von PDFKit in Objective-C

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • pdfOutline von PDFKit in Objective-C

    Hallo,

    ich hoffe ich bin hier richtig und hoffe das mir jemand helfen kann. Also ich versuche mich gerade an Objectiv-C und da ich irgendwie eher so der "learning by doing Typ" bin fällt mir das ganze nicht so einfach, wie z.B. bei diversen Scriptsprachen.

    Nun ja - eigentlich möchte ich etwas komplett einfaches machen, ich möchte einen bestehendne PDV-Viewer um die Outlines (im PDF eingefügte Leserzeichen) erweitern. Der PDF-Viewer nutzt Apples PDFKit (developer.apple.com/documentation/pdfkit/pdfoutline)

    Bisher bin ich "soweit" gekommen:

    Quellcode

    1. PDFPage *page = [_pdfDocument pageAtIndex:_pdfDocument.pageCount-1];
    2. PDFOutline *pdfOutline = [_pdfDocument outlineRoot];
    3. NSLog(@"LOG of pdfOutline");
    4. NSLog(@"%@", pdfOutline);
    5. NSLog(@"%i", pdfOutline.numberOfChildren);

    Soweit so gut, im Log erscheint dann:

    Quellcode

    1. [3685:9776989] LOG of pdfOutline
    2. [3685:9776989] <PDFOutline: 0x60c000203370>
    3. [3685:9776989] 4
    Aber irgendwie muss ich an die Labels und an den Seitenindex kommen um das ganze dann am ende dann in ein jsonObject zu packen (Ich möchte das json-Object dann zurück an React-Native übergeben). Ich bin eigentlich auch absolut nicht sicher was der Output von pdfOutline ist.

    Aktuell stehe ich irgendwie mit dem Rücken zur Wand und weiß nicht mehr richtig weiter.
  • Ich glaube, Du wirst trotz "learning by doing typ" nicht umhin kommen, in die Dokumentation von Apple zu schauen: Dort kannst Du sehen, dass ein PDF-Dokument diverse Outlines beinhalten kann und Du mit o. g. Code eben nur das Root-Element erhältst. Mit den entsprechenden Properties findest Du das Label eines Outlines (Root hat keinen) und dessen Kinder. Rekursiv kannst Du dann durch die Baum-Struktur laufen und Dir alle Labels zusammensuchen.

    Keine Ahnung, ob es einen einfacheren Weg gibt, direkt alle Labels zu finden.

    BTW, der "Output" von pdfOutline wurde Dir oben in der Konsole angezeigt: Ein Objekt vom Typ PDFOutline ... dies wäre genau der Hinweis auf die von mir verlinkte Dokumentation gewesen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.