How to override WebKit's PDFViewSavePDFToDownloadFolder? - cocoa

I have an application that includes a WebView, which automatically displays PDFs in WebKits WebPDFView. When the user hovers above the lower portion of the document, an overlay appears that enables zooming, opening in Finder and saving the PDF in the download folder.
I would like to implement the latter, but I have no idea how to go about it, except that I need to implement PDFViewSavePDFToDownloadFolder. However, where do I implement it? I'd appreciate any pointers.

If you want to monkey patch Apple's built-in PDF viewer, you can't unless you want to use a code injection hack that is guaranteed to break. If you want to implement your own PDF viewer, then you build a WebKit plugin.

Related

Is there an easy way I can display a short message with the default Quick Look preview?

DRM-protected iTunes movie and music files show a fairly standard-looking Quick Look preview, but with an extra line of text added above the default material:
I'd like to be able to replicate this behavior for my DRM-protected custom document type, but so far I haven't found a way. Is there an easy way to achieve this and still keep the system-default content and layout? Sure, I could easily obtain all of the metadata and build my own preview, but then I'd have to worry about localizations and future-proofing.
No, the only way is to build a custom Quick Look preview extension and/or plugin.

Generate custom Finder thumbnails for some file types

I'd like to be able to generate my own thumbnails for some image files with custom extensions (say, a .canon file that is really a TIFF), so that Finder would use them.
I don't want to change the file contents (nor am I interested in the embedded tiff thumbnail).
Creating the thumbnail from the file's contents would be easy, the tricky part is integration. Does anyone know if it's possible?
The custom extensions won't be associated to any/other app.
I've done a lot of iOS development but know very little about OS X components.
If it's not possible to use Finder at all, is it at least possible to store the thumbnails in resource forks and have them used by, say, a custom filesystem browser?
File thumbnails, as well as full-size previews (which are displayed when you tap the space bar), can be generated dynamically by Quick Look plugins for any file type that they're registered for. The thumbnails do not need to be stored in the file, although you can certainly use pregenerated thumbnails if they're already in there.
For more information on Quick Look, please refer to Apple's Quick Look Programming Guide.

In order to add new functionality to existing Firefox clients, do I need to create an extension or a plugin?

More specifically, the idea is to allow the user to open Firefox, highlight a word on a web page, right click on it, and have an additional option that, when selected, calls c++ code that does something with the input string (must call C++ code, unfortunately), and displays a dialog box showing the result.
I'm still not sure if in order to implement this functionality I need to create a Firefox plugin or an extension. Can someone point me in the right direction?
Also, if someone can show me sample code in order to get me started that would be appreciated. (XPCOM, which I'm not even sure is what I should be using, seems a bit complicated for this seemingly simple project.)
You need a regular Firefox extension. It can add an item to the context menu, NPAPI plugins cannot do this. When it is clicked it can get the selected text and send it to your binary library. The best way to call functions in this library is js-ctypes, XPCOM is not required.

How to approach implementing a layout editor using Cocoa

I want to build an OS X application, in which one of the requirements is for the user to be able to generate PDF output according to a layout that they, the user, will create. Typical items on the page would be things like a corporate logo (a JPEG or PNG), an address (a block of text) and a narrative (another block of text).
I'd like the user to be able to move and resize the items using the mouse to drag handles around on-screen.
Is there an Interface Builder object that will let me do that, or some third-party library that exists for this purpose?
Try GCDrawKit if you're looking for a drop-in solution. It's still in beta (and has been for ages) but you might find it useful.
You seem to be looking for an all-encompassing, self-contained "Pages" control or some sort of reporting suite. That's asking a bit much.
There is nothing in the Cocoa frameworks that gives you this. Unfortunately, there's no Cocoa equivalent of Crystal Reports either. You'll have to roll your own.
I suggest using standard CSS / HTML templates with WebKit. The only drawback is WebKit doesn't yet support CSS pagination, so there's no concept of "8.5"x11" page 1...15" but it's the closest you'll come without writing your own Pages application (NOT an easy project by any stretch of the imagination).

Ajax Image gallery / Open, Close Window Effect

Can anyone point me in the direction of such a script? It should also be able to work when called into another ajax window. This is the type of gallery i am going for:
http://dageniusmarketer.com/DigitalWonderland/pages/DemoGalleryExample.html
It should go on this page:
dageniusmarketer.com/DigitalWonderland/
Portfolio section.
This script should be real simple to use with minimal extra files to make it work. I also should be able to just drop images in a gallery folder and it populates the gallery automatically with thumbnails....I shouldnt have to write code for each image in my html. Should be all dynamic.
I also would like to know how I could go about a window effect where every time I open up a new section via my navigation, the window shrinks closed with the old content, then expands open with the new content. the window effect should be vertical (top to bottom shrink into center, expand from center top to bottom)
Please Let me know. Thanks
JQuery is one of my personal favorite javascript libraries (along with 99% of this site apparently!)
But it will have a learning curve, as your requirements seem pretty specific, and you will have to read some documentation to pull it off.
Try Spry from Adobe. They have a very similar demo. Also, the other common frameworks for this would be prototype/scriptaculous, dojo, mootools, jquery. In many cases they have extensions that would provide the exact thing you are looking for. For example, try
shadowbox extension which is framework agnostic. Best of luck!
Imago looks promising:
http://imago.codeboje.de/
Just discovered the very awesome-looking jQuery Tools library today. Meets your "simple and minimal" requirements and could probably pull off what you've sketched, with just the "tooltips" and "scrollable" components.
I also should be able to just drop images in a gallery folder and it populates the gallery automatically with thumbnails
My instinct is that you'd be better off writing server-side code to handle this part of your requirement.

Resources