Skim notes are saved as an array (NSArray) of dictionaries (NSDictionary) containing standard Cocoa objects as keys and values, archived as data (using +[NSKeyedArchiver archivedDataWithRootObject:]), or as binary plist data. The table below lists all the keys and values supported by Skim notes.
Key | Value Type | Note Types |
---|---|---|
type | NSString | All (required) |
bounds | NSString (NSRect) | All (required) |
pageIndex | NSNumber (NSUInteger) | All (required) |
contents | NSString | All |
color | NSColor1 or NSArray of NSNumber (CGFloat)2 | All |
modificationDate | NSDate | All |
userName | NSString | All |
lineWidth | NSNumber (CGFloat) | Circle, Square, FreeText, Line, Ink |
borderStyle | NSNumber (PDFBorderStyle) | Circle, Square, FreeText, Line, Ink |
dashPattern | NSArray of NSNumber (CGFloat) | Circle, Square, FreeText, Line, Ink |
interiorColor | NSColor1 or NSArray of NSNumber (CGFloat)2 | Circle, Square, Line |
quadrilateralPoints | NSArray of NSString (NSPoint) | Highlight, Underline, StrikeOut |
font1 | NSFont | FreeText |
fontName2 | NSString | FreeText |
fontsize2 | NSNumber (CGFloat) | FreeText |
fontColor | NSColor1 or NSArray of NSNumber (CGFloat)2 | FreeText |
alignment | NSNumber (NSTextAlignment) | FreeText |
startLineStyle | NSNumber (PDFLineStyle) | Line |
endLineStyle | NSNumber (PDFLineStyle) | Line |
startPoint | NSString (NSPoint) | Line |
endPoint | NSString (NSPoint) | Line |
iconType | NSNumber (PDFTextAnnotationIconType) | Note, (Text) |
text | NSAttributedString1 or NSData2 | Note |
image | NSImage1 or NSData2 | Note |
drawsImage | NSNumber (BOOL) | Note |
pointLists | NSArray of NSArray of NSString (NSPoint) | Ink |
stringValue | NSString | Widget |
state | NSNumber (NSInteger) | Widget |
widgetType | NSNumber (SKNPDFWidgetType) | Widget |
fieldName | NSString | Widget |
The SkimNotes framework always return Skim notes as if they were saved as archived data.
On iOS the UIKit classes UIColor, UIFont, and UIImage are used instead of their AppKit counterparts.
Supported types are FreeText, Note, Circle, Square, Highlight, Underline, StrikeOut, Line, Ink, and Widget. All except Note reflect (part of) Adobe's specifications of the corresponding annotation types, as well as the properties of Apple PDFKit's PDFAnnotations. The Note type is an extension of the Text annotation. It may be that in the future the type Text will be supported. Currently Skim would interpret this as type Note. Widget notes are only saved for their state information and used only as reference for existing widgets, not added to the PDF.