我正在使用iTextSharp从文件路径读取pdf文件,在浏览器中编辑并打开文件。
以下代码在我本地运行时工作正常。在我发布并托管它之后,我无法从文件路径中读取该文件。我想我在相对路径上犯了一些错误。
string path = System.Web.HttpContext.Current.Server.MapPath("~/Doc/template.pdf");
请帮帮我。
using iTextSharp.text.pdf;
private void GeneratePDF()
{
byte[] bytes = null;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
string path = System.Web.HttpContext.Current.Server.MapPath("~/Doc/template.pdf");
// Create the form filler
using (PdfReader pdfReader = new PdfReader(path))
{
using ( PdfStamper pdfStamper = new PdfStamper(pdfReader, ms))
{
StringBuilder sbstring = null;
// Get the form fields
AcroFields testForm = pdfStamper.AcroFields;
....
....
PdfContentByte overContent = pdfStamper.GetOverContent(1);
pdfStamper.FormFlattening = true;
}
}
bytes = ms.ToArray();
}
//Writes it back to the client
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=" +
sbFileName.ToString() + "");
Response.BinaryWrite(bytes);
}
}
答案 0 :(得分:0)
相对路径是正确的。我检查了日志和部署的文件夹。 pdf文件未包含在包中。完成后,它工作正常。