Ich möchte mit dem Verständnis vorausschicken, dass ich mit Legacy-Code arbeite und somit mit weniger als idealen Situationen leben muss und deswegen ein paar skurrile Sachen mache. Bis ich die Genehmigung zum Neuschreiben bekommen kann, muss ich mich zur Rechenschaft ziehen.PostScript - Fehler bei der Verwendung von Ghostscript "pdfwrite"
Kontext
Hier ist meine Situation. Die Anwendung ist insofern "einfach", als sie von einer SQL-Datenbank berichtet. Zum Guten oder zum Schlechten baut er seine Berichte mit Postscript auf. Es verwendet Ghostscript-DLLs, in die es in das Anwendungsverzeichnis eingebettet ist. Hier ist der Kicker, es wurde angefordert, dass ich SSIS-Berichte einschließe, deren Ausgabe bereits im PDF-Format vorliegt. Aus Kompatibilitätsgründen muss ich diese PDFs in Postscript konvertieren, obwohl sie in den meisten Situationen später wieder in PDF konvertiert werden. Ich weiß, das ist wahrscheinlich schlechtes Design, aber es gibt bestimmte Funktionen, die dies erfordern und es ist einfach das, was es vorerst ist. Ich verwende GhostScript, um die Konvertierungen zu verarbeiten.
beobachtetem Verhalten Das folgende Verhalten ist das, was beobachtet wird, wenn die PDF PS umgewandelt wird, durch die Anwendung übergeben und dann wieder zurück in PDF konvertiert.
Bei der Verwendung von "sDevice = Pswrite" funktioniert alles, außer dass die Berichte mit schlechter Auflösung kompiliert werden, obwohl ich die Auflösung Option tweek.
Wenn Sie "sDevice = ps schreiben" verwenden, was ich als das aktuell akzeptierte Protokoll verstehe, wird das PDF nicht gerendert und erzeugt den folgenden Fehler.
Der obige Fehler tritt nur auf, wenn ein Bericht von einem Berichtsserver verwendet wird, auf den über den Webclient zugegriffen wird. Ich kann bestätigen, dass die PDF-Datei erfolgreich zurückgegeben wird und nicht beschädigt ist.
Wenn lokale SSIS-Pakete in der Anwendung ausgeführt werden, kann das erstellte PDF erfolgreich verarbeitet werden.
Wenn die ursprüngliche PDF PS mit PS2Write die Kommentare umgewandelt werden bevölkert wie folgt
%!PS-Adobe-3.0
%%BoundingBox: 0 0 612 792
%%Creator: GPL Ghostscript 905 (ps2write)
%%LanguageLevel: 2
%%CreationDate: D:20171003154139-05'00'
%%Pages: 3
%%EndComments
pswrite produziert
%!PS-Adobe-3.0
%%Pages: (atend)
%%BoundingBox: 21 30 761 576
%%HiResBoundingBox: 21.600000 30.400000 760.566016 575.100000
%.....................................
%%Creator: GPL Ghostscript 905 (pswrite)
%%CreationDate: 2017/10/03 15:53:40
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
Suspicion
ich den Verdacht, dass entweder die PDF befindet sich in einem inkompatiblen Standard, der nicht in PostScript konvertiert werden kann. Zum Beispiel eine neuere PDF-Version, die nicht verarbeitet werden kann. Oder vielleicht enthält es etwas, das nicht kompatibel ist, wie eine Schriftart oder ein Bild.
Gibt es trotzdem, um dies sicher zu jagen? Ist jemand auf ähnliche Situationen gestoßen und was war die Lösung? Irgendwelche Hinweise darauf, in was hinein zu schauen oder Dinge zu versuchen?
Können Sie die vollständigen Befehle, die für Konvertierungen in beide Richtungen verwendet werden, posten? – milivojeviCH