2013-03-07 36 views
7

Tôi đã tạo trang web tự động tạo tệp PDF bằng tcpdf và nhúng phông chữ vào PDF. Người dùng có thể chọn từ một loạt các phông chữ tiêu chuẩn như Arial, Verdana vv. Sau đó, hệ thống chọn phông chữ ttf trực tiếp từ máy chủ của tôi và nhúng bằng cách sử dụng mã bên dưới. Các văn bản với phông chữ đó có thể được nhìn thấy tốt trên hầu hết người xem pdf nhưng iPad/iPhone's người xem đã không hiển thị nó. Tôi đã tải xuống một phiên bản mới (ngẫu nhiên) của Arial.ttf như một bài kiểm tra (không chắc chắn về sự khác biệt trong tệp đó, nhưng có vẻ như nó hiển thị tốt ngay bây giờ.TCPDF - phông chữ ttf được nhúng không hiển thị khi PDF được xem trên iPad

Tôi cần thực hiện điều này cho một số phông chữ trong bóng tối một chút bởi vì tôi không biết những gì trong phông chữ có thể gây ra nó không được nhúng.Bất cứ ai biết những gì trong phông chữ ttf sẽ gây ra nó không được hiển thị? Hiển thị tốt trên người xem khác và hiển thị được nhúng vào thuộc tính tài liệu Acrobat?

Cảm ơn

$fontname = $pdf->addTTFfont('/tcpdf/fonts/custom/'.$ttfFile.'.ttf', 'TrueTypeUnicode', '', 32); 

// sử dụng phông chữ

$pdf->SetFont($fontname, '', $fontPoints, '', 'false'); 
+0

Ý anh là gì bởi "không hiển thị" - văn bản đã thực sự hoàn toàn không có ở đó? Và bạn có thể chia sẻ một trong những tệp PDF đó để có thể xem được không? –

+0

Xin chào, cảm ơn bạn đã trả lời, phông chữ được hiển thị trên trình đọc pdf chrome và thông qua safari nhưng không phải thông qua trình xem chuẩn trên iPhone/iPad. Dưới đây là một ví dụ với một lựa chọn phông chữ, tất cả hiển thị thông qua hầu hết người xem, một số bị thiếu trên iPhone. Họ rõ ràng là 'các tập con nhúng' theo Acrobat, mọi ý tưởng sẽ rất hữu ích. http://s316279697.websitehome.co.uk/joe/banner790.pdf – user1916116

+0

Tôi chạy tập tin của bạn thông qua callas pdfToolbox preflight (cảnh báo, tôi liên kết với công ty này) và tôi thấy hai điều có lẽ lạ. Trước hết, tệp của bạn cũng chứa hai phông chữ Helvetica dường như không được sử dụng trên trang (và không được nhúng). Tệp của bạn cũng quay trở lại với một số lỗi cho phông chữ Palatino được sử dụng. Đây có phải là phông chữ không được hiển thị không? –

Trả lời

2

Thông số của bạn cho $ subset là sai. Bạn đặt nó thành 'false' (với dấu ngoặc kép). Nó phải là sự thật boolean.

<?php 
      ... 
      // Wrong 
      $pdf->SetFont($fontname, '', $fontPoints, '', 'false'); 

      // Right 
      $pdf->SetFont($fontname, '', $fontPoints, '', true); 
      ... 
    ?> 

Tại sao nó hoạt động?

Vì nó nhúng toàn bộ phông chữ, không chỉ một tập con. Bí quyết là đặt tham số $ subset trong phương thức $ pdf-> SetFont() thành true.

http://www.tcpdf.org/doc/code/classTCPDF.html#a471562985997be1573d387f0aeae6964

PDF đang làm việc với

iPad (iOS 7), iPhone (iOS 7), Windows 7, Mac OSX 10.9.

Môi trường của tôi cho Creation PDF

Apache 2 trên MAC 10.9, PHP 5.3.x, TCPDF v6.0.078

tập tin

Example PDF and a PHP Script to create it

+1

Trên thực tế, $ subset phải được đặt thành false (boolean false, không phải trong dấu ngoặc kép) để toàn bộ phông chữ được nhúng trong tài liệu và xuất hiện chính xác trong El Capital Preview, iOS, v.v. –

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