我正在使用iTextSharp将多个pdf文件合并到一个文件中 .
我正在使用iTextSharp官方教程中描述的方法,specifically here,它通过PdfWriter和PdfImportedPage逐页合并文件 .
原来我需要合并的一些文件是填写PDF表单并使用这种合并表单数据的方法丢失了 .
我看到几个使用PdfStamper填写表单并展平它们的例子 .
我找不到的,是一种压缩已填写的PDF表格的方法,希望将其与其他文件合并,而不保存它首先展平版本 .
谢谢
我正在使用iTextSharp将多个pdf文件合并到一个文件中 .
我正在使用iTextSharp官方教程中描述的方法,specifically here,它通过PdfWriter和PdfImportedPage逐页合并文件 .
原来我需要合并的一些文件是填写PDF表单并使用这种合并表单数据的方法丢失了 .
我看到几个使用PdfStamper填写表单并展平它们的例子 .
我找不到的,是一种压缩已填写的PDF表格的方法,希望将其与其他文件合并,而不保存它首先展平版本 .
谢谢
4 回答
创建要合并的文件时,我更改了此设置:pdfStamper.FormFlattening = true;
效果很好 .
只是在PdfStamper上设置.FormFlattening还不够......我最终使用了PdfReader,其中包含文件内容的字节数组,用于标记/压平数据以获取其中的字节数组以放入新的PdfReader . 以下是我的表现 . 现在很棒 .
我认为这个问题与此问题相同:AcroForm values missing after flattening
根据答案,这应该做的伎俩:
这与接受的答案相同,但没有任何未使用的变量: