C# 将jsPDF生成的pdf加密为SharpPDF

C# 将jsPDF生成的pdf加密为SharpPDF,c#,pdf,encryption,jspdf,sharppdf,C#,Pdf,Encryption,Jspdf,Sharppdf,我正在使用jsPDF在我的客户端生成pdf,并希望在我的服务器应用程序中使用SharpPDF对其进行加密,但当我尝试将jsPDF传递给SharpPDF时,我发现它无法识别某些字符: 以下是使用jsPDF输出的pdf值,然后将其编码为base 64 var out = doc.output(); var url = 'data:application/pdf;base64,' + out.toString(CryptoJS.enc.Base64); %PDF-1.3 3 0 obj <&

我正在使用jsPDF在我的客户端生成pdf,并希望在我的服务器应用程序中使用SharpPDF对其进行加密,但当我尝试将jsPDF传递给SharpPDF时,我发现它无法识别某些字符:

以下是使用jsPDF输出的pdf值,然后将其编码为base 64

var out = doc.output();
var url = 'data:application/pdf;base64,' + out.toString(CryptoJS.enc.Base64);


%PDF-1.3
3 0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Contents 4 0 R>>
endobj
4 0 obj
<</Length 9717>>
stream
0.57 w
0 G
BT
/F1 14 Tf
16.099999999999998 TL
0 g
227.46 510.24 Td
(SOME TEXT) Tj
ET
BT
/F3 8 Tf
9.2 TL
0 g
42.52 48.19 Td

错误是令牌“obj”不是预期的。

data:application/pdf;base64,%PDF-1.3 3 0对象。。。绝对不是base64编码。我将其更改为并置显示pdf输出,我添加了该部分代码,但现在我尝试不使用它,并且不起作用,现在它说无法识别/pages。我刚刚看到您使用System.IO.file.WriteAllTextD://+data.Texto,data.Valor编写pdf文件,这意味着您将其保存在字符串中。这通常是一个非常糟糕的想法,PDF是二进制数据,将其视为字符串通常会破坏其内容。
        System.IO.File.WriteAllText("D://" + data.Texto, data.Valor);

        HERE--> PdfDocument document = PdfReader.Open("D://" + data.Texto, "some text");

        PdfSecuritySettings securitySettings = document.SecuritySettings;


        securitySettings.UserPassword = "user";

        securitySettings.OwnerPassword = "owner";