2016-08-05 5 views
0

문서의 무결성을 유지하기 위해 글꼴 대체가 허용되지 않는 인쇄 프로세스가 있습니다. 이를 수행하는 유일한 방법은 모든 글꼴이 포함되도록하는 것입니다. FontFactory.GetFont (문자열 fontname, 문자열 인코딩, bool 포함, float 크기) 오버로드를 호출 할 때 포함 된 옵션을 지정합니다. 아래의 코드는 솔루션을 찾기 위해 사용해온 테스트 코드입니다. 불행하게도 생성 된 pdf에는 임베디드 글꼴이 없습니다.글꼴이 ItextSharp에 포함되지 않음

public static void TestPDFEmbedd() 
    { 
     Document document = new Document(); 
     PdfWriter.GetInstance(document, new FileStream(SystemPaths.SystemPath + "\\Production\\Test.pdf", FileMode.Create)); 
     document.Open(); 
     FontFactory.Register("c:\\windows\\fonts\\tahomabd.ttf","address_font"); 
     Font font = FontFactory.GetFont("address_font",BaseFont.CP1252,true,10f); 
     document.Add(new Paragraph("Testing 123", font)); 
     document.Close(); 

    } 
+1

Tahoma Bold 대신 Helvetica가 표시되면 글꼴 경로가 잘못되었습니다. –

답변

1

이 문제는 재현 할 수 없습니다.

enter image description here

나는이 대답을하지 실현,하지만이 스크린 샷을 공유하는 내가 생각할 수있는 유일한 방법이었다 : 테스트는 다음 PDF 결과. 실제로 설명 된 문제는 공유 된 정보를 사용하여 재현 할 수 없기 때문에 질문에 대한 답변이 없습니다.

보시다시피, iTextSharp는 글꼴을 포함하고 있습니다. 보다 구체적으로, 폰트의 서브 세트. 전체 글꼴을 포함하려면이 질문에 대한 대답에서 설명한 방법을 사용해야합니다. embed font into pdf using itextsharp

그 대답을 읽으면 과거에 글꼴에 버그가 있음을 알 수 있습니다. 사람들이 작동하지 않는 것에 대해 불평 할 때, 우리는 항상 그들이 최신 버전을 사용하고 있다고 가정합니다. 이 가정은 수년 전에 고쳐진 버그에 대해 사람들이 불평하지 않기 때문에 합리적입니다.

+1

버전 5.5.7을 설치하고 버전 5.5.9를 설치했으며 같은 문제가 발생했습니다. 나는 폰트를 tahomabd.ttf에서 tahoma.ttf로 바 꾸었습니다. 폰트가 포함 된 pdf가되었습니다. 나는 tahomabd.ttf에 swithced했다. 그리고 그것은 포함시키지 않을 것이다. cour.ttf를 시도하고 다른 중 하나를 포함하지 않습니다. 표시된 글꼴 이름은 비슷하지만 다르다. 예를 들어 tahomabd.ttf에서는 tahoma-bold로 표시되며 대담한 tahoma로 대체됩니다. 그것은 윈도우 10 뭔가 잘못 될 수 있을까요? –

+0

시나리오를 복제 할 수 있었으며 문서 속성과 프리 플라이트 기능이 포함 된 글꼴을 보여줍니다. "도구 -> 고급 편집 -> 텍스트 도구 터치"로 이동하여 텍스트를 강조 표시하고 속성을 보면 글꼴을 볼 수 없다고 표시됩니다. Acrobat Reader Pro에서 불일치가있는 것 같습니다. –

+0

내 대답을 읽었습니까? 글꼴 *의 하위 집합이 포함되어 있다고 설명했습니다. 이것은 문서 속성에 반영되며 글꼴이 포함되어 있는지 확인하면 PDF가 프리 플라이트를 전달합니다. 그러나 글꼴을 사용하여 텍스트를 추가하려고합니다. 그것은 작동하지 않습니다. 예를 들어, 텍스트 "Testing 123"에는 ** a **라는 문자가 없습니다. 따라서 임베디드 하위 집합에 없기 때문에 Tahoma Bold 텍스트를 해당 문자와 ​​함께 추가 할 수 없습니다. –

관련 문제