2013-03-07 1 views
7

tcpdf를 사용하여 PDF를 동적으로 만들고 해당 글꼴을 PDF에 포함시키는 웹 사이트를 만들었습니다. 사용자는 Arial, Verdana 등과 같은 표준 글꼴 범위에서 선택할 수 있습니다. 그런 다음 시스템은 내 서버에서 직접 ttf 글꼴을 선택하고 아래 코드를 사용하여 포함합니다. 해당 글꼴이있는 텍스트는 대부분의 PDF 뷰어에서 잘 보일 수 있지만 iPad/iPhone's 뷰어가 표시하지 않았습니다. Arial.ttf의 새 (무작위) 버전을 테스트로 다운로드했는데 (파일의 차이는 확실하지 않지만 지금은 정상적으로 표시되는 것 같습니다.)iPad에서 PDF를 볼 때 TCPDF - 포함 된 ttf 글꼴이 표시되지 않습니다.

많은 글꼴에 대해이 작업을 수행해야하지만 촬영 중입니다. 어둠 속에서 글꼴에 무엇이 포함되어 있지 않은지 알지 못하기 때문에 조금 어둡습니다. 글꼴이 ttf이면 화면에 표시되지 않을 것입니다. 다른 사람에게 잘 보여주고 포함 된 것을 보여줍니다. 애크로뱃 문서 속성?

감사

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

// 글꼴을 사용

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

당신은 무엇을 의미합니까 "not displayed"- 텍스트는 실제로 완전히 거기에 없었습니다. 그리고 그 PDF 중 하나를 볼 수 있도록 공유 할 수 있습니까? –

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 글꼴은 Chrome PDF 리더에서 볼 수 있으며 사파리에서는 볼 수 있지만 iPhone/iPad에서는 표준 뷰어가 아닙니다. 다음은 대부분의 뷰어에서 모두 표시되는 글꼴과 iPhone에서 표시되지 않는 글꼴의 예입니다. 그들은 Acrobat에 따라 분명히 '임베디드 하위 집합'이며 어떤 아이디어라도 도움이 될 것입니다. http://s316279697.websitehome.co.uk/joe/banner790.pdf – user1916116

+0

나는 callas pdfToolbox 프리 플라이트 (경고, 나는이 회사와 제휴 관계에 있음)를 통해 파일을 실행했는데 아마도 이상한 두 가지가 보입니다. 우선, 파일에는 페이지에 사용되지 않는 (그리고 포함되지 않은) 두 개의 Helvetica 글꼴이 포함되어 있습니다. 귀하의 파일은 또한 사용 된 Palatino 글꼴에 대한 많은 오류가 있습니다. 이 글꼴이 표시되지 않습니까? –

답변

2

$ 부분 집합의 매개 변수가 잘못되었습니다. '거짓'(따옴표 포함)으로 설정합니다. boolean true 여야합니다.

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

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

왜 작동합니까?

전체 글꼴을 포함하기 때문에 하위 집합이 아닙니다. 트릭은 $ pdf-> SetFont() 메서드의 $ subset 매개 변수를 true로 설정하는 것입니다.

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

PDF는

아이 패드 (IOS 7), 아이폰 (IOS 7), 윈도우 7, MACOSX 10.9와 함께 일하고있다.

PDF 생성에 대한 나의 환경

MAC 10.9, PHP의 5.3.x, TCPDF의 v6.0.078에

아파치 2

파일

Example PDF and a PHP Script to create it

+1

사실 전체 글꼴을 문서에 삽입하고 El Capital Preview, iOS 등에서 올바르게 표시하려면 $ subset을 false (부울 false, 인용 부호 제외)로 설정해야합니다. –