Klaus1: Wie kann ich Binary Daten aus SAP mit PHP zu einer PDF Datei konvertieren?

Beitrag lesen

Hallo,

über eine RFC-Aufruf bekomme ich von SAP eine Tabelle zurück. In der Tabelle liegt die PDF-Datei augesplittet alle 1022 Zeichen.

Der Anfang der ersten Zeile sieht bspw. so aus:

255044462D312E370A25C7EC8FA20A352030206F626A0A3C3C2F4C656E6774682036203020522F466

Die Datei scheint also in Hex-Code übergeben worden zu sein. Die ersten Zeichen (25 50 44 46) sind der Hex-Ascii-Code für %PDF.

Also laufe ich durch alle Zeilen der Tabelle und wandle mittels hex2bin() um.

Aber der PDF-Reader erkennt das Dokument als fehlerhaft.

So sieht mein Script aus:

$rows = saprfc_table_rows ($fce,"CONTENT_BIN");
$pdfData = "";
for ($i=1;$i<=$rows;$i++) {
	$aline = saprfc_table_read ($fce,"CONTENT_BIN",$i);
	$pdfData .= hex2bin($aline["LINE"]);
}

$pdfName = "your_pdf_file_name.pdf";

header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=$pdfName");
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

echo $pdfData;

Vergleiche ich diese PDF-Datei mit dem Original, dann werden einige Teile verschluckt.

Hat jemand eine Idee, woran das liegen kann?

LG Klaus