從Word轉出PDF時,加入密碼保護 或不允許列印

同事詢問在轉出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; 

註解掉就可以了哦!  (只能看,不能印) 

 

參考資料

Word to PDF with Password

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^