java class对齐,在java中对齐AcroFields

博主使用iTextSharp将数据填充到OpenOffice创建的PDF模板中,想让摘要文本在模板中对齐,但原代码未生效。给出解决方案,指出对齐方式不是字段标志的一部分,而是小部件注释字典的一个条目,并给出修改对齐方式的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I'm using iTextSharp to populate the data to PDF Templates, which is created in OpenOffice. it populating fine, I'm getting proper PDF. In that PDF some where summary will come, that place i want align that text against the Template.

I'm doing below code but it does not work.

fields.setFieldProperty(fieldName, "fflags", PdfFormField.Q_LEFT, null);

Please Help.

Thanks.

解决方案

Assuming that you have a pure AcroForm and not a hybrid form as I indicated in my comment, this is how you change the quadding of a field:

AcroFields form = stamper.getAcroFields();

AcroFields.Item item;

item = form.getFieldItem("fieldLeft");

item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_LEFT));

item = form.getFieldItem("fieldCenter");

item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_CENTER));

item = form.getFieldItem("fieldRight");

item.getMerged(0).put(PdfName.Q, new PdfNumber(PdfFormField.Q_RIGHT));

The quadding isn't part of the field flags as you wrongly assumed. It's and entry of the widget annotation dictionary.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值