Как объединить PDF документы, содержащие пароли владельцев, с C # - PullRequest
0 голосов
/ 30 сентября 2019

Я использую библиотеку EVOPDF для объединения нескольких документов PDF в один документ PDF.

Когда входные документы PDF имеют пароли владельца, выходной документ содержит только пустые страницы.

Я вижуItext7 имеет функцию удаления пароля владельца с помощью следующей строки: reader.SetUnethicalReading (true);

Как это можно сделать в EVOPDF или с использованием библиотеки с открытым или открытым исходным кодом? Потому что с itext7 вам нужно платить за коммерческое использование, а я уже плачу за лицензию EVOPDF.

Когда документы PDF не содержат пароли владельцев или я их вручную удаляю, объединение работает правильно

List<Byte[]> totalBytes = new List<byte[]>();
byte[] pdfBytes = null;

//Populate the totalBytes List with the PDF byte arrays

MemoryStream ms1 = new MemoryStream(totalBytes[0])
MemoryStream ms2 = new MemoryStream(totalBytes[1])

pdfMerge.AppendPDFStream(ms1);
pdfMerge.AppendPDFStream(ms2);

pdfBytes = pdfMerge.RenderMergedPDFDocument();

Response.Clear();
Response.ContentType = "application/pdf";

Response.AddHeader("content-disposition", "filename=" + savedFilename);
Response.AddHeader("Content-Length", pdfBytes.Length.ToString());

Response.BinaryWrite(pdfBytes.ToArray());
pdfBytes = null;
Response.Flush();
Response.Close();
Response.End();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...