[AI CC-CC2023] Cкрипт для пакетной конвертация pdf в eps

  • Автор темы Автор темы novarolling
  • Дата начала Дата начала

novarolling

Участник
Топикстартер
Сообщения
134
Реакции
7
Ребята, всем привет, ищу-гуглю и не могу найти скрипт для Illustrator CC,
задача более чем проста: есть папка с сотней pdf и необходимо чтобы скрипт взял из этой папки все pdf и преобразовал в eps.

Думал пакетно преобразовать через различные сайты, но выходной файл получается в RGB, что не подходит.

Скорей всего, ктото уже сталкивался с такой задачей и поможет мне, потому как вручную открывать и пересохранять гору файлов - долго.

Заранее спасибо за помощь, просьба не предлагать оставить в pdf, для моих дальнейших целей нужен именно eps.
 
gs -sDEVICE=eps2write -dNOPAUSE -dBATCH -dSAFER -sOutputFile=output.eps input.pdf
 
 
Вариант 1. Ghostscript, Windows CMD

Установите Ghostscript, затем создайте рядом с PDF-файлами файл pdf_to_eps.cmd:

Bash:
@echo off
setlocal

for %%F in (*.pdf) do (
    echo Обработка: %%F
    mkdir "%%~nF_eps" 2>nul

    "C:\Program Files\gs\gs10.05.1\bin\gswin64c.exe" ^
        -dSAFER ^
        -dBATCH ^
        -dNOPAUSE ^
        -sDEVICE=eps2write ^
        -dEPSCrop ^
        -sOutputFile="%%~nF_eps\%%~nF_%%03d.eps" ^
        "%%F"
)

echo.
echo Готово.
pause

Путь к gswin64c.exe нужно проверить: номер версии Ghostscript у вас может отличаться.

Результат:

document.pdf
document_eps\
document_001.eps
document_002.eps
document_003.eps
Включая PDF из подпапок
Bash:
@echo off
setlocal enabledelayedexpansion

set "GS=C:\Program Files\gs\gs10.05.1\bin\gswin64c.exe"

for /r %%F in (*.pdf) do (
    echo Обработка: %%F

    if not exist "%%~dpF%%~nF_eps" mkdir "%%~dpF%%~nF_eps"

    "%GS%" ^
        -dSAFER ^
        -dBATCH ^
        -dNOPAUSE ^
        -sDEVICE=eps2write ^
        -dEPSCrop ^
        -sOutputFile="%%~dpF%%~nF_eps\%%~nF_%%03d.eps" ^
        "%%F"
)

echo Готово.
pause
Сам не проверял, есть шансы что
При этом нужно учитывать ограничения формата:
  • прозрачности будут сведены или преобразованы;
  • некоторые эффекты могут растрироваться;
  • ICC-профили и современные PDF-функции могут потеряться;
  • EPS не поддерживает несколько страниц;
  • шрифты желательно внедрить в исходный PDF либо предварительно перевести в кривые.
 
community.adobe.com
Скопировал в файл ( ссылка ), переименовал pdf в ai и дал папку этому скрипту и пишет вот что -
Screenshot 2026-07-16 at 15.38.28.png
 
Вероятно,
должно быть не nFile = files; а nFile = files[n]
и дальше
doc = app.open ( nFile );
 
Последнее редактирование:
  • Спасибо
Реакции: Drawer
И ai везде позаменяйте на pdf... и будет вам щастье... ничего переименовывать не надо будет.
 
JavaScript:
// Поиск PDF-файлов в папке и подпапках
var api = {

    getFiles: function (fo, aExtensions, bRecursive, aFiles) {

        var exts = aExtensions ? aExtensions.join("|") : ".+";
        var pattern = new RegExp("\\.(" + exts + ")$", "i");

        if (!aFiles) {
            aFiles = [];
        }

        if (bRecursive && fo.name.indexOf(".") !== 0) {

            var foFiles = fo.getFiles();
            var f;

            while (foFiles.length > 0) {

                f = foFiles.shift();

                if (f instanceof Folder) {

                    this.getFiles(
                        f,
                        aExtensions,
                        true,
                        aFiles
                    );

                } else if (
                    f instanceof File &&
                    pattern.test(f.name) &&
                    f.name !== ".DS_Store"
                ) {
                    aFiles.push(f);
                }
            }

            return aFiles;

        } else {

            return fo.getFiles(function (file) {
                return file instanceof File &&
                       pattern.test(file.name) &&
                       file.name !== ".DS_Store";
            });
        }
    }
};


// Основная функция
var main = function () {

    var fo = Folder.selectDialog("Выберите папку с PDF-файлами");

    if (!fo) {
        return;
    }

    var files = api.getFiles(fo, ["pdf"], true);
    var n = files.length;
    var doc = null;
    var nFile;
    var outputFile;

    var opts = new EPSSaveOptions();

    if (!n) {
        alert("PDF-файлы не найдены");
        return;
    }

    while (n--) {

        nFile = files[n];
        doc = null;

        try {

            doc = app.open(nFile);

            outputFile = new File(
                nFile.parent.fsName + "/" +
                nFile.name.replace(/\.pdf$/i, ".eps")
            );

            doc.saveAs(outputFile, opts);
            doc.close(SaveOptions.DONOTSAVECHANGES);

        } catch (e) {

            if (doc) {
                try {
                    doc.close(SaveOptions.DONOTSAVECHANGES);
                } catch (closeError) {}
            }

            alert(
                "Ошибка при обработке файла:\n" +
                nFile.fsName +
                "\n\n" +
                e.message
            );
        }
    }

    alert("Готово. Обработано PDF-файлов: " + files.length);
};

main();
Только вот с многостраничными pdf сложности будут
 
да, я тоже начал смотреть, чойта. Для нее, родимой, убирать не стал - оно не мешает
 
Откроется только первая страница, как я понимаю, остальные проигнорируются.
И да, про приват-дату я тоже хотел уточнить, но, с другой стороны, возможно, AI просто сумеет импортировать данные из pdf
 
Судя по формулировке топикового вопроса, нужно иллюстраторовским скриптом пакетно сконвертировать иллюстраторовские PDF в иллюстраторовские EPS.
Поэтому, очевидно, что все консольные конвертеры мимо кассы.
 
Я бы не был столько категоричен. Там нет про прям иллюстраторовские, просто pdf в eps. Просто вопрос задан в разделе Ill, видимо, потому что ТС пользуется Ill как привычным инструментом
 
Но не из чего не следует, что pdf были получены из ai. Если я туда cdr' овских pdf накидаю, или word'овских, или компасовских, да вообще любых, то что будет?
Тс, возможно, я не утверждаю, сделал это просто потому что на постоянку пользуется иллом, но про происхождение pdf мы ничего не знаем, и делать предположения дело неблагодарное
 
Последнее редактирование: