发送前如何在我的 pdf 中设置密码?
How do i set password in my pdf before sending it?
为了安全起见,我正在尝试在 pdf 中添加密码,然后再从各自的所有者发送密码,
这是将我的文件保存为word转pdf的代码。这是我想为 pdf 设置密码的地方,在发送之前我看不到任何参考在他们的 pdf 文件中有密码。
filepath = "C:\Users\" & Environ("Username") & "\Desktop\WindowsApplication2\Payslips\Payslip " & item.SubItems.Item(1).Text & " " & Format(dtpPayoutDate.Value, "MM-dd-yyyy") & ".pdf"
oDoc.SaveAs(filepath, Word.WdSaveFormat.wdFormatPDF)
'oDoc.Password="trypw" This one did'nt work
'oDoc.WritePassword = "trypw" This also did'nt work
这个是从他们的 outlook 或电子邮件发送文件
Dim OutlookMessage As outlook.MailItem
Dim AppOutlook As New outlook.Application
Dim filereader1 As String = My.Computer.FileSystem.ReadAllText("C:\Users\" & Environ("Username") & "\Desktop\WindowsApplication2\email template.txt")
OutlookMessage = AppOutlook.CreateItem(outlook.OlItemType.olMailItem)
Dim Recipents As outlook.Recipients = OutlookMessage.Recipients
Recipents.Add(item.SubItems.Item(21).Text)
OutlookMessage.Subject = "Payslip " & Format(dtpPayoutDate.Value, "MM-dd-yyyy")
OutlookMessage.Body = filereader1
OutlookMessage.BodyFormat = outlook.OlBodyFormat.olFormatHTML
OutlookMessage.Attachments.Add(filepath)
OutlookMessage.Send()
编辑:我在我的 NuGet 中下载 PDFsharp,然后在发送后放入此代码。
Dim document As PdfDocument = PdfReader.Open(filepath)
Dim securitySettings As PdfSecuritySettings = document.SecuritySettings
securitySettings.UserPassword = "user"
securitySettings.OwnerPassword = "owner"
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(filepath)
感谢@Eugene Astafiev 提供一些参考
Word 不为 saving/creating 带有密码的 PDF 文件提供任何选项。这将需要具有该功能的软件,该软件还具有编程接口。
您可以使用 PDF
文件格式保存文档,然后使用 PDFSharp
库设置密码:
// Open an existing document. Providing an unrequired password is ignored.
PdfDocument document = PdfReader.Open(filename, "some text");
PdfSecuritySettings securitySettings = document.SecuritySettings;
// Setting one of the passwords automatically sets the security level to
// PdfDocumentSecurityLevel.Encrypted128Bit.
securitySettings.UserPassword = "user";
securitySettings.OwnerPassword = "owner";
// Don't use 40 bit encryption unless needed for compatibility reasons
//securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;
// Restrict some rights.
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = false;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = false;
// Save the document...
document.Save(filename);
有关详细信息,请参阅 PDFsharp Sample: Protect Document。
为了安全起见,我正在尝试在 pdf 中添加密码,然后再从各自的所有者发送密码,
这是将我的文件保存为word转pdf的代码。这是我想为 pdf 设置密码的地方,在发送之前我看不到任何参考在他们的 pdf 文件中有密码。
filepath = "C:\Users\" & Environ("Username") & "\Desktop\WindowsApplication2\Payslips\Payslip " & item.SubItems.Item(1).Text & " " & Format(dtpPayoutDate.Value, "MM-dd-yyyy") & ".pdf"
oDoc.SaveAs(filepath, Word.WdSaveFormat.wdFormatPDF)
'oDoc.Password="trypw" This one did'nt work
'oDoc.WritePassword = "trypw" This also did'nt work
这个是从他们的 outlook 或电子邮件发送文件
Dim OutlookMessage As outlook.MailItem
Dim AppOutlook As New outlook.Application
Dim filereader1 As String = My.Computer.FileSystem.ReadAllText("C:\Users\" & Environ("Username") & "\Desktop\WindowsApplication2\email template.txt")
OutlookMessage = AppOutlook.CreateItem(outlook.OlItemType.olMailItem)
Dim Recipents As outlook.Recipients = OutlookMessage.Recipients
Recipents.Add(item.SubItems.Item(21).Text)
OutlookMessage.Subject = "Payslip " & Format(dtpPayoutDate.Value, "MM-dd-yyyy")
OutlookMessage.Body = filereader1
OutlookMessage.BodyFormat = outlook.OlBodyFormat.olFormatHTML
OutlookMessage.Attachments.Add(filepath)
OutlookMessage.Send()
编辑:我在我的 NuGet 中下载 PDFsharp,然后在发送后放入此代码。
Dim document As PdfDocument = PdfReader.Open(filepath)
Dim securitySettings As PdfSecuritySettings = document.SecuritySettings
securitySettings.UserPassword = "user"
securitySettings.OwnerPassword = "owner"
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(filepath)
感谢@Eugene Astafiev 提供一些参考
Word 不为 saving/creating 带有密码的 PDF 文件提供任何选项。这将需要具有该功能的软件,该软件还具有编程接口。
您可以使用 PDF
文件格式保存文档,然后使用 PDFSharp
库设置密码:
// Open an existing document. Providing an unrequired password is ignored.
PdfDocument document = PdfReader.Open(filename, "some text");
PdfSecuritySettings securitySettings = document.SecuritySettings;
// Setting one of the passwords automatically sets the security level to
// PdfDocumentSecurityLevel.Encrypted128Bit.
securitySettings.UserPassword = "user";
securitySettings.OwnerPassword = "owner";
// Don't use 40 bit encryption unless needed for compatibility reasons
//securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;
// Restrict some rights.
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = false;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = false;
// Save the document...
document.Save(filename);
有关详细信息,请参阅 PDFsharp Sample: Protect Document。