gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PDFKit code


From: Ultra Vga
Subject: PDFKit code
Date: Sun, 20 Feb 2011 17:38:06 -0800 (PST)

Hello,

Attached are clean room implementations of the basics of PDFKit including PDFView, PDFMatteView, and PDFDisplayView. Currently it still uses Apple's PDFDocument and PDFPage, but it should not be too hard to wrap these interfaces around the poppler library. These have been created by listing all the methods of each original Apple class with objective-c introspection, creating new classes, and one by one implementing each method until it could display a document.
This is a project based on Apple's sample pdf viewer application in which I created replacement versions of all the display classes.

Most document navigation / display features are working such as scrolling, zoom, 1/2 page single and continuous displays, layout, notifications and so forth.

There are still a few methods to implement in PDFView, but it fully functional and handles all drawing and layout. These have been painstakingly engineered to be 100% compatible with Apple's PDFKit. There is a LOT of layout code in PDFView, and I think it could serve as the basis for ANY document centric app such as a word processor or so forth. Basically, anything that could implement the PDFDocument/PDFPage interfaces could be displayed in this class. This could serve as the basis for a really great Preview type app.

There still is some work to be done in PDFView: not all methods are implemented, magnify/zoom is sometimes a bit jumpy when the last page is zoomed, rotated pages (angles other than 0 degrees) are not displayed entirely correct, and annotations and selects are not implemented.

I'm releasing these as public domain, feel free to use them as you see fit.

enjoy


Attachment: PDFKitViewer.tar.gz
Description: GNU Zip compressed data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]