2010-02-15 3 views
0

나는 사용자가 pdf [in code]로 보고서를 작성해야하는 웹 사이트를 가지고 있습니다. 다음 코드를 시도했는데 일부 특수 문자가 표시됩니다.이 문제를 해결할 수 있도록 도와주세요.PHP를 사용하여 데이터를 PDF로 인쇄

<?php 
require('fpdf.php'); 

//create a FPDF object 
$pdf=new FPDF(); 

//set document properties 
$pdf->SetAuthor('Lana Kovacevic'); 
$pdf->SetTitle('FPDF tutorial'); 

//set font for the entire document 
$pdf->SetFont('Helvetica','B',20); 
$pdf->SetTextColor(50,60,100); 

//set up a page 
$pdf->AddPage('P'); 
$pdf->SetDisplayMode(real,'default'); 

//insert an image and make it a link 
$pdf->Image('logo.png',10,20,33,0,' ','http://www.fpdf.org/'); 

//display the title with a border around it 
$pdf->SetXY(50,20); 
$pdf->SetDrawColor(50,60,100); 
$pdf->Cell(100,10,'FPDF Tutorial',1,0,'C',0); 

//Set x and y position for the main text, reduce font size and write content 
$pdf->SetXY (10,50); 
$pdf->SetFontSize(10); 
$pdf->Write(5,'Congratulations! You have generated a PDF.'); 

//Output the document 
$pdf->Output('example1.pdf','I'); 
?> 

제가 g endstream endobj 1 0 OBJ <> endobj 5 0 OBJ <> endobj 2 0 OBJ < </ProcSet [/ PDF/텍스트/ImageB/ImageC/ImageI]/폰트 아래와 같은 결과를 얻었다 < </F1 5 0 R >>/XObject < < >> >> endobj 6 0 obj < </제작자 (FPDF 자습서)/작성자 (Lana Kovacevic)/CreationDate (D : 20100215182640) >> endobj 7 0 obj < </유형/카탈로그/페이지 1 0 R/OpenAction [3 0 R/FitH null]/PageLayout/OneColumn >> endobj xref 0 8 0000000000 65535 f 0000000407 00000 n 000 0000595 00000 N 0000000204 00000 N 0000000282 00000 N 0000000494 00000 N 0000000699 00000 N 0000000822 00000 N 트레일러 < </크기 8/루트 7 0 R/정보 6 0 R >> startxref 그냥 필요한 대부분의 경우 925 %% EOF

+0

안녕하세요. 문제에 대한 자세한 설명을 제공하십시오. 예를 들어 어떤 특수 문자가 출력되는지 보여 주십시오. –

+0

네,'content-type' 헤더를 추가해야 할 것 같습니다. Cryo의 대답은 아래를 참조하십시오. –

답변

1

콘텐츠 유형을 PDF로 지정하여 브라우저가 파일을 처리하는 방법을 알 수 있도록합니다.

header('Content-type: application/pdf'); 

것은 하시기 전에 브라우저 정보가 전송 될 필요하지만 an application that understands PDFs가 설치되어 있지 않기 $pdf->Output('example1.pdf','I');

이 문제도 발생할 수 있습니다 부르는 호출해야합니다.

+0

FPDF가 이미 Output()에서 그 일을하고 있다고 생각하지만 잘못 생각할 수도 있습니다. –

+0

아, 네 말이 맞을 수도 있고, 헤더 출력이 없다는 표시 일 수도있다. http://www.fpdf.org/en/doc/output.htm –

+0

@Pekka 필자는 PDF의 텍스트 출력을 얻는 것처럼 보였지만 그의 문제는 들리다고 생각했습니다. – nortron

0
$pdf->Output('example1.pdf','I'); 

PDF 파일로 저장됩니다. 당신이 브라우저에서 PDF를 표시 할 경우 (또는 오픈 다운로드 대화 상자가 브라우저와 플러그인에 따라 다름), 당신은 수행해야합니다

$pdf->Output(); 
+0

실제로 두 번째 매개 변수는 '브라우저에 인라인'이라는 의미의 'I'라는 파일을 보낼 위치를 지정합니다. http://www.fpdf.org/en/doc/output.htm – nortron

+0

맞습니다. 내 애플 소스에 : / – skyman

0

Output(..., 'I') 당신을 위해 HTTP 헤더를 처리해야 - 당신이 PHP-을 사용하지 않는 CLI.

FDPF::Output 대상이 'I''cli'를 반환 php_sapi_name하지에 따라 달라집니다. 여전히 버퍼를 에코하지만 올바른 헤더는 지정되지 않습니다.

FPDF 1.6을 사용하는 경우 1010-1027 줄을 참조하십시오. 1014, fpdf.php.

관련 문제