Я работаю над MAC, я хочу преобразовать файлы .bmp и .JPEG в формат .PDF-файла на машине Mac с помощью Qt или APplescript. Версия моей операционной системы - 10.6.Как преобразовать формат изображения на MAC
Благодаря
Я работаю над MAC, я хочу преобразовать файлы .bmp и .JPEG в формат .PDF-файла на машине Mac с помощью Qt или APplescript. Версия моей операционной системы - 10.6.Как преобразовать формат изображения на MAC
Благодаря
Оказалось, что OSX имеет утилиту командной строки, полезную для такого рода вещей, которая называется sips. Я отправляю это в другом ответе, так как это совершенно другой подход, чем сценарий пользовательского интерфейса в моем другом ответе.
Вы можете создать небольшой скрипт обертку оболочки, чтобы сделать то, что вам нужно:
#!/bin/bash
sips -s format pdf "$1" --out "${1%.*}.pdf"
Сохранить как, например, img2pdf, а затем дать ему права на исполнение:
chmod +x img2pdf
Затем вы можете использовать следующие чтобы сделать ваши конверсии:
./img2pdf.txt "/Users/mmouse/Desktop/Screen Shot 2013-07-22 at 9.00.36 AM.png"
Если вы действительно не хотите этого в сценарии оболочки и должны иметь Applescript, то вы можете вызвать соответствующие команды из Applescript:
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-22 at 9.00.36 AM.png"
do shell script "imgfile=" & quoted form of ImgFile & " ; sips -s format pdf \"$imgfile\" --out \"${imgfile%.*}.pdf\""
В качестве отправной точки интереса, если вам нужно сделать обратное, т.е. преобразовать в .pdf.PNG, то Image Events scripting extension в OSX может сделать это легко:
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-18 at 2.52.47 PM.pdf"
tell application "Image Events"
set Img to open file ImgFile
save Img as PNG
end tell
Но, к сожалению, изображение событий скриптового расширения позволяет только PDF файлы, которые будут читать и не написано, так что не является полезным в вашей конкретной ситуации.
Там в "Новый PDF из изображений" Automator действий ... так что просто использовать рабочий процесс Automator.
нормально, но я не использую действие automator с программированием. Отправьте мне скрипт, который используется в программе. – user1705318
Это можно сделать гораздо более изящно, но вот быстро UI element script, чтобы запустить приложение предварительного просмотра, чтобы сделать это.
Установить ImgFile
на любое имя файла, которое вам нравится. Вы можете изменить сценарий, чтобы это можно было передать параметру.
set ImgFile to "/Users/mmouse/Desktop/Screen Shot 2013-07-18 at 2.52.47 PM.png"
do shell script "open -a Preview " & quoted form of ImgFile
tell application "Preview"
activate
end tell
tell application "System Events"
-- turn on UI automation - may throw a permissions dialog
if UI elements enabled is false then
set UI elements enabled to true
end if
click menu item "Export…" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
delay 1 -- sigh - wait for window to open
click pop up button 1 of group 1 of sheet 1 of window 1 of application process "Preview"
click menu item "PDF" of menu 1 of pop up button 1 of group 1 of sheet 1 of window 1 of application process "Preview"
click UI element "Save" of sheet 1 of window 1 of application process "Preview"
click menu item "Close Window" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
end tell
В общем, эти ключевые слова позволяют скрипту взаимодействовать непосредственно с определенными элементами пользовательского интерфейса программы. Поиск google для «applescript ui scripting» - есть несколько хороших страниц на эту тему.
Например:
click menu item "Export…" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
Эта линия буквально нажимает на «Экспорт ...» пункт в меню «Файл» приложения «Предварительный просмотр». Таким образом открывается диалоговое окно «Экспорт ...». Остальные строки затем взаимодействуют с этим диалогом для экспорта изображения в файл .pdf.
Я считаю, что сценарий, как написано, должен сделать преобразование изображения в .pdf в той же папке, в точности так, как вы этого хотите.
Если вы хотите сделать больше скриптов пользовательского интерфейса, функция записи в приложении Automator очень удобна - вы можете буквально выбирать и копировать записанные шаги из этого приложения и вставлять их в редактор Applescript, где они будут отображаться как эквивалентные приложения элементы. Кроме того, инспектор элементов интерфейса или инспектор доступности (в xcode) очень полезны для определения структуры пользовательского интерфейса для конкретного приложения, которое вы хотите контролировать.
ОК, спасибо, но я не понимаю меню кликов, всплывающее окно, элемент пользовательского интерфейса, ключевые слова группы. Моя основная проблема заключается в том, что в этом скрипте путь ImgFile является исходным путем, я хочу преобразовать это изображение в формат PDF-файла на тот же путь. – user1705318
Я добавил еще кое-что к своему ответу, но я действительно верю в этот сценарий, поскольку написанное должно сделать преобразование изображения в .pdf в той же папке, как вы этого хотите. По крайней мере, это работает на моей машине. –
В этом скрипте, через ошибку в строке пункта меню щелчка. см. снимок экрана. – user1705318
Привет, Спасибо за повтор. В вашем сценарии преобразование изображения в png в pdf успешно. Но класс события события для сценария яблока не конвертирует pdf в png.when я запускаю этот скрипт яблока, ваш скрипт поврежден .pdf-файлу. – user1705318
Мой следующий вопрос: как преобразовать изображение .jpeg в ICNS, TGA, GIF, exr и raw format.If возможно, пожалуйста, переиграйте меня. – user1705318
Я думаю, что это более специализированные форматы. Похоже, что глотки также могут записывать файлы .TGA, но, возможно, для этого требуется программное обеспечение для управления изображениями сторонних производителей. Я задал бы другой вопрос, возможно, включая теги [image] и [image-manipulation] и [image-processing] –