0
pdf 템플릿에서 PDF를 만드는 기능이 있습니다. 템플릿에는 6 줄의 텍스트가 들어 있습니다.iText 포함 글꼴 오류가 발생했습니다.
5 줄의 글꼴은 'Myriad Pro'글꼴이어야합니다. 이것은 잘 작동합니다. 다른 한 줄 ("name")은 'TheSerif'글꼴이어야합니다. 우리는 합법적 인 공급 업체를 통해이 글꼴을 구입했습니다. 이 선은 작동하지 않는 것 같습니다. 이 함수는 오류를 발생시키지 않지만 출력 PDF에서 해당 행을 읽을 수 없습니다.
둘 다 동일한 절차를 사용하므로 두 번째 글꼴이 작동하지 않는 이유를 알 수 없습니다.
BaseFont Myriad = null;
BaseFont TheSerif = null;
Myriad = BaseFont.CreateFont("D:\\Drukwerk\\MYRIADPRO-REGULAR.OTF", BaseFont.WINANSI, BaseFont.EMBEDDED);
TheSerif = BaseFont.CreateFont("D:\\Drukwerk\\TSer6C__.pfm", BaseFont.WINANSI, BaseFont.EMBEDDED);
pdfFormFields.SetFieldProperty("name", "textfont",TheSerif , null);
pdfFormFields.SetFieldProperty("Function", "textfont",Myriad, null);
pdfFormFields.SetFieldProperty("telephone", "textfont",Myriad, null);
pdfFormFields.SetFieldProperty("mobile", "textfont",Myriad, null);
pdfFormFields.SetFieldProperty("fax", "textfont",Myriad, null);
pdfFormFields.SetFieldProperty("emailadres", "textfont",Myriad, null);
편집
: 나는이 기능은 매개 변수로 PFB와 AFM 파일을 취 다음TheSerif = BaseFont.CreateFont("D:\\Drukwerk\\TSer6C__.pfm",
BaseFont.WINANSI,
BaseFont.EMBEDDED,
true,
FileToByteArray("D:\\Drukwerk\\TSer6C__.afm"),
FileToByteArray("D:\\Drukwerk\\TSer6C__.pfb"));
에 글꼴 생성을 변경. '유효한 .pfm 파일이 아닙니다'
필자는 itext에 익숙하지 않지만이 overload BaseFont CreateFont (String name, String encoding, bool embedded, bool cached, byte [] ttfAfm, byte [] pfb, bool noThrow)를 사용해야한다. pfm. pfb 파일 데이터를 바이트 배열로 지정해야합니다. –
감사합니다.이 함수를 사용해 보겠습니다. pfb 및 ttfAfm을 바이트 배열로 전달하는 방법을 알고 있습니까? – Hazaart
바이트 배열을 가져 오는 함수를 찾았습니다. 내 질문을 업데이트했습니다. – Hazaart