NReco PdfGenerator禁用选择

时间:2017-07-27 21:54:42

标签: c# nreco

我想禁用选择,就像图像一样,即使包含文本。

我知道PDF包含图层,但我找不到删除文本图层的位置。

感谢。

        var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
        htmlToPdf.Size = NReco.PdfGenerator.PageSize.Letter;

        htmlToPdf.Margins = new NReco.PdfGenerator.PageMargins()
        {
            Bottom = 0,
            Top = 0,
            Left = 0,
            Right = 0
        };
        string ID = "Test";
        Response.ContentType = "application/pdf";

        Response.AppendHeader("content-disposition", string.Format("inline;FileName=\"{0}.pdf\"", ID));

        htmlToPdf.GeneratePdfFromFile("Page.aspx", null, Response.OutputStream);

        Response.End();

1 个答案:

答案 0 :(得分:0)

PdfGenerator内部使用wkhtmltopdf,它将文本内容呈现为文本块,默认情况下可以选择;此行为无法更改。如果您想保证无法选择文本,则应将其渲染为图像(=您可以先将HTML渲染为图像,然后生成包含此图像的PDF)。

另一种选择是使用iTextSharp加密生成的PDF,请参阅Lock PDF against editing using iTextSharp的答案 - 仅使用PdfWriter.ALLOW_PRINTING选项(iTextSharp的LGPL版本4.1.6可用于此目的)。