locked
Erstellen eines PDF RRS feed

  • Frage

  • Hallo NG,

    als Quellcode erhalte ich folgende Textzeile:

    03JVBERi0xLjUNJeLjz9MNCjE1IDAgb2JqIDw8L0xpbmVhcml6ZWQgMS9MIDQxNjUyMy9PIDE4L0

    UgMzg0MjYyL04gNS9UIDQxNjE3Ni9IIFsgOTc2IDMwNl0+Pg1lbmRvYmoNICAgIC

    ..........

    NDBiOGY0NzBjM2FhNDk4ZTBiZDE3MjBmOThhMjRjPl0vUHJldiAxMTYgPj4NCnN0YXJ0eHJlZg0

    KNjM4NDg4DQolJUVPRg0K

    Es handelt sich dabei um eine Zeichenkette aus base64-codeierten 8-Bit-Binärdaten. In diesem Fall wohl ein PDF.

    Meine Frage: ist es mit Vfp möglich aus diesen Quelldaten, die ursprügliche PDF wieder herzustellen und anzuzeigen?

    Umgekehrt kann ich eine bestehende PDF-Datei in ein binäres Memofeld einlesen und über die Copy-Funktion auch wieder sichtbar machen. Dabei schauen die abgelegten Zeichen im Memo-Feld irgendwie anders aus.

    Vielleicht kann mir jemand weiterhelfen. Vielen Dank vorab!

    Mfg

    Arno

    Dienstag, 27. März 2012 13:49

Alle Antworten

  • Hi Arno,

    zur Konvertierung in/aus base64 gibts die Funktion STRCONV(). Grundsätzlich sollte die in der Lage sein, eine Dekodierung vorzunehmen.

    Die Sache hat allerdings einen kleinen Haken, nämlich die Parameter 3 und 4. Wenn Dir nicht bekannt ist, mit welchem dieser Werte die PDF verschlüsselt wurde wirst Du u.U. ziemlich viele Varianten austesten müssen.


    Gruss / Best regards -Tom 010101100100011001010000011110000101001001101111011000110110101101110011

    Mittwoch, 28. März 2012 06:42
  • Hallo Tom,

    vielen Dank für Deinen Tipp! Die Funktion STRCONV() brachte mich mit dem Parameter 14( 'Wandelt Einfachbytezeichen aus cExpression in entschlüsselten base64 Binärcode um') sogleich ans Ziel.

    Danke und Frohe Ostern

    Arno

    Donnerstag, 29. März 2012 06:05
  • Nur zur näheren Erläuterung von base64:

    Die Parameter 3 und 4 haben meines Wissens nach keine Bedeutung bei Parameter2= 13 oder 14. base64 ist immer gleich codiert und eben auch nur eine Umkodierung, keine Verschlüsselung.

    Ich habe mal etwas mit den Parametern 3 und 4 herumgespielt, aber sehe da keinerlei Einfluss, wäre auch nicht logisch. Siehe  http://de.wikipedia.org/wiki/Base64

    Strconv verschlüsselt auch nicht versehentlich oder bewusst mit Hilfe der weiteren Parameter, die kommen nur zum Einsatz beim Wandeln von einer ANSI in die andere ANSI-Codepage oder Unicode zu ANSI.

    STRCONV() ist so eine historisch gewachsene Sammelsuriums-Funktion, die eine Menge einzelner Windows API Funktionen in sich vereint.

    Tschüß, Olaf.

    Donnerstag, 29. März 2012 19:51