Displaying a pdf to webpage using iTextSharp?

烂漫一生 提交于 2020-01-13 17:04:08

问题


I am generating a pdf using iTextSharp. I would like to display it on the webpage and let the user save it from the online pdf viewer. dynamicpdf has a drawtoweb() method, but it is not free to use and I cannot find the same functionality using iTextSharp. How can I display the pdf?

string newFile = "Pdf Document.pdf";
        Document doc = new Document();
        PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(newFile, FileMode.Create));
        doc.AddCreator("Myself");
        doc.AddTitle("Sample PDF Document");
        doc.Open();
        doc.Add(new Paragraph("Hello, World!"));
        doc.Close();

回答1:


Is there a reason you can't just display the PDF like any other website does? Just send the generated file to the user as a response stream with the correct meta data. It will open automatically in its default PDF viewer, most likely inside the browser.
As far as I understand the DrawToWeb method of dynamicpdf that's exactly what it is doing.

UPDATE:
Some research brought up a solution like this:
Add an iframe to your web page:

<IFrame runat="server" id="iframepdf">
</IFrame>

and populate it with the PDF file:

iframepdf.Attributes.Add("src", "showpdf.ashx?pdf=" + xyz);

See How <iframe src can read local temp file? for more info.




回答2:


I ended up just buying a license to dynamicpdf. It was much easier to work with than itextsharp.



来源:https://stackoverflow.com/questions/5555274/displaying-a-pdf-to-webpage-using-itextsharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!