PDFCreator 0.9.x에서 생성 된 PDF 파일을 렌더링하는 중. 문자 매핑에 오류가 있음을 발견했습니다. 이제 PDF 파일의 오류는 궁금해 할 사항이 아닙니다. Acrobat은 오류가있는 PDF 파일을 렌더링하는 데 궁금해하기 때문에 많은 PDF 생성기가 PDF 표준을 완벽하게 준수하지 않는 PDF를 만듭니다.PDF 글꼴 매핑 오류
나는 작은 예제 파일을 만들 trief : http://test.continuit.nl/temp/Document.pdf
단일 페이지는 TJ 명령을 사용하여 하나의 그림 문자 (대문자 A)를 렌더링 (스트림 5 0 OBJ 참조). 선택된 글꼴 (7 0 obj)에는 하나의 문자 모양이 포함 된 글꼴이 들어 있습니다. 여태까지는 그런대로 잘됐다. char는 char # 1에 의해 참조됩니다. 글꼴의 인코딩이 주어지면 차이 부분이 포함됩니다 : [1/A]. 그러므로 char 1 -> character/A. 이제 임베디드 하위 집합 글꼴에는 65 문자 (예 : 대문자)에 글리프가없는 cmap이 있습니다. 글꼴의 cmap 섹션은 PDF 파일의 글꼴 -> 인코딩 -> 차이 배열에서 문자를 정확히 정의합니다.
문자 매핑/인코딩이 두 번 완료된 것처럼 보입니다. PDFCreator 0.9.x의 파일 만 영향을받는 것 같습니다.
제 질문은 :이 문제가 해결 되었습니까? (또는 실수로 PDF를 수정 했습니까?) 렌더링 문제를 해결하기 위해이 상황을 감지하기 위해 무엇을해야합니까?
참고 : 나는 (플래그 비트 (3) 글꼴에 상징적 인 트루 타입 글꼴 켜져 있는지 발언이 인 ISO32000 파일에서
솔루션
..이 PDF 파일을 렌더링 할 수 있어야합니까 descriptor) 인코딩은 허용되지 않으므로 간단한 1on1 인코딩을 항상 사용하여 무시해야합니다. 그래서 모두 상징적 글꼴이라면, 나는 Encoding 객체를 모두 무시하고 이것이 문제를 해결합니다.
파일을 렌더링 할 때 무엇을할까요? – userx
@userx : 내 자신의 PDF 렌더러가 Delphi로 작성되었습니다. PDF를 메모리에서 GDI 장치로 렌더링합니다 (일반적으로 비트 맵이지만 프린터 또는 기타 GDI 장치 컨텍스트 일 수도 있음). –