OS X / iOS: How do I create a PDF that can't get printed?
-
03-07-2021 - |
Pregunta
I want to create a PDF document, that can't get printed. I am using the Quartz framework for that. This is what I do (shorted):
PDFDocument *pdfDocument = ...
NSMutableDictionary *options = [[NSMutableDictionary alloc] init];
[options setValue:@"test-password" forKey:(NSString *)kCGPDFContextUserPassword];
[options setValue:@0 forKey:(NSString *)kCGPDFContextAllowsPrinting];
[pdfDocument writeToFile:savePath withOptions:options];
But I can still print the resulting file with Preview.app without having to type in a password.
If I set a kCGPDFContextOwnerPassword, the document is locked with the password (but not the print function)
What am I doing wrong?
Thanks!
Solución
After using CFMutableDictionaryRef instead of NSMutableDictionary, it finally works. Don't ask me why... :D
Otros consejos
Set kCGPDFContextAllowsPrinting
value to kCFBooleanFalse
but by The default
value of this key is kCFBooleanTrue
.
Whether the document allows printing when unlocked with the user password.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow