В моей программе я пишу PDF-файлы с указанным мной паролем. Это важно, поскольку я знаю пароль для файлов PDF, которые я пытаюсь открыть (не взламывая его или что-то еще). I пароль защищает PDF так;Открытие защищенного паролем PDF Использование PDFsharp
Application.Current.Dispatcher.InvokeAsync(new Action(() =>
{
string sourcePath = sourceFilePath;
string targetPath = @"C:\ExamplePath";
useReturnedOHPath = true;
string sourceFile = Path.Combine(sourcePath, fileName);
var document = PdfReader.Open(sourceFile);
var securitySettings = document.SecuritySettings;
securitySettings.UserPassword = "ExamplePass";
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = false;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = false;
document.Save(sourceFile);
MessageBox.Show(sourceFile);
string cleanPath = CleanFileName(selectedPerson.ID + " " + DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss") + ".pdf");
ohDestFile = Path.Combine(targetPath, cleanPath);
File.Copy(sourceFile, ohDestFile, true);
}), DispatcherPriority.ContextIdle);
Из-за этого я знаю, что пароль к PDF является ExamplePass
. Теперь, когда я пришел, чтобы открыть PDF из моей программы, я попробовал несколько методов, просто;
Однако понятно, что это просто открывает Acrobat и запрашивает пароль. Я также попытался добавить в:
PdfDocument document = PdfReader.Open(selectedOHRecord.Path, "ExamplePass");
который берется из самого сайта PDFsharp, однако, когда я называю это ничего не происходит вообще. Есть ли способ открыть PDF-файл и ввести пароль для пользователя, чтобы они не вводили его?
Какова цель вашего пароля? –
@PDFsharpTeam Мы хотим, чтобы файл PDF не открывался за пределами программы, в которой он открыт, т. Е. Не позволяет пользователю открыть файл в проводнике Windows. – CBreeze
API PDFsharp полностью независим от Adobe. Невозможно передать пароль из PDFsharp в Adobe Reader. И AFAIK нет способа передать пароль Adobe Reader с помощью командной строки. –