![]() |
Length bei PDF ermitteln
Hallo Mitstreiter,
ich bitte um Hilfe für mein Projekt unter Delphi geschrieben. Ich schreibe einen PDF-Export in Object-Pascal zur Ausgabe von Vektorgrafik. Hierzu fehlt mir eine elegante Lösung, um die Länge des Streams zu ermitteln. Vielen Dank für jeden Hinweis. KlauJakob |
AW: Length bei PDF ermitteln
Was für ein Stream?
Hat er nicht das Attribut Size? ![]() |
AW: Length bei PDF ermitteln
Dank für die umgehende Antwort.
Ich habe mich wieder einmal nicht deutlich ausgedrückt. In meiner PDF-Datei steht zwischen stream und endstream die Beschreibung einer Vektorgrafik in ASCII. Die Anzahl der Zeichen steht erst mit der Ausgabe der letzten Zeichen z.B. für eine Linie fest. Nun soll aber zuvor im Objekt-Attribut Length schon die Anzahl der Zeichen in Byte angegeben werden. Wie kann ich nun die Anzahl der ausgegebenen Zeichen im Abschnitt stream bis endstream ermitteln? Gruß KlausJakob |
AW: Length bei PDF ermitteln
Mal die Spezifikation für's PDF-Format "reinziehen":
![]() Weiß allerdings nicht, ob Du da fündig werden kannst. Eventuell in Table 5 dieses Dokumentes. Kann aber sein, dass ich da was missverstehe, da ich mich noch nie ernsthaft mit dem Format und seiner Spezifikation auseinandergesetzt habe. |
AW: Length bei PDF ermitteln
Die Daten erst in einen anderen Stream/Puffer schreiben und dann rüberkopieren (vorher kann die Länge des Zweischenspeichers gelesen werden)
oder Platz für die Längenangabe lassen (oder nicht, falls die Längenangabe keine feste Länge hat und die nachfolgenden Daten noch verschoben werden können), die aktuelle Position merken, die neuen Daten anhängen und nun kann die Länge berechnet und nachträglich eingefügt werden |
AW: Length bei PDF ermitteln
Dank an alle.
Die Idee von himitsu habe ich aufgegriffen. Erste Testläufe sind OK. Grüße aus Speyer KlausJakob |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz