iTextSharp展平形式可消除压痕、间距

iTextSharp展平形式可消除压痕、间距,itextsharp,livecycle-designer,Itextsharp,Livecycle Designer,我在使用AdobeLiveCycle Designer和iTextSharp时遇到问题。我有一个多行的文本字段,我正在标记它,看起来像 Blah blah text here: _________________ ______________________________________ ______________________________________ 在LiveCycleDesigner中,我有一个字段,它封装了包括静态文本在内的所有3行。我已经设置了字体/段落设置,以便第一行

我在使用AdobeLiveCycle Designer和iTextSharp时遇到问题。我有一个多行的文本字段,我正在标记它,看起来像

Blah blah text here: _________________
______________________________________
______________________________________
在LiveCycleDesigner中,我有一个字段,它封装了包括静态文本在内的所有3行。我已经设置了字体/段落设置,以便第一行缩进到字段开始的位置,字段垂直对齐,行间距适当

当我使用PdfStamper设置字段而不展平表单时,虽然Chrome和Firefox默认插件似乎不太支持AcroForms,但它在Adobe中看起来很好。但是,当我展平表单时,除了字体之外,我失去了一切

iTextSharp不支持这样做吗?我有没有更好的办法?我正在尝试为我的应用程序构建一个通用的表单生成器,所以一次性修复对我来说并没有什么用处


我想到的唯一替代方法是在PDF中将其分成3个字段,并使用一些巧妙的分组和度量来确定每个字段中可以容纳多少字符串。有谁能想出更好的方法吗?

我假设您已经阅读了,并且正在扁平化一个纯XFA表单,如下所示:使用PdfStamper stamper=new PdfStamperreader,ms{AcroFields form=stamper.AcroFields;XfaForm XFA=form.XFA;XFA.FillXfaFormXmlReader.Createnew StringReaderxml;}如果没有,请共享您的表单,可能是混合XFA表单,您的代码可能是将其作为AcroForm表单填写。下面是一个示例链接。我认为我误用了术语XFA和平均AcroForm字段。我更新了问题以反映这不是XFA文档。这是一种混合形式。这意味着表单以AcroForm和XFA表单的形式出现。XFA技术比AcroForm技术具有更多的功能,这很好地解释了为什么您声称删除了特定属性。您将表单展平,就像它是一个纯AcroForm一样,因此您将丢弃一些XFA特定的属性。如果你不展平表单,就不会发生这种情况。谢谢你提供的信息,布鲁诺。那么,将字段标记为只读,然后将表单保留为未设置格式,这是更好的选择吗?我看到的另一个问题是Firefox和Chrome似乎也不支持XFA属性,但根据Adobe的网站,这应该是意料之中的。为什么不创建一个纯AcroForm模板或一个纯XFA模板,它的行为完全符合您的需要呢。这将提供比您可能试图避免使用混合表单引起的问题的任何解决方法更好的结果。