1

我正在使用 websupergoos abcpdf 通过 addimageurl 将 html 页面转换为 pdf。

效果很好,但生成的 pdf 不允许用户选择文本和复制。一切都是一个“形象”。

是否有可能做到这一点?要使用哪些设置?

这是我当前的代码。评论的“扁平化”似乎没有做任何相关的事情。HttpStream 只是将 pdf 作为文档转发给用户。

            var doc = new Doc();
            doc.HtmlOptions.UseScript = true;

            doc.Units = "mm";
            doc.MediaBox.String = "0 0 210 297";
            doc.Rect.String = doc.MediaBox.String;
            doc.Rect.Inset(10.0, 10.0);
            doc.SetInfo(0, "License", abcpdfkey);
            doc.HtmlOptions.UseScript = true;
            doc.HtmlOptions.AddMovies = true;

            doc.HtmlOptions.RetryCount = 0;
            doc.HtmlOptions.ContentCount = 1;


                doc.Page = doc.AddPage();
                for (int i = doc.AddImageUrl(url); doc.Chainable(i); i = doc.AddImageToChain(i))
                {
                    doc.Page = doc.AddPage();
                }

                int pageCount = doc.PageCount;
                for (int j = 1; j <= pageCount; j++)
                {
                    doc.PageNumber = j;
                 //   doc.Flatten();
                }

                this.HttpStream(doc.GetData(), filename);
4

1 回答 1

2

在将 PDF 发送到 HTTP 流之前,您可以设置加密属性

CanCopy 属性设置用户是否可以从 PDF 复制文本

要设置它,请添加以下代码:

doc.Encryption.CanCopy = true;

您可能还需要设置 doc.Encryption.CanExtract

于 2012-04-13T13:35:32.590 回答