문제

Foxit Form Designer를 사용하여 만들어진 PDF가 있습니다. 내 디자인 시스템에는 바코드 글꼴이 설치되어 있습니다. 바코드 글꼴은 Acrofields 중 하나에 사용됩니다. Foxit가 문서에 글꼴을 포함하지 않은 것으로 보입니다.

또한 컴퓨터에 바코드 글꼴이 설치되지 않은 고객이 있으므로 글꼴을 PDF에 포함 시키려고합니다. itext를 사용하여 Acrofields에 사용되는 글꼴을 PDF에 포함시키는 글꼴을 포함시키는 방법이 있습니까?

편집하다: 글꼴은 텍스트에 포함 된 것처럼 보이지만 필드는 아니므로 글꼴 (바코드)은 인쇄되지 않습니다.

도움이 되었습니까?

해결책

나는 당신이 지금까지 답을 얻었을 것이라고 확신하지만, 다른 사람들이 솔루션에 대한 자세한 내용을 얻고 싶을 수도 있습니다. 아래는 생성 된 PDF에 글꼴을 포함시키는 데 사용한 샘플 Java 코드입니다 (일부 경우에만 유용하여 문서의 크기가 크게 증가 함). PDF 양식을 작성하는 무료 도구로서 문서 내부에 양식을 추가하고 문서를 PDF 파일로 내보내면서 OpenOffice Writer를 사용했습니다.

PdfReader pdfTemplate = new PdfReader(templateName);
ByteArrayOutputStream out = new ByteArrayOutputStream();
BaseFont unicode = BaseFont.createFont(unicodeFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
PdfStamper stamper = new PdfStamper(pdfTemplate, out);
//assigning the font to the field
stamper.getAcroFields().setFieldProperty("myField", "textfont", unicode, null);
stamper.getAcroFields().setField("myField", someValue);
stamper.close();
pdfTemplate.close();

다른 팁

PdfContentByte ab = yourPDFWriter.getDirectContent();
// field: PdfFormField.createTextField(...);
PdfAppearance ap = ab.createAppearance(320, 30); // size of field
field.setDefaultAppearanceString(ap);

그것은 트릭을 수행해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top