Adobe2Journler!
Need to summarize some depositions? Need to summarize/build a chronology of a huge medical chart? Often litigators face the daunting challenge of collecting chunks of discrete facts/information from a diverse set of documents, usually Adobe PDF files. If you are using Adobe Acrobat Pro, Journler can help with a little AppleScript. If you have never used AppleScripts before, don’t worry, it’s no big deal. But, to make this system/script combo effective, you really do need to either (1) save the script as an application; or, (2) use a launcher such as Butler or Quicksilver. If you use either Butler or Quicksilver already, then I am assuming you don’t need instruction on how to launch an AppleScript from within Butler/Quicksilver. So, for the remainder, this article assumes you are saving the AppleScript as an application.
The Script
Here’s the nut, the pivot, the basis on which you can quickly extract those golden nuggets from deposition transcripts, medical charts, long winded contracts or other voluminous discovery. The script will send to Journler either: (1) a new entry in Journler with a link back to the resource, document name, file path, a specific page number reference and all tags associated with the smart folder to which you are adding; or, (2) append the currently selected Journler entry with a new resource, document name, file path, a specific page number reference to the currently selected entry in Journler. Update: WordPress has been rendering the em-dashes to dashes and straight quotes to smart quotes… Script Editor and Applescript hate those. So, em-dashes are stripped from code below, but you will still need to use find and replace to change quotes or here is a downloadable text file (adobe2journlerv1) you can open, cut and paste.
tell application “Adobe Acrobat Professional”
activate
if (count of documents) is 0 then
beep
display dialog “No documents found.” buttons {“•”} default button 1 giving up after 3
returnend if
set Document_Name to name of active doc
set File_Path to file alias of active doc
set Page_Number to page number of PDF Window 1end tell
tell application “System Events”
activate
set New_Or_Selected_Entry to the button returned of (display dialog “Would you like to create a new entry or add to the currently selected entry?” buttons {“New”, “Selected”})end tell
if New_Or_Selected_Entry = “Selected” then
tell application “Journler”
activate
set Selected_Entry to (selected entries)
if Selected_Entry is {} then
display dialog “No Entry Selected!” with icon 0
else
if (count Selected_Entry) = 1 then
set the_Entry to item 1 of Selected_Entryelse
end if
end if
set Original_Text to rich text of the_Entry
set rich text of the_Entry to Original_Text & return & ” ****” & return & “Document Name: ” & (Document_Name as string) & return & “Page Number: ” & (Page_Number as string) & return
make new resource with properties {owner:the_Entry, type:media, original path:(File_Path as alias), aliased:true}
set the selected entries to {the_Entry}
end tellelse
tell application “Finder”
duplicate file File_Path to “Macintosh HD:Users:username:Documents:Journler:Journler Drop Box” with replacing
end tell
tell application “Journler”
activate
end tell
set the clipboard to ” ****” & return & “Document Name: ” & (Document_Name as string) & return & “Page Number: ” & (Page_Number as string) & return & “File Path: ” & (File_Path as string)
end if
If you’ve never worked with AppleScript, it probably looks like a lot of hooey. Don’t sweat it. All you need to do is copy all of the above, open up Script Editor, and paste the script into the main pane. Next, make the ‘path’ relative to your system. This means substituting your ‘username’ (in “Macintosh HD:Users:username:Documents:Journler:Journler Drop Box” see bold/underline/italics above in script) with your username. If your system is set up as most Mac defaults, you should only need to change the username. Finally, choose “Save As” name it Adobe2Journler choose file format as “Application” and save it to Applications>Utilities.
Reap the Benefits.
Now the fun part… you get to see this wonderous thing Journler, AppleScript & Adobe Acrobat Pro in action. Set up a smart folder in Journler and set conditions for it to require whatever tags, categories, or comments you want to use to sort your information. For example:
Now, with a smart folder set up, hit command/space and bring up spotlight. Type Adobe2Journler (or as much as necessary to pull up the Adobe2Journler application) hit return and it launches the application. A dialog comes up asking if you want to create a ‘new entry’ or use the currently ‘selected entry.’
Choosing ‘new entry’ will bring up a dialog which directs you to choose the smart folder you want to add the entry into. You can also add additional tags or categories at this point. Click complete import and, finally, edit the individual entry in Journler heart’s content
Because this is the first time for entering this resource on this ‘new entry’ you need to hit command-v to get the document path, file name & page number inserted into Journler. If you chose ‘selected entry’ you should already have an entry selected before launching Adobe2Journler and the document path, file name & page number references will be appended to that selected entry.
Sum Up.
Once Journler opens, edit the ‘created date’ to reflect whatever date your document review dictates. You can then add text or notes or copy and paste from an OCR’d Adobe document directly into the Journler entry. One method is to create a ‘new entry’ for each significant date you come across while doing document review, and then simply use ‘selected entry’ for appending information to that date. Of course, more complex cases may require that issues/people have their own separate dated entries.
For deposition summaries, dates are not so important. Get your transcripts in Adobe PDF format, then use Adobe2Journler to send the page reference to Journler for tagging, categorization or commentary. You can also copy and paste from your deposition transcript so that you can see the chunk of text right there in the entry.
Final Word.
This is my first attempt at scripting anything outside of tutorials, so it’s not perfect and the hope is that those with more sophisticate skills will pick it up and run with it. In other words, YMMV… but if you have any skills at scripting, any feedback, input and contribution is much appreciated.
Also, Adobe Acrobat Pro is an unfortunate, but necessary, evil. Apple has discontinued scripting capabilities for Preview.
Finally, a few caveats about using this script. All paths are relative, you need to adjust them and there are no warranties, express, implied or otherwise associated with this script. Also, you can only have one Adobe document open at a time while using Adobe2Journler… If you have more than one document open, you can get a file reference to something other than what you intend.
Sounds great, but can’t get it to work. Any suggested resources on learning the basics of Applescript?
Scott: You will need to either download the text file above or do a find and replace to change smart quotes to straight quotes. WordPress, my blogging engine, is rendering the Applescript in a manner that creates an error when you attempt to compile the script. Also, I tried to upload the script as an application, but the file extension gets garbled and OS X sees it as an .exe file when downloaded. If you really want the script as straight up application, let me know and I’ll email it to you.
Pingback: Application Scripting | Scripting for Lawyers
@Scott:
Regarding resources for learning AppleScript, check out ScriptingForLawyers. There have been a series of really good introductory scripting blog posts, and, as evident from the title, the scripting tutorials are written by and geared toward lawyers.
Thanks for the help. I got it going. Very helpful script!
Have you figured out a way to “link” a Journler entry to a specific page in a PDF deposition or medical record? For example, in your description of how Journler can replace CaseMap, you created a bunch of entries that appear to reference particular pages in the medical records. Is the text in those entries just notes you made yourself which have the entire PDF medical records attached?
The only way I can think of to “link” particular pages within a PDF to Journler entries is to create seperate PDF’s for each Journler entry (i.e., initial visit, office visit 1, x-ray, discharge, ect.) But I think this would be take too much time to be practical.
I’d love to hear more of your thoughts on using Journler. Thanks!
@Scott:
The script doesn’t create an ‘active’ link to the specific page (not that this couldn’t be done, but beyond my scripting abilities at this point).
However, because the script drops the specific page into the Journler entry, simply look at the page number, click the resource in the right pane, then punch that number into the viewer.
This assumes you have the resource pane open in Journler. If not, click the button in the very bottom right corner to open the resource pane… a very convenient feature in itself as it lists all smart folders which contain the entry, as well as any resources referenced in the entry, including web pages.
I couldn’t understand some parts of this article Case Analysis Using Journler, but I guess I just need to check some more resources regarding this, because it sounds interesting.
I still cant get this script to run. Anyone offer assistance?
If anyone is getting syntax errors, it is likely that the copy/paste inserted non-unicode characters or somehow otherwise altered the code. The best thing to do is compare, side by side, the code above with the code in Script Editor.
I’m stumped.
First, when I invoke the application from inside Acrobat, the first pop-up says “Press Run to run this script or Quit to Quit. (It is running the .app, not the scpt extension BTW.)
I click Run.
The next pop-up asks the “Would you like to create a new entry or add to the selected entry”
I click “New.”
The next event is that I getis a pop-up that says “The variable Users is not defined,” with the choices “Edit” or “OK.”
I assume this refers to the path issue, but there is no other way to define the variable “User” than with my name as it is used as the HDD label.
I’d suggest using the later posted approach as the script never ran quite right.