我想从下面的代码返回Document对象。 目前我得到的文件没有页面例外。
private static Document GeneratePdfAcroFields(PdfReader reader, Document docReturn)
{
if (File.Exists(System.Configuration.ConfigurationSettings.AppSettings["TEMP_PDF"]))
File.Delete(System.Configuration.ConfigurationSettings.AppSettings["TEMP_PDF"]);
PdfStamper stamper = new PdfStamper(reader, new FileStream(System.Configuration.ConfigurationSettings.AppSettings["TEMP_PDF"],FileMode.Create));
AcroFields form = stamper.AcroFields;
///INSERTING TEXT DYNAMICALLY JUST FOR EXAMPLE.
form.SetField("topmostSubform[0].Page16[0].topmostSubform_0_\\.Page78_0_\\.TextField3_9_[0]", "This value was dynamically added.");
stamper.FormFlattening = false;
stamper.Close();
FileStream fsRead = new FileStream(System.Configuration.ConfigurationSettings.AppSettings["TEMP_PDF"], FileMode.Open);
Document docret = new Document(reader.GetPageSizeWithRotation(1));
return docret;
}
答案 0 :(得分:0)
谢谢Chris。
重申@BrunoLowagie所说的内容,传递Document对象几乎永远不会让人感觉到。尽管名称可能听起来像,但文档并不以任何方式表示PDF。调用> ToString()或GetBytes()(如果该方法实际存在)将无法获得PDF。文档只是一个单向漏斗,用于将人性化的命令传递给实际写入原始PDF>令牌的引擎。然而,引擎甚至也不是PDF。唯一真正的PDF是正在写入的流的原始>字节。 - 克里斯哈斯