同事詢問在轉出PDF檔時,是否可以加密碼保護呢?
是否可以不讓 User 列印 PDF 呢?
因為有使用 Aspose.Words 所以只要設定 SaveOptions 的設定就可以了哦!
private static void Doc2Pdf(string password)
{
//請換成您的檔案目錄
string MyDir = @"C:\Docs\asposeWord\";
Document doc = new Aspose.Words.Document(MyDir + "OUTPUTX.doc");
PdfSaveOptions saveOptions = new PdfSaveOptions();
// Create encryption details and set user password
PdfEncryptionDetails encryptionDetails = new PdfEncryptionDetails(password, string.Empty, PdfEncryptionAlgorithm.RC4_128);
// Disallow all
encryptionDetails.Permissions = PdfPermissions.DisallowAll;
// Allow printing
encryptionDetails.Permissions = PdfPermissions.Printing;
saveOptions.EncryptionDetails = encryptionDetails;
doc.Save(MyDir + "OUTPUTX.pdf", saveOptions);
}
註: 如果不想讓 User 可以列印 PDF 的話,可以將上面的程式碼
encryptionDetails.Permissions = PdfPermissions.Printing;
註解掉就可以了哦! (只能看,不能印)
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^