In the past I successfully created and used QuartzFilter from within my Cocoa app for OS X and saved pdf files. But now it seems that I am missing something.
I have just created 2 filters with ColorSync Utility, one with ImageJPEGCompress Compression Quality 1 (MinComp.qfilter) and one with ImageJPEGCompress Compression Quality -1 (MaxComp.qfilter). If I use them from within the application Preview, they work well. I get a 146KB file and a 1.5MB file. Now I use the filters from within my app, this way: filePath = [myBundle pathForResource:@"MinComp" ofType:@"qfilter"]; filterDict = [NSMutableDictionary dictionaryWithContentsOfFile:filePath]; filter = [[QuartzFilterManager filterManager] importFilter:filterDict]; options = [NSDictionary dictionaryWithObject:filter forKey:@"QuartzFilter"]; saved = [pdfDoc pdfPath withOptions:options]; I save 2 pdf files containing the same image I used in the app Preview (see above), one using the min filter, and one using the max filter The 2 PDF have the same byte size: 2.3MB. And I can't found the bug. I work with Xcode 5 and OS X 10.8.5. Target: OS X 10.8. I have linked the libs: Quartz.framework, QuartzCore.framework, AppKit.framework... That's my MaxComp filter. Above it's my code. What do I miss? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Domains</key> <dict> <key>Applications</key> <true/> <key>Printing</key> <true/> </dict> <key>FilterData</key> <dict> <key>ColorSettings</key> <dict> <key>ImageSettings</key> <dict> <key>Compression Quality</key> <real>-1</real> <key>ImageCompression</key> <string>ImageJPEGCompress</string> <key>ImageScaleSettings</key> <dict> <key>ImageResolution</key> <integer>300</integer> <key>ImageScaleFactor</key> <real>0.0</real> <key>ImageScaleInterpolate</key> <integer>2</integer> <key>ImageSizeMax</key> <integer>0</integer> <key>ImageSizeMin</key> <integer>0</integer> </dict> </dict> </dict> <key>PDF/X-3 Settings</key> <dict> <key>AddBleedBox</key> <true/> <key>AddTrimBox</key> <true/> <key>FlattenTransparency</key> <true/> <key>FlattenTransparencyResolution</key> <array> <real>300.0</real> <real>300.0</real> </array> <key>Info</key> <string></string> <key>OutputCondition</key> <string>CGATS TR 001 SWOP</string> <key>OutputConditionIdentifier</key> <string>CGATS TR 001</string> <key>RegistryName</key> <string>http://www.color.org</string> <key>Trapped</key> <true/> </dict> </dict> <key>FilterType</key> <integer>1</integer> <key>Name</key> <string>MaxComp</string> </dict> </plist> Regards -- Leonardo _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
