Конвертируйте PDF в изображения с помощью sips - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу конвертировать PDF-файл с несколькими страницами в один файл изображения, используя sips.Я знаю, что есть несколько других (возможно, лучших) решений для этого, но sips установлен на каждом Mac и не требует лицензии.

Что я пробовал:

sips -s format png myPDF.pdf --out myIMG.png

Это даетмне изображение первого сайта из pdf.

Теперь мой вопрос: есть ли возможность получить изображения для каждой страницы pdf?

Спасибо за ваш совет!

1 Ответ

0 голосов
/ 27 ноября 2018

Я понятия не имею, должны ли вы делать подобные вещи, но Automator на macOS имеет действие под названием Split PDF, которое вы можете использовать для разделенияPDF на отдельные страницы, а затем используйте sips на каждой ...

Для запуска Automator , нажмите пробел и начнитенаберите Automator, пока он не угадает правильно, и нажмите .Это называется Spotlight Search , по-видимому, и является самым быстрым способом найти что-либо на Mac, но никто не скажет вам этого!

Затем создайте новое Приложение ,и выберите PDFs слева (выделено красным), затем Split PDF (также красным) и перетащите его в «рабочую область» справа.

enter image description here

Затем я сохранил это как splitter.

Затем я запустил Терминал - тот же Поиск Spotlight метод запуска Automator выше, но вместо этого начните набирать Terminal.

Теперь перейдите туда, где вы сохранили splitter, и вы увидите splitter.app:

ls -ld splitter*
drwxr-xr-x@ 3 mark  staff  96 27 Nov 12:09 splitter.app

Теперь я хочуразделить 10-страничный документ с именем "a.pdf", поэтому я запустил:

echo "a.pdf" | automator -i - ./splitter.app

Пример вывода

2018-11-27 12:15:21.200 automator[24004:3655998] Cache location entry for /Applications/Photos.app in cache file at /Users/mark/Library/Caches/com.apple.automator.actionCache-bundleLocations.plist is not valid: (null)
(
  "/Users/mark/Desktop/a-page1.pdf",
  "/Users/mark/Desktop/a-page2.pdf",
  "/Users/mark/Desktop/a-page3.pdf",
  "/Users/mark/Desktop/a-page4.pdf",
  "/Users/mark/Desktop/a-page5.pdf",
  "/Users/mark/Desktop/a-page6.pdf",
  "/Users/mark/Desktop/a-page7.pdf",
  "/Users/mark/Desktop/a-page8.pdf",
  "/Users/mark/Desktop/a-page9.pdf",
  "/Users/mark/Desktop/a-page10.pdf"
)

И он выплевывает 10 отдельных 1-страничныхДокументы в формате PDF на моем рабочем столе названы в соответствии с выводом.


Я понятия не имею, что означает предупреждение о файле кэша "Фото приложения", поэтому, если кто-нибудь знает, может быть, они скажут мне, что это значити как от него избавиться.


Также я предполагаю, что Automator каким-то образом вызывает действие из /System/Library/Automator/Split PDF.action:

file "/System/Library/Automator/Split PDF.action/Contents/MacOS/Split PDF" 


/System/Library/Automator/Split PDF.action/Contents/MacOS/Split PDF: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [i386:Mach-O bundle i386]
/System/Library/Automator/Split PDF.action/Contents/MacOS/Split PDF (for architecture x86_64):  Mach-O 64-bit bundle x86_64
/System/Library/Automator/Split PDF.action/Contents/MacOS/Split PDF (for architecture i386):    Mach-O bundle i386

Но я понятия не имею, как яможет выполнить / вызвать это из Терминала, без необходимости запуска / записи любого Automator материала.Так что, если кто-нибудь, может быть, @vadian знает, я бы тоже хотел это знать!Похоже, что это пакет, но если я запускаю mdls на нем, в списке не будет идентификатора пакета, поэтому я не могу запустить его с:

open -b <BUNDLE-IDENTIFIER>
...