2013-03-07 12 views
7

Stworzyłem stronę internetową, która dynamicznie tworzy pliki PDF za pomocą tcpdf i osadza czcionki w pliku PDF. Użytkownik może wybierać spośród wielu standardowych czcionek, takich jak Arial, Verdana itp. Następnie system wybiera czcionkę ttf bezpośrednio z mojego serwera i osadza za pomocą poniższego kodu. Tekst z tą czcionką był dobrze widoczny w większości przeglądarek PDF, ale przeglądarka nie wyświetlała go. Pobrałem nową (losową) wersję Arial.ttf jako test (nie jestem pewien różnicy w pliku, ale wydaje mi się, że teraz jest dobrze.)TCPDF - wbudowane czcionki ttf nie wyświetlające się po wyświetleniu pliku PDF na iPadzie

Potrzebuję zrobić to dla wielu czcionek, ale robię zdjęcia w ciemności, ponieważ nie wiem, co w czcionce może spowodować, że nie zostanie osadzone Czy ktoś wie, co w czcionkach ttf spowodowałoby, że nie będą wyświetlane? Dobrze pokazuje innym widzom i programom, które mają być osadzone w właściwości dokumentu Acrobat?

Dzięki

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

// użyj czcionki

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

Co masz na myśli przez "nie wyświetla się" - tekst w ogóle nie istniał? Czy możesz udostępnić jeden z tych plików PDF, aby można było go obejrzeć? –

+0

Cześć, dzięki za odpowiedź, czcionki były widoczne na chromowym czytniku PDF i przez safari, ale nie przez standardową przeglądarkę na iPhonie/iPadzie. Oto przykład z wyborem czcionek, wszystkie pokazują większość widzów, niektórych brakuje na iPhonie. Są to "zagnieżdżone podzbiory" według Acrobata, wszelkie pomysły byłyby bardzo pomocne. http://s316279697.websitehome.co.uk/joe/banner790.pdf – user1916116

+0

Uruchomiłem twój plik przez callas prefektura pdfToolbox (ostrzeżenie, jestem związany z tą firmą) i widzę dwie być może dziwne rzeczy. Przede wszystkim plik zawiera również dwie czcionki Helvetica, które najwyraźniej nie są używane na stronie (i które nie są osadzone). Twój plik powraca również z kilkoma błędami dla użytej czcionki Palatino. Czy to jest czcionka, która nie jest wyświetlana? –

Odpowiedz

2

Twój parametr dla podzbioru $ jest nieprawidłowy. Ustawiasz na "false" (z cytatami). Powinno być prawdziwe boolean.

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

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

Dlaczego to działa?

Ponieważ osadza całą czcionkę, a nie tylko podzbiór. Sztuką jest ustawienie parametru $ subset w metodzie $ pdf-> SetFont() na true.

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

PDF pracuje z

iPad (iOS 7), iPhone (iOS 7), Windows 7, MacOSX 10.9.

Moje środowisko do tworzenia PDF

Apache 2 na Mac 10.9, PHP 5.3.x, TCPDF v6.0.078

Pliki

Example PDF and a PHP Script to create it

+1

W rzeczywistości, podzbiór $ powinien być ustawiony na false (boolean false, not in quotes), aby cała czcionka została osadzona w dokumencie i poprawnie pojawiła się w El Capital Preview, iOS, itp. –

Powiązane problemy