Java 更改iText中的文本大小
我正在尝试使用iText更改字体属性,但无法使其正常工作。你对这个代码的错误有什么看法吗Java 更改iText中的文本大小,java,pdf,itext,Java,Pdf,Itext,我正在尝试使用iText更改字体属性,但无法使其正常工作。你对这个代码的错误有什么看法吗 public static ByteArrayOutputStream createPersonnelReport(String sablonDir, String g,byte[] fotograf) { ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream
public static ByteArrayOutputStream createPersonnelReport(String sablonDir, String g,byte[] fotograf) {
ByteArrayOutputStream baos = null;
try {
baos = new ByteArrayOutputStream();
BaseFont fontTimes = BaseFont.createFont(sablonDir + File.separator + fontName, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
PdfReader reader = new PdfReader(sablonDir + File.separator + tmSablonForSicilKaydiName);
PdfStamper stamper = new PdfStamper(reader, baos);
AcroFields form = stamper.getAcroFields();
PdfContentByte canvas = stamper.getOverContent(1);
form.setField("g", g);
boolean check=form.setFieldProperty("g", "textsize", new Float(26), null);
System.out.println("check: "+ check);
InputStream fotografImage = new ByteArrayInputStream(fotograf);
BufferedImage bImageFromConvert = ImageIO.read(fotografImage);
int type = bImageFromConvert.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : bImageFromConvert.getType();
BufferedImage dimensionedImage = resizeImage(bImageFromConvert, type);
ImageIO.write(dimensionedImage, "jpg", new File("c:/yeniPersonelFoto.jpg"));
Image image1 = Image.getInstance("c:/yeniPersonelFoto.jpg");
image1.setAbsolutePosition(450f, 650f);
canvas.addImage(image1);
stamper.setFormFlattening(true);
stamper.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
return baos;
}
}
编辑:检查:在输出中返回true答案是缺少一行代码:
form.regenerateField("g");
解决了这个问题。进行更改后,必须重新生成字段。您可以创建一个BaseFont对象。。。但你什么都不用它!您希望发生什么?在这个问题中,我并不是专门询问BaseFont对象。这是因为我在尝试另一种技术。我在询问这些代码行:“form.setField(“g”,g);boolean check=form.setFieldProperty(“g”,“textsize”,new Float(26),null);System.out.println(“check:+check”);你说得对。我自己也看到了这一点,并试图删除评论,但在这个手机界面上我找不到删除按钮……尽管如此,示例代码应该简化为手头的问题,以防止此类误解。