ui
Anmeldungsdatum: 22. November 2008
Beiträge: 603
|
Um in Inkscape einen Text als Link zu verknüpfen muss man offenbar einen Rechtsklick auf den Text machen Objekteigenschaften... anklicken Bereich Interaktivität ausklappen im Textfeld onclick das Linkziel einfügen
Im Internet habe ich gelesen dass der PDF-Renderer in Inkscape die Links ignoriert. Eine Lösung wäre die SVG in Google Chrome zu öffnen und von dort die PDF korrekt mit Links auszudrucken. Diese Lösung möchte ich erst ausprobieren wenn es kein Kommandozeilen-Tool für dieses Problem gibt. Kennt Ihr eines?
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Hi, also dieses Problem hat mich fast den Verstand gekostet, aber gelöst habe ich es leider immer noch nicht vollständig. Es gibt da einen Haufen Probleme (Und: Nein, einfach den Chromium benutzen funktioniert nicht!): Inkscape erzeugt eine fehlerhafte SVG. Man muss den Code der SVG dann erst noch entsprechend den SVG-Spezifikationen anpassen, damit man überhaupt weiter machen kann, aber selbst dann habe ich noch keinen Weg gefunden, der zum Erfolg führt. Es gibt das Programm svglinkify, das genau für dieses Problem gemacht ist. Allerdings ist der Code verbugt und läuft nicht durch, selbst wenn man eine gültige SVG eingibt. Ich habe dann erstmal dieses Programm debuggt, bis es dann irgendwann durchlief. Und dabei bin ich dann fast bekloppt geworden. Svglinkify ist nämlich in der ganz tollen Google-Programmiersprache GO geschrieben, die ich nicht kann und die ja wirklich die abartigste Sprache ist, die mir jemals untergekommen ist, einfach weil die Syntax fast nicht zu verstehen ist und man für ganz einfache Probleme nur ganz schwierig eine Lösung im Internet findet. Aber ich habe es dann irgendwann geschafft und das Programm lief ohne Fehler durch und erzeugte auch eine PDF, in der der Link enthalten ist. Wenn ich diese pdf, dann allerdings mit einem Reader öffne, sagt der "Die Datei enthält nur leere Seiten", irgendwie ist also der Text zum Hyperlink verloren gegangen. Das Dumme ist, dass der Text in einer pdf in so genannten Stream-Objekten abgespeichert wird, also nicht von Menschen verstanden werden kann. Außerdem haben mir verschiedene Debugger auch andere Probleme mit der erzeugten PDF genannt, sodass ich dann einfach dazu übergegangen bin, die PDF-Datei von Hand zu editieren, gemäß den PDF-1.4-Spezifikationen von Adobe. Die Datei die dabei herausgekommen ist, hänge ich an diesen Beitrag an, vielleicht versteht hier ja irgendjemand mehr von PDF als ich und kann uns sagen, was jetzt noch das Problem ist. Wenn ich die Datei mit qpdf untersuche, erhalte ich jetzt noch
$ qpdf --qdf --object-streams=disable out2.pdf decoded.pdf
WARNING: out2.pdf: file is damaged
WARNING: out2.pdf (offset 6268): xref not found
WARNING: out2.pdf: Attempting to reconstruct cross-reference table
WARNING: out2.pdf (object 14 0, offset 5870): unknown token while reading object; treating as string
out2.pdf (object 14 0, offset 5896): invalid Type /Annot in page tree Aber damit kann ich nichts anfangen, meines Erachtens ist die PDF-Datei valid. Wäre echt cool, wenn mir jemand hilft, ich weiß da nicht weiter. Den Code von svglinkify anzupassen, so dass er die richtige PDF-Datei ausspuckt, bekomme ich dann wohl schon hin (auch wenn ich keine Lust dazu habe), aber ich muss halt erstmal wissen, wie die richtige PDF aussieht. Wenn noch jemand gute PDF-Debugger kennt → Her damit! 😀 Es wäre geil, wenn man irgendwie diese Streamobjekte decoden könnte, damit man weiß, was sich dahinter verbirgt. Puhhhh. LG, Frink
- out2.pdf (6.3 KiB)
- Download out2.pdf
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Hahaha, jetzt habe ich gerade doch noch einen Weg gefunden. Ich hatte überhaupt noch nicht überprüft, ob es mit Chromium funktioniert, wenn man die richtige SVG benutzt. Und ja: Geil, es funktioniert. Man öffnet einfach die SVG-Datei in Chromium und druckt sie in eine pdf. Ich hänge mal die von Inkscape erzeugte svg*, die editierte svg, die dann von Chromium übersetzt wird und die von Chromium erzeugte pdf an diesen Beitrag an.
Ein Vergleich der von Chromium erzeugten PDF mit der von mir geschriebenen hat mich jetzt noch nicht weiter gebracht, die Dateien sind einfach vollkommen verschieden, keine Ahnung, ob es überhaupt möglich ist, svglinkify anzupassen, sodass es dasselbe ausgibt wie Chromium und ich habe auch gerade keine Lust, mir das noch näher anzugucken, das mache ich dann später oder die Tage oder so. LG, Frink * Ich stelle gerade fest, dass ich diese Datei leider nicht mehr habe, deshalb jetzt nur die beiden anderen.
- Test.svg (1.3 KiB)
- Download Test.svg
- Test.pdf (15.7 KiB)
- Download Test.pdf
|
Steev
Anmeldungsdatum: 5. September 2006
Beiträge: 2237
|
und der Linux-integrierte PDF Drucker? siehe Anhang. ..........
- Bilder
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Steev schrieb: und der Linux-integrierte PDF Drucker? siehe Anhang. ..........
Ne, der funktioniert da nicht.
|