Recrear un archivo PDF desde Java a PHP

Tengo un servicio web en Java (usando Apache Axis) que tiene el ID de un documento y esta llamada a JasperReports para crear un archivo PDF (informe creado anteriormente en la aplicación java - servidor), para crear el informe, estoy usando los métodos. : JasperManager.fillReport y JasperExportManager.exportReportToPdf. El último devuelve una matriz de bytes. Mi servicio web toma la matriz y la codifica en una Cadena Base64, PHP recibe esta cadena como respuesta del Servicio Web.

Quiero volver a crear el archivo en PHP, pero no sé exactamente si esto es posible. Estoy tratando de hacer esto con el siguiente fragmento de código:

private function createFileFromString($stringWithFile){
    header('Content-Description: File Transfer');
    header("Content-Type: application/pdf");
    header('Content-Disposition: attachment; filename=remesa.pdf');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    ob_start();
    ob_clean();
    ob_flush();
    flush();
    $fp = file_put_contents("document.pdf", "w");
    fwrite($fp, base64_decode($stringWithFile));
    readfile($fp);
    ob_get_contents();
    fclose($fp);
    exit();
}

El servicio web devuelve una cadena como esta:

JVBERi0xLjQKJeLjz9MKNCAwIG9iaiA8PC9UeXBlL1hPYmplY3QvQ29sb3JTcGFjZS9EZXZpY2VS R0IvU3VidHlwZS9JbWFnZS9CaXRzUGVyQ29tcG9uZW50IDgvV2lkdGggMjg0L0xlbmd0aCAzNjc0 L0hlaWdodCA1MC9GaWx0ZXIvRENURGVjb2RlPj5zdHJlYW0K / 9J / 4AAQSkZJRgABAgAAAQABAAD / 2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0 Hyc5PTgyPC4zNDL / 2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL / wAARCAAyARwDASIAAhEBAxEB / 8QAHwAAAQUBAQEBAQEA ...

Esta cadena tiene el "Encabezado de PDF", comienza así:

% PDF-1.4% âãÏÓ 4 0 obj <> stream ÿØÿà

Cuando intento descargar el archivo, su tamaño es de aproximadamente 4-5 KB (y el archivo está dañado), pero la cadena de respuesta es de aproximadamente 180 KB.

es posible? ¿Qué estoy haciendo mal?

EDITAR: He leído sobredeshacer función, tal vez esta función me puede ayudar?

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta