0
我正在使用ITextSharp創建目前未在瀏覽器中顯示的打印友好PDF。 PDF的itextsharp pdf已創建,但未在瀏覽器中顯示
代通過點擊其觸發下面的jQuery的打印圖標處理:
<script type="text/javascript">
function printDiv() {
$.post("@Url.Action("DownloadAdultReportPdf", "Monthly")",
{
RegionId: $("#RegionId").val(),
DatCodeId: $("#DatCodeId").val(),
AgencyId: $("#AgencyId").val(),
ReportVersionId: $("#ReportVersionId").val()
});
}
打印圖標代碼如下所示:
<input class="print-icon tooltip" title="print this report" type="image" src="~/Content/images/printer-icon-23.png" onclick="printDiv()"/>
點擊此圖標轉到MonthlyController中的FileResult,名爲DownloadAdultReportPdf,其代碼如下所示:
public FileResult DownloadAdultReportPdf(AdultViewModel model)
{
MemoryStream workStream = new MemoryStream();
DateTime dTime = DateTime.Now;
string strPDFFileName = string.Format("SamplePdf" + dTime.ToString("yyyyMMdd") + "-" + ".pdf");
Document doc = new Document();
doc.NewPage();
Paragraph paragraph = new Paragraph();
paragraph.Add("Hello World!");
doc.SetMargins(0f, 0f, 0f, 0f);
string strAttachment = Server.MapPath("~/Downloads/" + strPDFFileName);
PdfWriter.GetInstance(doc, workStream).CloseStream = false;
doc.Open();
doc.Add(paragraph);
doc.Close();
byte[] byteInfo = workStream.ToArray();
workStream.Write(byteInfo, 0, byteInfo.Length);
workStream.Position = 0;
return File(workStream, "application/pdf", strPDFFileName);
}
如何讓PDF在用戶瀏覽器中顯示?
瀏覽器必須具備準備pdf的能力。並有你調試'返回文件(工作流,....)'任何錯誤的代碼? –
我正在測試的瀏覽器是Chrome的最新版本,當我在工作流變量的intellisense上我得到ReadTimeout和WriteTimeout錯誤,在這兩種情況下顯示爲System.InvalidOperationException – CryoFusion87
有兩個問題首先craete pdf不工作第二個與你的jQuery代碼頁不會重定向到下載/查看pdf,因爲當你的jquery'post'調用返回文件時,沒有'success'函數定義來處理響應。 –