我正在使用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);
答案 0 :(得分:2)
在将PDF发送到HTTP流之前,您可以设置加密属性
CanCopy属性设置用户是否可以从PDF中复制文本
要设置它,请添加以下代码:
doc.Encryption.CanCopy = true;
您可能还需要设置doc.Encryption.CanExtract