2011-06-29 51 views
9

Tôi có một ứng dụng do một người khác thực hiện và giờ tôi được yêu cầu xem xét một vấn đề.Lỗi FPDF: Không thể bao gồm tệp số liệu phông chữ

Khi báo cáo pdf được tạo, nó sẽ phát ra lỗi. Ứng dụng này sử dụng FPDF để tạo ra PDF

FPDF error: Could not include font metric file 

Trước đó nó đã ném các lỗi sau

Warning: FPDF::include(helveticab.php) [function.FPDF-include]: failed to open stream: No such file or directory 
Warning: FPDF::include() [function.include]: Failed opening 'helveticab.php' for inclusion 
FPDF error: Could not include font metric file 

này đã được giải quyết bằng cách đưa vào một thư mục phông chữ với helveticab.php và các file php khác liên quan đến các phông chữ khác

Nhưng lỗi Lỗi FPDF: Không thể bao gồm tệp số liệu phông chữ vẫn ở đó. On tìm kiếm trên net lý do có thể là

  1. thư mục phông chữ thiếu

  2. Doesnt có quyền truy cập cho các tập tin phông chữ.

Tôi không chắc chắn cần phải cấp quyền gì cho thư mục phông chữ hoặc tệp trong thư mục. Bất kỳ trợ giúp nào về vấn đề này sẽ giúp ích rất nhiều.

+1

Same cho tôi .. bất kỳ giải pháp? – enloz

Trả lời

10

Tôi gặp vấn đề tương tự. Vấn đề là đường dẫn không đúng với thư mục với tất cả các phông chữ. Vì vậy, tôi đã thêm cập nhật dòng sau trong tệp PHP để phản ánh đúng đường dẫn đến thư mục có tất cả các phông chữ.

xác định ('FPDF_FONTPATH', 'class/fpdf_font /');

Vì vậy, hãy kiểm tra lại đường dẫn mà dòng này xác định và nó sẽ hoạt động tốt.

+1

Trên Ubuntu 10.4, yêu cầu xác định là: define ('FPDF_FONTPATH', '/ usr/share/php/fpdf/font /'); –

+0

Trên Debian, nó cũng là/usr/share/php/fpdf/font. Và hãy nhớ, nếu không, đó là vì bạn không cài đặt php-fpdf;) –

5

I belive bạn đã trích ra file zip FPDF vào localhost hoặc hệ thống của bạn

Một lần, tập tin nén được chiết xuất bạn thấy cấu trúc thư mục như trong hình dưới đây

enter image description here

và chèn đoạn code dưới đây trong test.php

<?php 
define('FPDF_FONTPATH','font/'); 
//above line is import to define, otherwise it gives an error : Could not include font metric file 
require('fpdf.php'); 



$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','B',16); 
$pdf->Cell(40,10,'Hello World!'); 
$pdf->Output(); 
?> 

Bây giờ thưởng thức

0

Trong trường hợp của tôi, tôi sử dụng Linux (Debian), tôi đã có cùng một vấn đề và các thư mục đã đúng. Tôi đã giải quyết thêm 777 quyền vào thư mục/font. Và bây giờ nó hoạt động như charm =)))

1

Vấn đề của tôi là do tải xuống thư viện fpdf từ trang, một số tập lệnh mà họ có ở đó sử dụng phông chữ Arial nhưng phông chữ đó đặc biệt không được bao gồm trong phông chữ danh mục. Tôi chỉ cần thêm define('FPDF_FONTPATH','fpdf/font/'); với đường dẫn tương đối đến thư mục fpdf và thay đổi phông chữ thành Courier và sẵn sàng!

0

nếu bạn đang sử dụng một lớp bên ngoài mà mở rộng FPDF

như tên file Custom_pdf.php

trong tập tin mà bạn đã viết mã cutom bạn

require_once('fpdf.php') 


class Custom_PDF extends FPDF{ 
    ... 
} 

sau đó bạn đã bao gồm trong để mã hóa của bạn như

require_once('custom_pdf.php'); 
$pdf = new Custom_pdf(); 
$pdf->Write(); 
.... 
$pdf->output(); 

đây là vấn đề ...

Vì vậy, bạn trực tiếp đặt mã trong tệp bạn cần

require_once('fpdf.php') 
class Custom_PDF extends FPDF{ 
.... 
} 
$pdf = new Custom_pdf(); 
$pdf->Write(); 
... 
$pdf->output(); 

nó sẽ hoạt động tốt ...

Cảm ơn

xin lỗi vì những sai lầm tiếng anh ...

Các vấn đề liên quan