Hyperref verhindert PDF/A

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


LuGra
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 10. Mär 2010, 17:36
Wohnort: Tallahassee, FL
Kontaktdaten:

Hyperref verhindert PDF/A

Beitrag von LuGra »

Hallo,

wenn ich in meinem LaTeX-Dokument Hyperref (Version 2010/03/04 v6.80k) einsetze, dann weigert sich Adobe Acrobat Distiller 9 Pro (9.0. 11.06.2008) aus dem so erzeugten PS ein PDF/A-1b: 2005 (RGB) zu machen Fehlermeldung: "[Verletzung] Der Schlüssel F des Wörterbuchs Annot fehlt und enthält einen ungültigen Wert." Englisch heisst die Fehlermeldung "[Violation] The F key in the Annot dictionary is missing or has an invalid value." Selbst die Option pdfa=true hilft nicht weiter. Hier das Minimalbeispiel:
\documentclass [10pt, a5paper, DIV=15, BCOR=8.25mm, appendixprefix]{scrbook}

\usepackage {german}
\usepackage [T1]{fontenc}
\usepackage [latin1] {inputenc} %für ä, ö, ü und ß
\usepackage{lmodern}            %Latin Modern Fonts (Type 1)

\usepackage[pdfa=true, draft=false]{hyperref}
\hypersetup{pdftitle={Großer gefräßiger Plapperkäfer von Traal}}

\begin {document}
  \tableofcontents
  \chapter{Per Anhalter durch die Galaxis}
  \section{Figuren}
  \subsection{Großer gefräßiger Plapperkäfer von Traal}
  
,,Ein zum Verrücktwerden dämliches Vieh, es nimmt an, wenn du es nicht siehst, kann es dich auch nicht sehen -- bescheuert wie eine Bürste, aber sehr, sehr gefräßig.'' Man kann sich allerdings vor ihm schützen, indem man sich ein Handtuch vors Gesicht bindet. Sollte man das versäumen, so erwartet einen ,,eine weit aufgesperrte Masse triefender Giftzähne''.

Dummerweise sind ihm viele Touristen zum Opfer gefallen, weil sie einen Artikel im Anhalter zu wörtlich genommen hatten. Dort hieß es nämlich aufgrund eines bedauerlichen Druckfehlers, dass der Plapperkäfer \textbf{für} vorbeikommende Touristen oft ein sehr gutes Essen machen würde. Tatsächlich macht er aber \textbf{aus} vorbeikommenden Touristen ein sehr gutes Essen. Deswegen wurde der ,,Anhalter'' von einigen Angehörigen gefressener Touristen verklagt, gewann den Prozess aber, als er darauf hinwies, dass seine Version schöner sei, und ein Dichter bewies, dass Wahrheit Schönheit und Schönheit Wahrheit ist. Das Gericht verurteilte daraufhin das Leben selbst, da es Schönheit und Wahrheit nicht getrennt hatte und beschlagnahmte es bei allen Anwesenden.
\end {document}
Stelle ich in Hyperref die Verlinkungen mit draft=true ab, dann kann ich problemlos das PDF/A erzeugen. Ein normales PDF lässt sich auch mit draft=false erzeugen. Das heisst also, dass die Verlinkungen auf eine Art und Weise ins Dokument geschrieben werden, welche Adobe nicht mag. Grundsätzlich sind Hyperlinks in PDF/A-Dokumenten zulässig.

Ich kann mich erinnern, im Internet irgendwo ein Perl-Script gefunden zu haben, welches das PS so manipuliert, dass danach problemlos ein PDF/A daraus erzeugt werden kann. Leider finde ich dieses Skript nicht mehr. Zudem dünkt mich die Lösung nicht besonders elegant. Kennt jemand eine gute Lösung für dieses Problem?

Vielen Dank im voraus!
Lukas

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Ich habe selbst kein Acrobat (das wird sich auch kaum ändern, solange Adobe bezüglich der Systemanforderungen mauert), sondern nur den Reader, kann das also nicht nachvollziehen, sondern nur ein paar Hinweise geben:

Du verwendest den Weg latex → dvips? Welche Version von hyperref und insbesondere von hdvips.def und pdfmark.def verwendest Du? Was passiert, wenn Du versuchsweise die direkte pdf-Ausgabe mit pdflatex verwendest und das erzeugte PDF mit Acrobat nachbearbeitest?

Falls Du aktuelle Versionen verwendest ist ggf. ein Bug-Report an Heiko sinnvoll.

LuGra
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 10. Mär 2010, 17:36
Wohnort: Tallahassee, FL
Kontaktdaten:

Beitrag von LuGra »

Wie bereits erwähnt, verwende ich Version 6.80k -- also erst zwölf Tage alt. Da ich das Paket kürzlich komplett aktualisiert habe, gehe ich davon aus, dass dies auch für hdvips.def und pdfmark.def gilt.

Ja, ich werde mich direkt an Heiko Oberdiek wenden. Danke für den Vorschlag.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Statt von irgend etwas auszugehen, ist es besser, das zu kontrollieren. Mit Hilfe von
\listfiles
ist das ganz einfach. Du glaubst gar nicht, wie ich oft ich schon erlebt habe, dass das wovon Anwender ausgegangen sind und das was tatsächlich passiert nicht das gleich ist.

LuGra
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 10. Mär 2010, 17:36
Wohnort: Tallahassee, FL
Kontaktdaten:

Re: Hyperref verhindert PDF/A

Beitrag von LuGra »

Sorry für die lange Leitung -- mein Netzteil hat zwischenzeitlich den Geist aufgegeben (kein Witz).

Gemäss \listfiles (super Befehl, danke!) handelt es sich tatsächlich um die gleichen, also aktuellen, Versionen:
  hdvips.def    2010/03/04 v6.80k Hyperref driver for dvips
 pdfmark.def    2010/03/04 v6.80k Hyperref definitions for pdfmark specials
Heiko Oberdiek hatte auch nicht gerade den Adobe-Distiller zu Hand und konnte den Fehler deshalb ebenfalls nicht nachvollziehen. Ich werde wohl auf Ghostscript umstellen müssen.

Vielen Dank für alle Hilfe,
Lukas

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Re: Hyperref verhindert PDF/A

Beitrag von CrazyHorse »

LuGra hat geschrieben:Hallo,

wenn ich in meinem LaTeX-Dokument Hyperref (Version 2010/03/04 v6.80k) einsetze, dann weigert sich Adobe Acrobat Distiller 9 Pro (9.0. 11.06.2008) aus dem so erzeugten PS ein PDF/A-1b: 2005 (RGB) zu machen Fehlermeldung: "[Verletzung] Der Schlüssel F des Wörterbuchs Annot fehlt und enthält einen ungültigen Wert." Englisch heisst die Fehlermeldung "[Violation] The F key in the Annot dictionary is missing or has an invalid value." Selbst die Option pdfa=true hilft nicht weiter. Hier das Minimalbeispiel:
mit dem Adobe Distiller 7.0 habe ich keine Probleme eine PDF aus der PS zu erstellen.

Herbert

LuGra
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 10. Mär 2010, 17:36
Wohnort: Tallahassee, FL
Kontaktdaten:

Re: Hyperref verhindert PDF/A

Beitrag von LuGra »

Hallo Herbert,

mit "Standard-PDF" habe ich ebenfalls kein Problem. Nur PDF/A-1b geht nicht. Wahrscheinlich müsste man die Frage an Adobe stellen, denn mit LaTeX hat das wohl wenig zu tun.

Gruss,
Lukas

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Re: Hyperref verhindert PDF/A

Beitrag von CrazyHorse »

LuGra hat geschrieben:Hallo Herbert,

mit "Standard-PDF" habe ich ebenfalls kein Problem. Nur PDF/A-1b geht nicht. Wahrscheinlich müsste man die Frage an Adobe stellen, denn mit LaTeX hat das wohl wenig zu tun.
habe ich was von "Standard-PDF" gesagt??

Herbert

Blue

PDF/A mit Ghostscript

Beitrag von Blue »

Ich hatte ein ähnliches Problem bei der Konvertierung meiner Dissertation von Postscript nach PDF/A mit Hilfe von Ghostview.
Ghostview liefert (mit der Option "-dPDFACompatibilityPolicy=1") dabei die folgende Fehlermeldung:
GPL Ghostscript 8.71: Annotation set to non-printing, not permitted in PDF/A, annotation will not be present in output file
Im fertigen PDF fehlen dann sämtlich Hyperlinks. Ursache ist, dass Hyperref standardmäßig die Hyperlinks als 'non-printing' deklariert.

Wenn ich Hyperref die Option pdfa=true übergeben (um die PDF/A Kompatibilität zu verbessern) dann funktioniert die Konvertierung bei mir. Ich habe derzeit hyperref 2010/03/30 v6.80u.

Randnotiz: Die Option pdfa=true wurde laut Changelog in Version 6.77r eingeführt. In der offiziellen Dokumentation ist diese Option aber bisher nicht dokumentiert - oder habe ich da was übersehen?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Blue hat geschrieben:Randnotiz: Die Option pdfa=true wurde laut Changelog in Version 6.77r eingeführt.
Korrektur: In 6.77r wurde eine Einstellung, die von der Option vorgenommen wird, geändert. Die Option wurde aber bereits drei Tage vorher in 6.77p eingeführt.
Blue hat geschrieben:In der offiziellen Dokumentation ist diese Option aber bisher nicht dokumentiert - oder habe ich da was übersehen?
Es ist leider normal, dass man sich die Doku zu hyperref zusammensuchen muss. Eine Zeit lang konnte man sich wenigstens darauf verlassen, dass in options.pdf alle Optionen aufgeführt sind. Das ist leider inzwischen auch nicht mehr der Fall. Als Paketautor habe ich ein gewisses Verständnis dafür, weil ich weiß wie aufwändig und lästig das Schreiben von Doku ist. In meinem Studium habe ich allerdings den wichtigen Satz gelernt: »Was nicht dokumentiert ist, existiert nicht.« Als Anwender sitze ich irgendwo dazwischen. Soll ich undokumentierte Feature verwenden, wenn sie mir nützen oder soll ich sie als irgendwelche Alpha- oder Beta-Entwicklungen betrachten und besser die Finger davon lassen. Das die Option in der offiziellen Doku nicht dokumentiert ist, stimmt allerdings nicht. README.pdf ist Teil der offiziellen Doku und da ist die Option drin.

Ansonsten würde ich Dir empfehlen ein vollständiges Minimalbeispiel zu erstellen, das mit der aktuellen hyperref-Version zu kontrollieren und falls das Problem damit noch immer auftritt einen Bugreport an Heiko zu schicken. Er wird sich dann ggf. auch dazu äußern, inwiefern druckbare Links möglich sind.

Antworten