这就是我的工作方式,希望对其他人有所帮助。只需使用要在PDF中使用的语言所支持的字体。
public static void main(String[] args) throws IOException{ String formTemplate = "myFormPdf.pdf"; try (PDdocument pdfdocument = PDdocument.load(new File(formTemplate))) { PDAcroForm acroForm = pdfdocument.getdocumentCatalog().getAcroForm(); // you can read ttf from resources as well, this is just for testing PDFont font = PDType0Font.load(pdfdocument,new File("/path/to/font.ttf")); String fontName = acroForm.getDefaultResources().add(pdfont).getName(); if (acroForm != null) { PDTextField field = (PDTextField) acroForm.getField( "sampleField" ); field.setDefaultAppearance("/"+fontName +" 0 Tf 0 g"); field.setValue("جملة"); } pdfdocument.save("updatedPdf.pdf"); }}
编辑 :添加mkl的注释字体名称和字体大小是Tf指令的参数,黑色的灰度值0是g指令的参数。参数和指令名称必须适当分开。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)