Skim has extensive support for AppleScript. You can access the windows, documents, pages, notes and highlights from AppleScript. You can add, delete, and modify notes. Or you can (re)load files and change view settings. Check the dedicated AppleScript page for much more information.
The popular citation manager BibDesk allows you to view and search notes that were added using Skim.
To view the Skim notes added to a linked PDF file, look for a menu item that is named something like "Show Skim Notes for Linked File". They can be found in the Publications menu, the contextual menu for the main table over a linked file, and in the menu for the View File button in the detail window.
To search for Skim notes of linked files, type the text to search in the search field in the toolbar, and choose Skim Notes from the search buttons.
Skim has full support for the Apple Remote Control, mainly to control your presentation. You can toggle presentation mode using the play button, navigate the pages using the right/left buttons, and zoom in/out using the plus/minus buttons. After you choose the menu button, you can use use the right/left/plus/minus buttons to scroll instead. Hit the menu button again to go back to page navigation and zooming.
It seems that Snow Leopard has a bug that prevents third party applications like Skim to use the Apple Remote Control. You may use the third part preference pane Candelair to use the old driver for the Apple Remote Control that is compatible with Skim.
If you prefer to use the third party Sofa Control application, you may use this Skim sofa script. If Skim's built-in remote control support interferes with this, you can disable that as described in Tips and Tricks.
Skim's TeX-PDF Synchronization support lets you easily switch between a line in a LaTeX source and a point in the PDF shown in Skim. See the dedicated TeX and PDF Synchronization page for more information.
Skim allows creating special URLs to get deep links to a PDF, for instance to open a PDF at a specific page. These URLs have the scheme skim
. They are based on the form of a file://
URL for the PDF file, but allow extra fragments preceded by a #
to add options for opening the PDF. The typical fragment has the form page=N
, where N is the one-based page number to open the file at. The URL then looks like this:
skim:///path/to/file.pdf#page=1
Apart from the page, you can also add other options. Different options are be combined using the &
character. For finer navigation you can add a point=x,y
option, where the coordinates are in page space, . For instance a search term, which uses the key search
. Note that the value may need to have special characters like spaces percent encoded. Furthermore, you can add view options to open the PDF with. The currently supported keys are autoScales, scaleFactor (scale, zoom), displayMode (mode), displayBox (box), displayDirection (direction, horizontal), displaysAsBook (book), displaysPageBreaks (pagebreaks), displaysRTL (rtl), as well as some equivalent shorthands (the terms can be all lowercase). Most options have values 0 or 1, though displayMode allows 0, 1, 2, or 3, and scaleFactor can a floating number (not a percentage).
Apart from this you can also link to bookmarks. In this case you use a path to the bookmark through the enclosing folder(s). The URL then looks like
skim://bookmarks/enclosing%20folder/bookmark%20name
You can easily get such URLs using the Edit > Copy URL menu item.
Skim has a little command line tool that you could use to write Skim notes from a PDF file to a .skim file, or the other way around, attach the notes from a .skim file to a PDF file. You can run it from Terminal.app. Or it could be used in other applications to access the Skim notes. The tool can be found in the Skim application bundle at Skim.app/Contents/SharedSupport/skimnotes
. The data in a .skim file is an (keyed) archived NSArray of NSDictionaries. The values in the dictionaries are all standard Foundation or AppKit objects. See Skim Notes Keys for supported keys.
The tool and source code can be downloaded from the Skim project page
You can have a look at the Skim Notes sample project to see how you can use the skimnotes
tool to access Skim notes from a Cocoa application.
The SkimNotes Tool page has some usage notes. You can also get usage information by typing skimnotes help
on the command line.
Version 2.0 and higher of skimnotes (included in Skim version 1.1.2 and higher) also include a more advanced agent function. This is a DO server to which you can connect to read Skim notes. It is more efficient if you want to read the Skim notes from several files at once. The source for the tool can be found in the Skim Subversion tree. SKNSkimReader is a sample Cocoa class that can be used to communicate with the agent. It is based on BibDesk's BDSKSkimReader class. SKNXPCSkimReader is a sample Cocoa class that can be used to communicate with the agent using the XPC connection.
In addition, Skim has a command line tool to manipulate PDF files with attached Skim notes, such as converting embedded PDF annotations to Skim notes and vice versa, and to merge and join PDF files with attached Skim notes. You can run it from Terminal.app. The tool can be found in the Skim application bundle at Skim.app/Contents/SharedSupport/skimpdf
.
The tool and source code can also be downloaded from the Skim project page
The SkimPDF Tool page has some usage notes. You can also get usage information by typing skimpdf help
on the command line.
If you want to be able to easily read Skim notes from a Cocoa application, you can also include the SkimNotes framework. This framework provides some general API that make it easy to read and write Skim notes. It allows you to simply load a PDFDocument with any attached Skim notes included. It supports Skim notes stored in Extended Attributes, in PDF bundles, and in .skim files. The framework is also used by Skim, and is included in the Skim bundle starting from Skim version 1.1.5. The framework and source for the framework can be downloaded from the Skim project page.
Check the dedicated Shell Scripts page for user-contributed scripts.
Wiki: AppleScript
Wiki: Communication_with_Other_Applications
Wiki: Main_Page
Wiki: Shell_Scripts
Wiki: SkimNotes_Tool
Wiki: SkimPDF_Tool
Wiki: Skim_Notes_Keys
Wiki: Skim_Subversion_Repository
Wiki: TeX_and_PDF_Synchronization
Wiki: Tips_and_Tricks