在我的asp.net应用程序中,我们使用ITextSharp.dll生成pdf 现在我的问题是每次相同的pdf打开(不刷新),除非直到清除我的浏览器历史记录它是相同的。我正在使用Chrome浏览器。
这是我的代码
private void fillForm() {
try {
string Phone = "", Physical = "";
string formFile = Server.MapPath("~\\Inspection.pdf");
string newFile = Server.MapPath("~\\InspectionPrint.pdf");
PdfReader reader = new PdfReader(formFile);
PdfStamper stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create));
AcroFields fields = stamper.AcroFields;
PdfContentByte d = new PdfContentByte(stamper.Writer);
//getting values from DB
SqlCommand comd = new SqlCommand("usp_PrintInspection", QMSConn);
QMSConn.Open();
comd.CommandType = CommandType.StoredProcedure;
comd.Parameters.Add("@QuoteNumber", SqlDbType.VarChar);
comd.Parameters["@QuoteNumber"].Value = Session["CurrQuoteNumber"].ToString();
DataSet ds = new DataSet();
SqlDataAdapter sqlAdapter = new SqlDataAdapter();
sqlAdapter.SelectCommand = comd;
sqlAdapter.Fill(ds, "Table");
if (ds.Tables[0].Rows.Count > 0) {
// set form fields
string Name = ds.Tables[0].Rows[0]["NAME"].ToString();
string Address1 = ds.Tables[0].Rows[0]["Address1"].ToString();
string CompanyID = ds.Tables[0].Rows[0]["CompanyID"].ToString();
string PolicyNumber = ds.Tables[0].Rows[0]["PolicyNumber"].ToString();
fields.SetField("Name", Name);
fields.SetField("Address1", Address1);
fields.SetField("CompanyID ", CompanyID);
fields.SetField("PolicyNumber", PolicyNumber);
stamper.FormFlattening = false;
stamper.Close();
string file = "InspectionPrint";
string Url = "../" + file + ".pdf";
String js = @"WindowPopup('" + Url + "');";
ScriptManager.RegisterStartupScript(this, this.GetType(), "Key", js, true);
}
else {
showalert("No Record Available For This Quote");
}
}
catch(exception ex) {
}
}
答案 0 :(得分:0)
正如您所说它在Localhost中工作但不在生产服务器中工作,很可能在我看来是URL/Path
问题。
1。在观察您的代码之后,您将创建另一个字符串Url
变量,而不使用现有的String formFile
变量。
因为您应该使用valid path
而不是formFile
提供Url
,因为您使用formFile
创建了Server.MapPath()
试试这个:
/*string Url = "../" + file + ".pdf";*/ //comment or remove
String js = @"WindowPopup('" + formFile + "');";//use formFile instead of Url