Wie man implementierungsabhängige Erscheinungen von Anmerkungen und interaktiven Formularfeldern vermeidet
Anmerkungen wie Notizen und Links gehören zu den am meisten geschätzten PDF-Funktionen. Obwohl sie aus der Sicht eines Benutzers einfach zu verwenden sind, ist dies aus der Sicht von Entwicklern sicherlich nicht der Fall, da oft nicht klar ist, wie man sie rendern kann.
In einem PDF-Dokument werden die Anmerkungen in Wörterbüchern beschrieben, die der entsprechenden Seite beigefügt sind, auf der sie erscheinen. Ein Anmerkungswörterbuch kann einen Eintrag namens Appearance Stream haben, der beschreibt, wie die Anmerkung auf der Seite präsentiert werden soll. Aber dieser Eintrag ist optional.
Die Felder interaktiver Formulare basieren auf Widget-Anmerkungen. Wenn die Inhalte und Eigenschaften eines Feldes im Voraus bekannt sind, kann sein visuelles Erscheinungsbild durch einen im PDF-Dokument definierten Appearance Stream festgelegt werden. In einigen Fällen kann das Feld jedoch Text enthalten, dessen Wert bis zur Anzeigedauer nicht bekannt ist. In solchen Fällen muss die Viewer-Anwendung zur Anzeigedauer einen Appearance Stream dynamisch erstellen.
Darüber hinaus kann das Wörterbuch interaktiver Formulare einen Eintrag "NeedAppearances" enthalten. Dies ist eine Flagge, die angibt, ob für alle Widget-Anmerkungen im Dokument beim Öffnen des Dokuments Appearance Streams und Appearance Dictionaries erstellt werden sollen.
Im Allgemeinen hat der Leser, wenn der Appearance Stream einer Anmerkung fehlt, diesen mithilfe anderer Einträge (Text, Rand, Farbe usw.) im Anmerkungswörterbuch in Echtzeit zu erstellen. Die PDF-Spezifikation beschreibt nicht, wie man das macht. Deshalb hängt das Erscheinungsbild von der Implementierung ab, es sei denn, der Appearance Stream ist vorhanden.
Jetzt werfen wir einen Blick auf PDF/A. Obwohl der PDF/A-Standard behauptet, eine zuverlässige und eindeutige Präsentation zu garantieren, sind Appearance Streams von Anmerkungen in PDF/A-1 weiterhin optional. Andererseits muss die Farbe in den entsprechenden Wörterbucheinträgen kalibriert werden, was sicherlich nie die Absicht war. In PDF/A-2 wurde dies gemäß meinem Vorschlag als Delegierter in der ISO-Arbeitsgruppe behoben. Appearance Streams sind für alle Anmerkungen erforderlich, und die darin verwendeten Farben müssen kalibriert werden, jedoch nicht die Farben anderer Wörterbucheinträge.
Die Schlussfolgerung ist offensichtlich: PDF-Schreibsoftware (Ersteller, Produzenten, Tools für interaktive Formulare usw.) sollten immer Appearance Streams für Anmerkungen und interaktive Formularfelder einfügen, um eine eindeutige Präsentation zu vermeiden.