Pdf.js: Feature-Anfrage für die Zukunft: PDF-Layer

Erstellt am 17. Juli 2011  ·  32Kommentare  ·  Quelle: mozilla/pdf.js

Das ist alles.

Der Code sieht wirklich vielversprechend aus!

1-core 2-feature

Hilfreichster Kommentar

Erwarten Sie auch diese Funktion. Ebeneninformationen abrufen / Ebene anzeigen / Ebene ausblenden.

Alle 32 Kommentare

Nicht klar, was das bedeutet. Der Benutzer ist auf Github nicht mehr aktiv. Kann auf Anfrage wieder geöffnet werden.

Lass mich das für dich googeln.

http://www.google.com/search?q=site : adobe.com + pdf + layer
http://www.google.com/search?q=site : adobe.com + pdf +% 22optional + content + group% 22

Standard seit PDF-Spezifikation 1.5.
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
Abschnitt 8.11.3 "Grafischen Inhalt optional machen"

Seit etwa einer Milliarde Jahren in der Benutzeroberfläche jedes Adobe PDF-Viewers vorhanden.
PDF-Ebenen entsprechen sinnvollerweise Illustrator (und ähnlichen) Zeichenprogrammebenen, Ebenen in der GIS-Ausgabe usw.

Ich wäre auf Github (und mit anderer freier Software) "aktiver", wenn ich es genießen würde, über mehr geschlagen zu werden. (Ich habe die Verwendung von Firefox seit dem "Upgrade" eingestellt, bei dem das wirklich nützliche Plugin http://code.google.com/p/firefox-mac-pdf/ abgeschaltet wurde, das ebenfalls keine Unterstützung für PDF-Ebenen hatte, aber ansonsten sehr gut funktionierte Browser ohne PDF-Anzeige = nutzlos. Safari schafft das zumindest, trotz all seiner anderen Scheiße.)

Hey, wollte dich nicht beleidigen! Wir führen eine Problembereinigung durch. Bitte verzeihen Sie, dass Sie das Problem behoben haben.

Und danke für die ausführliche Antwort - es hat definitiv klargestellt, was Sie meinten.

Es ist schwierig, knappe Benutzeranforderungen zu erraten. Bedeutete der Benutzer "Ebenen" auf der Ebene der Benutzeroberfläche / des Betrachters oder der Spezifikation (optionaler Inhalt) usw.? Ich habe darüber nachgedacht, mich hier zu erkundigen, aber ich habe fälschlicherweise angenommen, dass die Wahrscheinlichkeit einer Antwort gering ist, da Ihre einzige Aktivität auf Github dieser Kommentar war (wir sind geschmeichelt! :)).

Wie gesagt, Wiedereröffnung ist definitiv eine Option - betrachten Sie es als erledigt.

Danke noch einmal.

Ich habe eine kleine Datei hochgeladen hier das für optionale Inhalte Gruppen und / oder Beschneidungspfad gebrochen Rendering Verhalten zeigt (ich bin sicher nicht , was das ist eigentlich das schlechte Verhalten verursacht). Wenn Sie versuchen, der URL #textLayer=visible hinzuzufügen, können Sie feststellen, dass pdf.js den Text korrekt findet und rendert, den Rest des Renderings jedoch nicht korrekt verarbeitet.

(Dieses spezielle PDF entstand aufgrund meiner Arbeit an diesem Ansatz zum Rendern von Links in LaTeX mithilfe von Hervorhebungen anstelle von Feldern. Der Text wird im aktuellen Beschneidungspfad ( 7 Tr ) und nicht als normaler Text ( 0 Tr ) gerendert canvas.js#L982 bereits das Hinzufügen von Text zum Beschneidungspfad , aber es scheint hier nicht zu funktionieren ... Infolgedessen ist dieser Kommentar möglicherweise nicht zu 100% auf diesen Fehler anwendbar. Sie können mich jederzeit zu einem geeigneteren weiterleiten, falls vorhanden ;-))

@blerner Ich denke, dieses Problem unterscheidet sich von dem, worüber Sie fragen. Können Sie mit Ihrem obigen Kommentar eine neue Ausgabe eröffnen?

Ich suche auch nach OCG-Funktionen ... steht das auf dem Plan? Kann mich jemand auf die Roadmap verweisen?

Gibt es Neuigkeiten zu unterstützenden Schichten? Wäre unglaublich nützlich. Das Abrufen von Objektnamen wäre ebenfalls nützlich (wie bei Objekt- und Gruppennamen, die Sie in Illustrator festlegen können).

Ich bin auch daran interessiert zu wissen, wann Ebenen unterstützt werden (speziell das Ein- / Ausblenden).

Es gibt noch keine Implementierung dafür und soweit ich weiß, arbeitet niemand daran. Wenn jemand daran arbeiten möchte, können Sie eine Pull-Anfrage erstellen.

Dateien mit OCGs:
http://ims.er.usgs.gov/images/USTopo/
(nicht alle, nur die großen)

Erwarten Sie auch diese Funktion. Ebeneninformationen abrufen / Ebene anzeigen / Ebene ausblenden.

Hallo, erwarte auch OCGs (Layer) Unterstützung. Irgendein Zeitplan?
@timvandermeij Der Anhang ist eine PDF-Datei, die aus einer Architekturzeichnung mit Hunderten von Ebenen exportiert wurde.
OCGs_demo.PDF

Derzeit ist die Implementierung dieser Funktion nicht geplant. Wenn jemand daran arbeiten möchte, lassen Sie es uns bitte wissen. Wenn Sie hier weitere Beispiel-PDF-Dateien anhängen können, können Sie die Benutzer auf den Weg bringen und ihre Arbeit überprüfen.

Hier ist eine einfache:
PDFBOX-4103-OCG.pdf

Ein altes Beispiel mit Transparenz und OCGs. Es wäre schön, wenn die OCGs in einem Browser / einer Seite ausgewählt werden könnten
_myChessboardv1.2_mockup_ImageArray_beta0.7 - public.pdf

Ich versuche, einige Inhalte aus PDF zu identifizieren.
Ich verstehe, dass ich die Ebenen nicht verwenden kann, da sie nicht unterstützt werden.
Ist das richtig?
Und gibt es einen anderen Weg?

Ich erwarte auch diese Funktion. Ebeneninformationen abrufen / Ebene anzeigen / Ebene ausblenden. Dies ist sehr nützlich für die Verwendung von Solidworks / Inventor.

Hallo, mir ist klar, dass dieses Problem 8 Jahre alt ist, aber ich möchte nur hinzufügen, dass dies eine sehr nützliche Funktion wäre. Vielleicht haben sich die Dinge in 2 Jahren geändert?

Bitte aktualisieren Sie den Status, wenn jemand an diesem Problem gearbeitet und es behoben hat.

Vielen Dank

+1

+1

Bitte posten Sie keine einzelnen "+1" -Kommentare, sondern geben Sie dem Originalkommentar (https://github.com/mozilla/pdf.js/issues/269#issue-1238154) mit dem GitHub-Reaktionsmechanismus einen Daumen hoch. Dies verhindert unnötige Unebenheiten in diesem Bereich und ermöglicht es uns, nach Priorität der Community zu filtern.

Hallo, gibt es eine Aktualisierung der Priorität dieser zukünftigen Anfrage? :) :)
Es scheint, als ob viele doppelte Beiträge auf dasselbe Problem verweisen, die in diesem Beitrag möglicherweise nicht erklärt und in einem guten Beispiel gezeigt werden.

Daran arbeitet derzeit niemand. Wenn jemand einen Beitrag leisten möchte, prüfen wir gerne Pull-Anfragen.

Der Grund dafür, dass dies noch nicht implementiert ist, liegt höchstwahrscheinlich darin, dass es sich um ein ziemlich kompliziertes Thema handelt, da dies alles in der PDF-Spezifikation beschrieben wird.
Ignorieren Sie viele andere Besonderheiten in Bezug auf OCGs, Abschnitt "8.11.3.1 Allgemeines" der Spezifikationszustände (beachten Sie den zweiten Punkt):

Wenn festgestellt wird, dass ein optionaler Inhalt in einer PDF-Datei ausgeblendet werden soll, geschieht Folgendes:

  • Der Inhalt wird nicht gezeichnet.
  • Grafikzustandsoperationen wie das Festlegen der Farbe, der Transformationsmatrix und des Beschneidens müssen weiterhin angewendet werden. Darüber hinaus sind Nebenwirkungen des Grafikzustands anzuwenden, die sich aus Zeichenoperatoren ergeben. Insbesondere wird die aktuelle Textposition auch für Text aktualisiert, der in optionalen Inhalt eingeschlossen ist. Mit anderen Worten, Grafikstatusparameter, die nach dem Ende eines Abschnitts mit markiertem Inhalt bestehen bleiben, müssen gleich sein, unabhängig davon, ob der optionale Inhalt sichtbar ist oder nicht.

Hallo, ich habe in der letzten Woche versucht, eine Lösung für dieses Problem zu finden, und gehofft, jemand kann mich in die richtige Richtung weisen.
Für meinen Anwendungsfall wäre es nicht erforderlich, zusätzliche Ebenen umzuschalten. Ich müsste sie einfach in meinem Viewer ausblenden.

Bisher konnte ich die "versteckten" Ebenen in document.js folgendermaßen identifizieren:

const hiddenLayers = this.xref.root._map.OCProperties._map.D.get("OFF");

Aber ich konnte die Verbindung zwischen den Ebenen und dem tatsächlichen Inhalt, der von pdf.js gerendert wird, nicht herstellen. Wenn mir also jemand einen Hinweis geben könnte, wie ich herausfinden kann, welche Daten versteckt werden sollen, würde ich sie gerne verwenden.

@brendandahl wie funktioniert die neue API? Was ist "optionaler Inhalt"? Können wir vorhandene Ebenen nicht einfach scannen und ausblenden? Vielen Dank!

Was ist "optionaler Inhalt"?

Siehe https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3858031

Können wir vorhandene Ebenen nicht einfach scannen und ausblenden?

Leider ist es wirklich ziemlich schwer zu verstehen, was Sie hier fragen.
Hinweis: Diese Funktionalität wurde noch nicht in den Standard-Viewer integriert. Dies wird jedoch in # 12170 behandelt.

Entschuldigung, ich wollte sie erkennen und die Möglichkeit haben, sie zu manipulieren (ausblenden, entfernen usw.)

Ich habe die Funktion ausprobiert und sie funktioniert wie erwartet. Das heißt, anstatt alle Ebenen anzuzeigen, werden nur die Ebenen angezeigt, die angezeigt werden sollen.

@brendandahl wie funktioniert die neue API? Was ist "optionaler Inhalt"? Können wir vorhandene Ebenen nicht einfach scannen und ausblenden? Vielen Dank!

Die vollständige API benötigt noch etwas mehr Arbeit, aber Sie können pdfDoc.getOptionalContentConfig dann über die verschiedenen optionalContentConfig.groups iterieren und festlegen, welche Sie ausblenden / anzeigen möchten ( optionalContentGroup.visible ). Übergeben Sie diese Konfiguration dann an Ihren Anruf an render pro Seite.

Nützliche Links:
https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/api.js#L779

https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/optional_content_config.js#L25

https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/api.js#L958

@brendandahl oh, das sieht sehr interessant aus! Ich werde es versuchen. Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

liuzhen2008 picture liuzhen2008  ·  4Kommentare

sujit-baniya picture sujit-baniya  ·  3Kommentare

azetutu picture azetutu  ·  4Kommentare

hp011235 picture hp011235  ·  4Kommentare

jigskpatel picture jigskpatel  ·  3Kommentare