Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Base64 zu PDF File umwanden (https://www.delphipraxis.net/203303-base64-zu-pdf-file-umwanden.html)

kagi3624 3. Feb 2020 13:58

Delphi-Version: 6

Base64 zu PDF File umwanden
 
Hallo Leute, ich habe Delphi 6 (fragt bitte nicht wieso <<). Wie kann ich einen Base64 String in eine PDF Datei umwandeln. Habe gelesen, dass es mit Indy gehen soll, aber mein Delphi ist so alt, dass die Beispiele nicht funktionieren.

Vielein Dank!

hhcm 3. Feb 2020 14:03

AW: Base64 zu PDF File umwanden
 
Hallo,

gab es nicht in D6 die Unit EncdDecd?
Da gibt es DecodeStream und DecodeString.

hoika 3. Feb 2020 14:14

AW: Base64 zu PDF File umwanden
 
Hallo,
Zitat:

dass die Beispiele nicht funktionieren
Dann zeig uns doch trotzdem mal eines der Bsp-e.

BTW:
Ich glaube nicht, dass Indy PDFs erzeugen kann.
Indy sind Internet-Komponenten.

Für PDF brauchst andere Komponenten, die in der Regel nicht kostenlos sind.
Eine Ausnahme wäre FOP (Fast Object Processing), das kann PDF aus Xml-Dateien erstellen.
https://xmlgraphics.apache.org/fop/2.3/
Hier aber die Lizenz beachten.

Neutral General 3. Feb 2020 14:23

AW: Base64 zu PDF File umwanden
 
Zitat:

Zitat von hoika (Beitrag 1456594)
BTW:
Ich glaube nicht, dass Indy PDFs erzeugen kann.
Indy sind Internet-Komponenten.

Es geht ja nicht darum PDFs zu erzeugen, sondern einen Base64-String (zurück) in eine PDF umzuwandeln...

kagi3624 3. Feb 2020 14:25

AW: Base64 zu PDF File umwanden
 
Dankeschön. Die Funktion DecodeString aus EncdDecd funktioniert. Ist es aber möglich den codierten String direkt in einen Filestream zur PDF zu machen?

Neutral General 3. Feb 2020 14:26

AW: Base64 zu PDF File umwanden
 
Du musst das Ergebnis der Funktion einfach in einen FileStream schreiben.
Ich glaube einfacher gehts mit deiner Delphi Version nicht.

Uwe Raabe 3. Feb 2020 14:39

AW: Base64 zu PDF File umwanden
 
Zitat:

Zitat von kagi3624 (Beitrag 1456596)
Dankeschön. Die Funktion DecodeString aus EncdDecd funktioniert. Ist es aber möglich den codierten String direkt in einen Filestream zur PDF zu machen?

Schreib den Base64-String doch in einen TMemoryStream und mach es mit DecodeStream. (wenn es das alles denn in D6 schon gibt)

kagi3624 3. Feb 2020 14:56

AW: Base64 zu PDF File umwanden
 
Ich habe noch eine Frage, die nicht soviel Delphi, wie base64 betrifft. Wenn mein codierter String, warum auch immer '\' hat und deshalb nicht decodiert werden kann. Ist es in Ordnung, wenn ich die einfach rausschmeisse?

Luckie 3. Feb 2020 16:47

AW: Base64 zu PDF File umwanden
 
Wenn die Zeichenkette base64 konform kodiert wurde, sollten sich keine ungültigen Zeichen in der kodierten Zeichenkette befinden. Und sie sollte sich ohne Probleme dekodieren lassen.

Und wenn du das Zeichen aus der kodierten Zeichenkette entfernst, wird beim Dekodieren wahrscheinlich nur Müll rauskommen, es steht ja aus einem ganz bestimmten Grund in der Stelle in der Zeichenkette.

himitsu 3. Feb 2020 16:59

AW: Base64 zu PDF File umwanden
 
Kommt drauf an:

Teilweise werden Leerzeichen/Zeilenumbrüche un lange Codes eingefügt
und am Ende der Zeile z.B. ein \ um zu kennzeichnen, dass es in der nächsten Zeile weiter geht.

Die Dekodierungsfunktion von Delphi nehmen aber nur den einen Base64-Text entgegen, ohne zusätzlichen Formatierungsmüll.
Klar könnte man hier nun einfach sowas entfernen, aber besser ist es immer da auch die Schnittstellen/Funktionen zu verwenden, welche für das jeweilige System vorgesehen sind und die das dann auch verstehen.


Beispiel: Man kann eine XML- oder JSON-Datei auch als Text einlesen und mit Pos/PosEx oder RegEx irgendwas rauskopieren,
aber ein "echte" XML- bzw. JSON-Komponente versteht den Text wirklich und holt dann auch das raus, was mann will und nicht vielleicht was Falsches.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.
Seite 1 von 2  1 2      

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