Проблемы с отображением PDF-файла в браузере

Я показываю файл PDF, который я разработал с помощью библиотеки FPDF на PHP, и когда я нажимаю на кнопку, открывается новая вкладка, но вкладка становится пустой, можно увидеть только фотографию, которая У меня есть фон в PDF и типичная загрузка изображения (например, кружок кружится) в середине страницы, и больше ничего не отображается, но после перезагрузки страницы она хорошо загружается и показывает информацию

Почему это может происходить?

РЕДАКТИРОВАТЬ

Кнопка вызова для создания PDF


    
    
    
    
    

PDF заголовков ( первые строки)

SetAutoPageBreak(true,10);
 $pdf->AddPage();
 $pdf->SetFillColor(194,194,194);
 $pdf->SetLineWidth(0.1);

 $pdf->SetFont('Arial','',7);
 $pdf->Text(10,4,'titulo1');

 $pdf->Text(166,4,'titulo2');

 ob_end_clean();
 $pdf->Output('m_pdf_xxxx.php','i');
?>

Я надеюсь, что вы проясните тему немного подробнее. Очевидно, это гораздо более обширный PDF, но я не могу все здесь разместить, я попробовал это на своем локальном хосте, и происходит то же самое.

Благодарен!

0
задан 08.04.2016, 14:41
1 ответ

Плохое твое написание PDF. Это должный быть быть так:

$pdfRecibo = $pdf->Output("",'S');

Выбор S возвращает тебе бинарного в переменную, а следовательно ты не нуждаешься в маршруте, поэтому я послал ее пустая. Потом в конце твоего php сделай это:

echo $pdfRecibo;

В конце концов в javascript с jquery:

function consultarCFDI(noCFDI,campo,ejercicio_registro){
    $.ajax({
       url : "archivo.php",
       type : 'POST',
       dataType : 'text',
       data :  { noCFDI: noCFDI,campo:campo,EJERCICIO_REGISTRO:ejercicio_registro },
       success : function(binario) {
           //alert(binario);
           var nombreLogico = campo;
           var parametros = "dependent=yes,locationbar=no,scrollbars=yes,menubar=yes,resizable,screenX=50,screenY=50,width=850,height=1050";
           var htmlText = "<embed width=100% height=100% type='application/pdf' src='data:application/pdf,"+escape(binario)+"'></embed>"; 
           var detailWindow = window.open ("", nombreLogico, parametros);
           detailWindow.document.write(htmlText);
           detailWindow.document.close();
       },
       error : function(jqXHR, status, error) {
                       alert("error\njqXHR="+jqXHR+"\nstatus="+status+"\nerror="+error);
       },
       complete : function(jqXHR, status) {

       }
    });
}

и проверь кодирование символов, произойдя php в javascript, это может затрагивать тебя и возможно будь должен использовать utf8_encode или utf8_decode

0
ответ дан 24.11.2019, 14:37