【问题标题】:Export Doc to PDF Asp.net将文档导出为 PDF Asp.net
【发布时间】:2013-06-26 12:17:37
【问题描述】:

所以我正在使用此代码将表单视图导出到 Word。 它的效果很好..但我希望它导出为 PDF 以便无法编辑。或者可能是一个word doc,这样body就不能做出改变。

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition",
    "attachment;filename=Report.doc");
    Response.Charset = "";
    Response.ContentType = "application/vnd.ms-word";
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    FormView1.DataBind();
    FormView1.RenderControl(hw);
    Response.Output.Write(sw.ToString());
    Response.Flush();
    Response.End();
}

问题是,即使我在上面的代码中更改了内容类型和标题元素,它也会说输出的 pdf 有错误。

我真的很想将文档转换为 pdf 或使用此代码生成 pdf。

请帮忙。

谢谢..

【问题讨论】:

    标签: c# asp.net asp.net-mvc pdf-generation abcpdf


    【解决方案1】:

    如上所述,使用现有库之一创建 PDF 会更有效。

    但如果您不想使用interop,您可以下载 save as pdf plugin 用于 Microsoft Office。
    然后将“pdf”格式传递给SaveAs方法

    或者,您可以将多个属性应用于您的 Word 文档:
    1. 标记为最终doc.Final = true;
    2.限制编辑

    对于较新版本的 Word,有一个 Protect 方法,它提供了一种方便的方式来限制编辑:http://msdn.microsoft.com/en-us/library/ms178793.aspx

    【讨论】:

      【解决方案2】:

      在 ASP.NET 中创建 PDF 的最佳选择是使用 iTextSharp 之类的插件。我以前用过,非常简单免费。

      http://itextpdf.com/

      【讨论】:

      • 您还可以创建一个 HTTP 处理程序,该处理程序可以将 PDF 作为附件流式传输到浏览器,从而允许用户查看和/或保存 PDF。我在我工作的应用程序中一直使用这个概念。这是一篇关于如何generate simple PDF reports using ASP.NET HttpHandler 的博客文章
      最近更新 更多