首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC -将PdfPTable转换为Html

MVC -将PdfPTable转换为Html
EN

Stack Overflow用户
提问于 2015-02-18 18:44:38
回答 1查看 586关注 0票数 0

我正在下载一个PDF document。我已经使用PdfPTable创建了一个表。下面是我的简短代码。

代码语言:javascript
复制
var document = new Document(PageSize.A4, 50, 50, 25, 25);                
var output = new MemoryStream();
var writer = PdfWriter.GetInstance(document, output);

document.Open();

PdfPTable table = new PdfPTable(2);
table.WidthPercentage = 80;

PdfPCell cell = new PdfPCell(new Phrase("Description", fntTableFontBold));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(cell);

......
document.Add(table);
document.Close();

Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}.pdf", "Journal"));
Response.BinaryWrite(output.ToArray());

一切都运行正常。上面的代码直接在浏览器中下载PDF。

现在我想添加预览功能,如果用户点击Preview,他应该会看到HTML输出。

如何将上面的代码转换为HTML?有很多用于创建PdfPTable的代码和查询。

EN

回答 1

Stack Overflow用户

发布于 2015-02-18 19:09:57

使用iTextSharp创建pdf需要大量的编码。您不能将pdf呈现为HTML代码(据我所知),但您可以首先创建一个HTML,将其转换为pdf,然后将其呈现为流到浏览器。如果您首先创建HTML,那么您可以使用html进行预览。

这是我曾经写过的一段代码,用于将html转换为pdf。

代码语言:javascript
复制
protected void ConvertHTMLToPDF(String HTMLCode, String fileName)
{    
    //Create PDF document 
    iTextSharp.text.Document doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
    PdfWriter.GetInstance(doc, new FileStream(HttpContext.Current.Server.MapPath("~") + "/Resources/Temp/" + fileName, FileMode.Create));
    doc.Open();

    foreach (IElement element in HTMLWorker.ParseToList(new StringReader(HTMLCode), null))                
    {
        doc.Add(element);
    }

    doc.Close();
    //Response.End();

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28581625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档