EF Record Title from PDF Files

I have a minor, puzzling annoyance. I use a financial program called Moneydance, which is written in Java. I “print” reports from Moneydance, using the standard “Save as PDF…” option, then import the resulting PDF file into EagleFiler. Even though I’ve given the PDF file a nice file name (e.g. “Checking 2007-10.pdf”), when I import it, the EF Record Title is always “Java Printing”. The imported file retains its original title (“Checking 2007-10.pdf”), so I can use your Filename To Title AppleScript to fix the EF Record Title, but this seems like an unnecessary step to have to take for each import.

Upon further investigation, I see that “Java Printing” is the Title embedded in the PDF file, so this is not just a “problem” for PDFs generated by a Java app. I can generate a Save as PDF from a new, unsaved TextEdit window, and the resulting imported EF Record Title is “unfiled” instead of whatever I named the PDF file. I wonder why EF by default prefers this embedded title, over which I have no control, to the PDF’s file name, which I can control?

When Mac OS X’s printing subsystem creates a PDF file, it sets the title to the filename of the source document. So if you want the PDF to have a good title, make sure that you save the document before converting it to PDF.

Because many PDF documents do have titles that are valid and distinct from the filenames. When you create a PDF by printing, you the title is under control. And word processors and page layout software that creates PDFs let you set the document title and author. To me, it doesn’t make sense to ignore this valid metadata just because Java (apparently) puts garbage in the title field.