Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AppleScript need: Can a file open at all

17 views
Skip to first unread message

Tim Murray

unread,
May 16, 2020, 3:35:58 PM5/16/20
to
I recently made a gross error of formatting a disk that had good data on it.
(My MBPro was stolen and when I got another, I ended up formatting my Time
Machine disk. Aaarrrgh! Some computer tasks should not be performed with
bourbon.) Anyway, I ran some recovery programs and got everything back, but
there is one issue.

My PDFs are all named File0001.pdf, File0002.pdf, and so on, but there are
several hundred. Acrobat and Catalina’s Quick Look and Preview can deal
with many of them.

What I am looking for is a script to run through a folder and determine if a
PDF can be opened or even if Quick Look works . . . I don’t need to
actually do anything with it, just see if it can be opened. If it cannot,
that’s okay: Trash it so that what remains are PDFs can be opened.

In a way I don’t really need this per se, because I successfully retrieved
most, if not all, the original files that made the PDFs, such as InDesign,
Pages, Illustrator, and so on.

So can someone here do that? Thanks.

Tim Murray

unread,
May 20, 2020, 5:34:38 PM5/20/20
to
On May 16, 2020, Jolly Roger wrote
(in article <hib1sa...@mid.individual.net>):
> I've done this PDF document validation in Ruby using the pdf-reader Gem
> before. Here's a simplified example script:
>
> ---
> #!/usr/bin/env ruby
>
> require 'pdf-reader' # gem install 'pdf-reader'
>
> class Reader
> def start
> filepath = ARGV[0]
> unless filepath.nil?
> if File.exist?(filepath)
> begin
> reader = PDF::Reader.new(filepath)
> puts "Document is valid: #{File.basename(filepath)}"
> rescue StandardError => exception
> puts "Couldn't open #{File.basename(filepath)}: #{exception.message}"
> end
> else
> STDERR.puts "ERROR: Specified file does not exist: #{filepath}"
> end
> else
> STDERR.puts "ERROR: You must provide the path to a PDF document as the first
> command-line argument."
> end
> end
> end
>
> reader = Reader.new()
> reader.start()
> ---
>
> Usage examples:
>
> ---
> #./pdf_validator.rb ~/Documents/Hardware/Car\ Stereo/Old/KAC818.pdf
> PDF seems valid: KAC818.pdf
>
> # ./pdf_validator.rb some_bad.pdf
> PDF does not contain EOF marker: some_bad.pdf
> ---
>
> You could certainly wrap this in an AppleScript "do shell script"
> command to automate it if you wanted to. But I'd probably just modify
> the script to do exactly what I want and run it on the command line and
> be done with it.

If I knew something about Ruby (other than just what is “is” I would work
with this, but I don’t. But thanks much.

Tim Murray

unread,
May 24, 2020, 10:36:46 AM5/24/20
to
On May 20, 2020, Jolly Roger wrote
(in article <hilrmt...@mid.individual.net>):

>
> You don't need to know much about Ruby.

Thanks, I will look into this next week. I appreciate it.

0 new messages