【发布时间】:2015-02-02 19:25:44
【问题描述】:
在保存 PDF 文件(使用 iTextSharp)方面需要帮助,方法是使用来自多个文本框的值自动填充文件名。
我可以通过输入文件名来保存文件,但我想要的是在单击保存按钮时自动填充名称。
例如:![CID1CON4INV125][1](CID 代表Customer ID,即1,CON 代表Contract ID,即4,INV 代表@9876543329@,即@9876 @)
这是我目前所拥有的。
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "PDF Files|*.pdf";
dlg.FilterIndex = 0;
if (dlg.ShowDialog() == DialogResult.OK)
{
string fileName = dlg.FileName;
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 42f, 35f);
PdfWriter.GetInstance(pdfDoc, new FileStream(fileName, FileMode.Create));
pdfDoc.Open();
}
它应该从文本框中获取值(由 SQL 数据填充)ю
【问题讨论】:
-
你说的是哪个保存按钮?您的应用程序中的那个还是 Adobe Reader 中的那个?什么是文本框?您指的是文本字段(AcroForms)还是文本注释?为什么不能直接使用 SQL 数据而不是从 PDF 中获取相同的数据?更加详细一些。您可能会问一些在 PDF 中不可能的问题(通常,不是因为 iTextSharp),或者您可能会问一些简单的问题,但由于您的问题措辞不当,因此无法判断。
-
还有什么令人困惑的:起初听起来好像您有一个现有的 PDF 文件,其中包含一些值,但随后您显示的代码涉及
Document和PdfWriter。那没有意义。你确定不需要PdfReader和PdfStamper? -
好的,现在我在表单上有一个保存按钮,它带我进入“另存为”对话框,该对话框是空的,我需要输入文件名才能将其保存为 PDF。现在我想要的是文件名而不是我输入的名称,它应该使用文本框值自动填充文件的名称,就像我在上面的前任中提到的那样
-
如果可行,则必须在 PDF 中使用 JavaScript 来完成。我将不得不查阅 JavaScript for Acrobat 参考手册。如果我发现了什么,我会把它作为答案发布。
-
你已经更新了我的答案,但你说的又是很混乱。你说:当用另存为对话框尝试相同的事情时出现问题,文件名不会自动填写在另存为对话框中。不幸的是,很难说出你的意思。
标签: c# winforms pdf itextsharp