PDFSISIZEPT - это программа для преобразования больших файлов PDF в мелкие, без снижения качества визуального визуального качества или удаления интерактивных функций (таких как гиперссылки). Более конкретно, PDFSizeOpt представляет собой бесплатное кроссплатформенное приложение командной строки (для Linux, Windows, MacOS и Unix) и набор лучших практик для оптимизации размера файлов PDF, с акцентом на PDF-файлы, созданные из документов TEX и LaTex. PDFSizeopt написан на Python, так что он немного медленный, но он разгружает некоторые тяжелые работы на свои более быстрые зависимости (C, C ++ и Java).
Разве PDFSizeopt не работает с вашим PDF? Сообщите о проблеме здесь: https://github.com/pts/pdfsizeopt/issues
Отправьте пожертвования автору PdfSizeOpt: https://flattr.com/submit/auto?user_id=pts&url=https://github.com/pts/pdfsizeopt
Если вы впервые попробуете Pdfizeopt, следуйте этим инструкциям. (Этот раздел был обновлен на 2023-02-15.)
Это легко установить и запустить PDFSizeOpt на современных системах Linux и Windows с процессором x86. Если у вас есть такая система, перейдите непосредственно к одному из следующих разделов ( инструкции по установке и использование в инструкциях Linux или инструкции по установке и использование в Windows ). Это займет менее 5 минут.
Это легко установить и запустить PDFSizeOpt на Mac (поддерживаются как процессоры Intel X86, так и процессоры ARM с Apple Silicon). Если у вас есть такая система, перейдите непосредственно на инструкции по установке раздела и использование на MacOS ( не используя Docker). Это займет менее 5 минут.
В качестве альтернативы (но не рекомендуется, потому что он медленнее), можно запустить pdfsizeopt в Docker в следующих системах: Linux AMD64, MacOS 64-битный Intel X86 (AMD64, x86_64), MacOS 64-битная рука (Apple Silicon, EG M1 или M2 чип). После этого прыгайте непосредственно к инструкциям по установке и использованию с Docker на Linux и MacOS . Этот последний шаг займет менее 5 минут.
Если вы используете операционную систему, отличную от Linux, Windows или MacOS (на компьютере с процессором Intel), самый простой способ попробовать PDFSizeOpt - это заимствовать компьютер друга с помощью Linux, Windows или MacOS или арендовать VM Linux в облаке. Причина, по которой трудно запустить PDFSizeOpt в других видах систем, заключается в том, что PdfSizeOpt имеет некоторые необходимые зависимости, некоторые из них-старые версии (например, Python 2.4--2.7, Ghostscript 9.05), поэтому вам придется скомпилировать правильные версии Сначала зависимости, которые могут занять несколько часов и много разочаровывающего проб и ошибок даже для опытных хакеров.
Технически возможно портировать pdfsizeopt в другие системы (и облегчить его установку), но автор Pdfsizeopt не имеет свободного времени для создания и поддержания такого порта. Как к вашему сведению, см. #154 о портировании в Apple Silicon.
Там нет установщика, вам нужно запустить некоторые команды в командной строке для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Чтобы установить PDFSizeOpt в систему Linux (с архитектурой I386 или AMD64), откройте окно терминала и запустите эти команды (без ведущих $
):
$ mkdir ~/pdfsizeopt
$ cd ~/pdfsizeopt
$ wget -O pdfsizeopt_libexec_linux.tar.gz https://github.com/pts/pdfsizeopt/releases/download/2023-04-18/pdfsizeopt_libexec_linux-v9.tar.gz
$ tar xzvf pdfsizeopt_libexec_linux.tar.gz
$ rm -f pdfsizeopt_libexec_linux.tar.gz
$ wget -O pdfsizeopt.single https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
$ chmod +x pdfsizeopt.single
$ ln -s pdfsizeopt.single pdfsizeopt
Чтобы оптимизировать PDF, запустите следующую команду:
~/pdfsizeopt/pdfsizeopt input.pdf output.pdf
Если вход PDF имеет много изображений или больших изображений, PDFSIZEOPT может быть очень медленным. Вы можете ускорить его, отключив Pngout, самый медленный метод оптимизации изображений, например, это:
~/pdfsizeopt/pdfsizeopt --use-pngout=no input.pdf output.pdf
PDFSizeOpt создает множество временных файлов (psotmp.*) в выходном каталоге, но он также очищается после себя.
Можно оптимизировать PDF за пределами текущего каталога. Для этого укажите имя (включая имя каталога) в командной строке.
Обратите внимание, что приведенные выше команды загружают все зависимости (включая Python и Ghostscript). Можно установить некоторые зависимости с вашим менеджером пакетов, но эти шаги считаются альтернативными и более сложными, и, таким образом, здесь не покрываются.
Обратите внимание, что PDFSIZEOPT прекрасно работает в любой системе x86 и AMD64 Linux. Нет никаких ограничений на LIBC, дистрибутив LIBC и т. Д., Поскольку PDFSISIZEOPT использует только свои статически связанные x86 исполняемые файлы, и он не использует никаких внешних команд (кроме PDFSIZEOPT, PDFSIZEOPT.SIGLE и PDFSISIZEOPT_LIBEXEC/*) на системе. PDFSizeOpt также отлично работает в системах x86 FreeBSD с включенным уровнем эмуляции Linux.
Чтобы избежать набора ~/pdfsizeopt/pdfsizeopt, добавить "$ home/pdfsizeopt" в ваш путь (вероятно, в вашем ~/.bashrc), откройте новое окно терминала, и команда Pdfsizeopt будет работать из любого каталога.
Вы также можете поместить pdfsizeopt в каталог, отличный от ~/pdfsizeopt, как вам нравится.
Кроме того, вы можете установить несколько дополнительных Image Imptimizers (см. Больше в разделе «Оптимизаторы изображений» ниже):
$ cd ~/pdfsizeopt
$ wget -O pdfsizeopt_libexec_extraimgopt_linux-v3.tar.gz https://github.com/pts/pdfsizeopt/releases/download/2017-01-24/pdfsizeopt_libexec_extraimgopt_linux-v3.tar.gz
$ tar xzvf pdfsizeopt_libexec_extraimgopt_linux-v3.tar.gz
$ rm -f pdfsizeopt_libexec_extraimgopt_linux-v3.tar.gz
Там нет установщика, вам нужно запустить некоторые команды в командной строке (окно командной строки Black) для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Создать папку C: pdfsizeopt, скачать https://github.com/pts/pdfsizeopt/releases/download/2023-04-18/pdfsizeopt_win32exec-v9.zip и извлеките его содержимое в папку c: pdfsizeopt, так что Файл C: pdfsizeopt pdfsizeopt.exe существует.
Загрузите https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single и сохраните его в C: pdfsizeopt, как c: pdfsizeopt pdfsizeopt.single.
Чтобы оптимизировать PDF, запустите следующую команду:
C:pdfsizeoptpdfsizeopt input.pdf output.pdf
В командной строке, которая представляет собой черное окно командной строки, вы можете запустить ее с помощью меню запуска / запустить / cmd.exe или найти командную строку в меню «Пуск».
(Нажмите вкладку, чтобы завершить имя файла во время печати.)
Поскольку вам нужно ввести входное имя файла в качестве полного пути пути, рекомендуется создать каталог с коротким именем (например, C: PDFS) и сначала скопировать ввод PDF.
Если вход PDF имеет много изображений или больших изображений, PDFSIZEOPT может быть очень медленным. Вы можете ускорить его, отключив Pngout, самый медленный метод оптимизации изображений, например, это:
C:pdfsizeoptpdfsizeopt --use-pngout=no input.pdf output.pdf
Чтобы избежать ввода C: pdfsizeopt pdfsizeopt, добавьте C: pdfsizeopt в (конец) пути системы, откройте новое окно командной строки, и команда pdfsizeopt
будет работать из любого каталога.
В зависимости от вашей среды, имена файлов с акцентированными символами могут не работать в версии PDFSizeOpt Windows. Чтобы воспроизводить его безопасно, убедитесь, что ваши входные и выходные файлы имеют имена с буквами, числами, подчеркиванием (_), Dash (-), Dot (.) И Plus (+). BackSlash () и слэш (/) оба в порядке в качестве разделителя каталога.
Пространства в именах файлов и именах должны работать, но вам нужно поместить двойные цитаты (") вокруг имени.
Имена файлов с некоторыми знаками знаков препинания (такие как двойная цитата ("), вопросительный знак (?) И asterisk ( )) и неприемные символы (такие как Newline) не будут работать в Windows. Это потому, что Windows не поддерживает эти символы ([[[[[[[[[[[[[[например, Newline) x00 .. x1f " : <>?
Вы также можете поместить PDFSizeOpt в каталог, отличный от C: pdfsizeopt, но он не будет работать, если есть пробелы или есть акцентированные символы в любом из имен папок.
Обратите внимание, что PDFSizeopt прекрасно работает в вине (тестируется с вином-1.2 на Ubuntu Lucid и Wine-1.6.2 на Ubuntu Trusty), но это немного медленнее, чем его нагрузка (как программа Linux или Unix).
Эти инструкции работают над следующими системами: Linux AMD64, MacOS 64-битный Intel X86 (AMD64, x86_64), 64-битная рука macOS (Apple Silicon, например, чип M1 или M2). Версия Linux или MacOS не имеет значения (старые системы, такие как MacOS Leopard 10.5, также работают), если у него установлен и работает Docker.
Программы в Docker Image PTSPTS/PDFSizeOpt составлены для Linux I386 (32-битный Intel X86), и эти двоичные файлы работают на всех платформах, упомянутых выше, даже с Apple Silicon. (Протестировано в 2023-02-21.)
Там нет установщика, вам нужно запустить некоторые команды в командной строке для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Во -первых, убедитесь, что у вас есть Docker правильно, запустив эту команду и проверив OK в конце:
docker version && echo OK
Если вы не получите в порядке, потому что команда «Docker» не была найдена, тогда Docker не установлен на ваш компьютер. Инструкции по установке (на 2023-02-22):
Чтобы установить Docker на Linux, у вас есть два варианта: Docker Engine (https://docs.docker.com/engine/install/, в разделе сервера) или Docker Desktop (https://docs.docker.com/desktop/ Установить/linux-install/). Любой из них будет работать.
Чтобы установить Docker на MacOS, установите Docker Desktop (https://docs.docker.com/desktop/install/mac-install/).
Затем (на macOS), добавьте команду docker
в свой путь, выполнив следующую команду (копируйте ее, не печатайте, чтобы избежать опечаток):
(echo; echo 'export PATH="/Applications/Docker.app/Contents/Resources/bin:$PATH"') >>~/.profile
Затем (на macOS), закройте приложение терминала и снова откройте его (так что изменится на ~/.profile вступить в силу).
После установки повторно повторите команду docker version
выше.
Удалите любые предыдущие изображения Docker PdfSizeopt:
docker image rm ptspts/pdfsizeopt
Сделайте тестовую оптимизацию, который осуществляет все зависимости pdfsizeopt:
curl -L -o deptest.pdf https://github.com/pts/pdfsizeopt/raw/master/deptest/deptest.pdf
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt pdfsizeopt deptest.pdf
Если вы получите (безвредно) предупреждающее сообщение, как
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
, и вы не хотите получить его снова, затем добавьте --platform linux/amd64
после -it
:
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it --platform linux/amd64 ptspts/pdfsizeopt pdfsizeopt deptest.pdf
Чтобы оптимизировать PDF, запустите эту команду:
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt pdfsizeopt input.pdf output.pdf
Если вход PDF имеет много изображений или больших изображений, PDFSIZEOPT может быть очень медленным. Вы можете ускорить его, отключив Pngout, самый медленный метод оптимизации изображений, например, это:
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt pdfsizeopt --use-pngout=no input.pdf output.pdf
PDFSizeOpt создает множество временных файлов (psotmp.*) в выходном каталоге, но он также очищается после себя.
Можно оптимизировать PDF за пределами текущего каталога. Для этого укажите имя (включая имя каталога) в командной строке.
Чтобы избежать печати длинной команды, запустите
(echo '#! /bin/sh'; echo 'exec docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt pdfsizeopt "$@"') >pdfsizeopt && chmod 755 pdfsizeopt
, а затем скопируйте сценарий PDFSizeOpt на свой путь, затем откройте новое окно терминала, и теперь эта команда также будет работать над оптимизацией PDF:
pdfsizeopt input.pdf output.pdf
Обратите внимание, что изображение Docker PTSPTS/PDFSizeopt обновляется очень редко. Чтобы использовать более современную версию PDFSizeOpt, запустите эти команды для загрузки:
curl -L -o pdfsizeopt.single https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
chmod +x pdfsizeopt.single
Затем запустите эту команду, чтобы оптимизировать PDF:
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt ./pdfsizeopt.single --use-pngout=no input.pdf output.pdf
Если вы хотите, чтобы в Linux были включены дополнительные оптимизаторы изображений, используйте PTSPTS/PDFSISIZEOPT-With-ExtraimGOPT вместо PTSPTS/PDFSISIZEOPT в приведенных выше командах. Пример:
docker run -v "$PWD:/workdir" -u "$(id -u):$(id -g)" --rm -it ptspts/pdfsizeopt-with-extraimgopt pdfsizeopt --use-image-optimizer=sam2p,jbig2,pngout,zopflipng,optipng,advpng,ECT input.pdf output.pdf
Эти инструкции работают на Mac с MacOS Catalina 10.15 (и даже старше, может быть, MacOS Snow Leopard 10.6)-MacOS Ventura 13 (и даже новее), имея 64-битный процессор ARM (Apple Silicon) или 64-битный Intel X86 ( x86_64, AMD64) процессор. Программы составлены для 64-битных процессоров Intel X86, и они также работают на 64-битных процессорах ARM, используя эмуляцию Rosetta 2 в macOS. Эти инструкции были проверены и, как известно, работают на Macos Ventura 13.3, как с 64-разрядным процессором Intel X86 (x86_64, AMD64), так и яблочным кремнием (процессор ARM).
Если у вас есть более старый Mac под управлением Mac OS X Leopard 10.5 - Macos Mojave 10.14, вместо этого следуйте инструкциям по установке раздела и использованию на более старых macOS .
Эти инструкции еще не проверены. Смотрите #154 для обновлений прогресса.
Там нет установщика, вам нужно запустить некоторые команды в командной строке для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Чтобы установить pdfsizeopt в систему MacOS, откройте окно терминала и запустите эти команды (без ведущих $
):
$ mkdir ~/pdfsizeopt
$ cd ~/pdfsizeopt
$ curl -L -o pdfsizeopt_libexec_darwin.tar.gz https://github.com/pts/pdfsizeopt/releases/download/2023-04-18/pdfsizeopt_libexec_darwinc64-v9.tar.gz
$ tar xzvf pdfsizeopt_libexec_darwin.tar.gz
$ rm -f pdfsizeopt_libexec_darwin.tar.gz
$ curl -L -o pdfsizeopt.single https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
$ chmod +x pdfsizeopt.single
$ ln -s pdfsizeopt.single pdfsizeopt
Сделайте тестовую оптимизацию, который осуществляет все зависимости pdfsizeopt:
$ curl -L -o deptest.pdf https://github.com/pts/pdfsizeopt/raw/master/deptest/deptest.pdf
$ ~/pdfsizeopt/pdfsizeopt deptest.pdf
... и Open (View) deptest.pdf и соответствующий оптимизированный deptest.pso.pdf.
Чтобы оптимизировать PDF, запустите следующую команду:
~/pdfsizeopt/pdfsizeopt input.pdf output.pdf
Если вход PDF имеет много изображений или больших изображений, PDFSIZEOPT может быть очень медленным. Вы можете ускорить его, отключив Pngout, самый медленный метод оптимизации изображений, например, это:
~/pdfsizeopt/pdfsizeopt --use-pngout=no input.pdf output.pdf
Кроме того, если у вас есть 32-разрядный Mac, то PNGOUT в комплекте с PDFSISIZEOPT не будет работать (потому что ему нужен 64-битный Mac), поэтому вы должны заставить-USE-PNGOUT = NO. См. Оптимизаторы изображений раздела для альтернатив PNGOUT.
PDFSizeOpt создает множество временных файлов (psotmp.*) в выходном каталоге, но он также очищается после себя.
Можно оптимизировать PDF за пределами текущего каталога. Для этого укажите имя (включая имя каталога) в командной строке.
Обратите внимание, что приведенные выше команды загружают большинство зависимостей (включая Ghostscript, но также за исключением Python). Все должно работать, как указано выше, из коробки. Если у вас возникают проблемы, сообщите о проблеме на https://github.com/pts/pdfsizeopt/issues.
Чтобы избежать набора ~/pdfsizeopt/pdfsizeopt, добавить "$ home/pdfsizeopt" в ваш путь (вероятно, в вашем ~/.bashrc), откройте новое окно терминала, и команда Pdfsizeopt будет работать из любого каталога.
Вы также можете поместить pdfsizeopt в каталог, отличный от ~/pdfsizeopt, как вам нравится.
Эти инструкции должны работать над более старыми Mac под управлением Mac OS X Leopard 10.5-MacOS Mojave 10.14, а также с 32-битным или 64-битным процессором Intel X86. Программы составлены для 32-разрядного процессора Intel X86 (I386) (а также работают на 64-битном процессоре Intel с MacOS Mojave 10.14 или ранее), за исключением инструмента PNGOUT, который нуждается в по крайней мере Mac OS X Snow Leopard 10.6 и и и 64-битный процессор Intel.
Там нет установщика, вам нужно запустить некоторые команды в командной строке для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Чтобы установить PDFSizeOpt в более старую систему MacOS, откройте окно терминала и запустите эти команды (без ведущих $
):
$ mkdir ~/pdfsizeopt
$ cd ~/pdfsizeopt
$ curl -L -o pdfsizeopt_libexec_darwin.tar.gz https://github.com/pts/pdfsizeopt/releases/download/2023-04-18/pdfsizeopt_libexec_darwin-v9.tar.gz
$ tar xzvf pdfsizeopt_libexec_darwin.tar.gz
$ rm -f pdfsizeopt_libexec_darwin.tar.gz
$ curl -L -o pdfsizeopt.single https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
$ chmod +x pdfsizeopt.single
$ ln -s pdfsizeopt.single pdfsizeopt
Сделайте тестовую оптимизацию, который осуществляет все зависимости pdfsizeopt:
$ curl -L -o deptest.pdf https://github.com/pts/pdfsizeopt/raw/master/deptest/deptest.pdf
$ ~/pdfsizeopt/pdfsizeopt deptest.pdf
... и Open (View) deptest.pdf и соответствующий оптимизированный deptest.pso.pdf.
Чтобы оптимизировать PDF, запустите следующую команду:
~/pdfsizeopt/pdfsizeopt input.pdf output.pdf
Если вход PDF имеет много изображений или больших изображений, PDFSIZEOPT может быть очень медленным. Вы можете ускорить его, отключив Pngout, самый медленный метод оптимизации изображений, например, это:
~/pdfsizeopt/pdfsizeopt --use-pngout=no input.pdf output.pdf
Кроме того, если у вас есть Mac с 32-разрядным процессором Intel X86, то PNGOUT в комплекте с PDFSISIZEOPT не будет работать (потому что ему нужен 64-битный процессор), поэтому вы должны заставить-USE-PNGOUT = нет. См. Оптимизаторы изображений раздела для альтернатив PNGOUT.
PDFSizeOpt создает множество временных файлов (psotmp.*) в выходном каталоге, но он также очищается после себя.
Можно оптимизировать PDF за пределами текущего каталога. Для этого укажите имя (включая имя каталога) в командной строке.
Обратите внимание, что приведенные выше команды загружают большинство зависимостей (включая Ghostscript, но также за исключением Python). Все должно работать, как указано выше, из коробки. Если у вас возникают проблемы, сообщите о проблеме на https://github.com/pts/pdfsizeopt/issues.
Чтобы избежать набора ~/pdfsizeopt/pdfsizeopt, добавить "$ home/pdfsizeopt" в ваш путь (вероятно, в вашем ~/.bashrc), откройте новое окно терминала, и команда Pdfsizeopt будет работать из любого каталога.
Вы также можете поместить pdfsizeopt в каталог, отличный от ~/pdfsizeopt, как вам нравится.
Там нет установщика, вам нужно запустить некоторые команды в командной строке для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
PDFSizeOpt прекрасно работает в системах x86 FreeBSD с включенным уровнем эмуляции Linux. Итак, включите слой эмуляции Linux в вашей системе FreeBSD, а затем следуйте инструкциям по установке и использованию на Linux .
Из-за того, что вы можете следовать инструкциям по установке и использованию на Generic Unix , но это требует гораздо большей работы с вашей стороны (и это неудобно и подвержено ошибкам), потому что вам необходимо установить много зависимостей отдельно, возможно, компиляция некоторых из них из источника.
Это становится все труднее в 2023 году, потому что PDFSizeOpt нуждается в Python 2.4 --2.7 и Ghostscript 9.05, оба очень старые, и, следовательно, трудно установить в современную систему.
Там нет установщика, вам нужно запустить некоторые команды в командной строке (окно командной строки Black) для загрузки и установки. PDFSizeOpt-это приложение только в командной строке, нет графического интерфейса.
Pdfizeopt - это сценарий Python. Он работает с Python 2.4, 2,5, 2,6 и 2,7 (но это не работает с Python 3.x). Поэтому, пожалуйста, установите Python первым.
Создайте новый каталог с именем pdfsizeopt и загрузите эту ссылку: https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
Переименуйте его в PDFSISIZEOPT и сделайте его исполняемым, выполнив следующие команды (без ведущих $
):
$ cd pdfsizeopt
$ mv pdfsizeopt.single pdfsizeopt
$ chmod +x pdfsizeopt
Если ваш исполняемый файл Python не является/usr/bin/python, отредактируйте первую строку (начиная с #!
) В скрипте PDFSizeOpt соответственно.
Попробуйте это с:
$ ./pdfsizeopt --version
info: This is pdfsizeopt ZIP rUNKNOWN size=105366.
PDFSizeOpt имеет много зависимостей. Для полной функциональности вам нужны все из них. Установите как можно больше, и поместите их на путь.
Зависимости:
imgdataopt
Program в виде sam2p
(EG/usr/bin/sam2p) в ваш ПУТЬ. Если вы не можете установить его, используйте PDFSIZEOPT-Do-Optimize-Image = NO. Некоторые распределения Linux имеют двоичные файлы SAM2P, но они, как правило, слишком старые. В качестве альтернативы, SAM2P> = 0,49,3 + PNG22PNM также работает вместо IMGDATAOPT, но IMGDATAOPT проще установить.После установки используйте pdfsizeopt как:
$ ./pdfsizeopt input.pdf output.pdf
Вы можете добавить каталог, содержащий PDFSizeOpt в путь, поэтому команда pdfsizeopt
будет работать из любого каталога.
pdfsizeopt может использовать следующие внешние инструменты для получения изображений в файлах встроенных PDF меньше:
Чтобы включить или отключить любой оптимизатор изображения, укажите все оптимизаторы изображений, которые вы хотите включить, как это:-use-image-optimizer = optipng, jbig2. Это также отключит PNGOUT по умолчанию.
Вы также можете указать пользовательские шаблоны команд оптимизатора изображения, указав отдельные, дополнительные-USE-Image-Optimier = Flags, например:
--use-image-optimizer="optipng %(sourcefnq)s -o6 -fix -force %(optipng_gray_flags)s-out %(targetfnq)s"
Вы всегда должны указать %(TargetFNQ) в шаблоне команды.
Укажите-do-debug-image-optimizers = yes, чтобы увидеть, какие оптимизаторы изображений включены (и их полная командная строка) для текущего запуска.
При запуске PDFSIZEOPT проверяет, что запрашиваемые оптимизаторы изображений доступны (в качестве программных файлов), и не удается, если некоторые из них отсутствуют. Чтобы игнорировать те, которые отсутствуют, укажите-D-Require-Image-Optimizers = NO.
Ваша (пользовательская) обязанность установить оптимизаторы изображений и добавить их в путь. Если вы следуете инструкциям по установке для Windows и Linux выше, для вас будут установлены оптимизаторы изображений по умолчанию (SAM2P, JBIG2 и PNGOUT). Для Linux также существуют инструкции по установке для дополнительных оптимизаторов изображений (Zopflipng, Optipng, Advpng и ECT).
Укажите--Do-Unify-fonts = no и--do-REGENARE-ALL-FONTS = NO.
Если это все еще не удается, укажите--do-optimize-fonts = no.
В любом случае, пожалуйста, сообщите об этом по адресу https://github.com/pts/pdfsizeopt/issues
Укажите-Do-Optimize-Images = нет.
Пожалуйста, сообщите об этом на https://github.com/pts/pdfsizeopt/issues
Укажите-use-pngout = нет. Это отключает PNGOUT, который является самым медленным шагом оптимизации для изображений.
Пожалуйста, сообщите об этом по адресу https://github.com/pts/pdfsizeopt/issues, подключив файл ввода PDF и вывод консоли PDFSISIZEOPT. Ваш отчет очень ценится.
Если PDFSizeopt выходит с исключения с Uncaught, он может оставить некоторые временные файлы (psotmp.*) В текущем каталоге. Вы можете удалить эти файлы.
Обратите внимание, что PDFSIZEOPT не является устойчивым при обработке коррупционных файлов PDF (то есть те, которые не соответствуют стандарту PDF). Таким образом, если pdfsizeopt выходит из строя, то причина может быть ошибкой в PDFSizeOpt или поврежденном входном файле PDF. Тем не менее, сообщите о проблеме (см. Выше).
Пожалуйста, сообщите об этом по адресу https://github.com/pts/pdfsizeopt/issues, подключив файл ввода PDF и выходной файл PDF (.pso.pdf) и консольный вывод PDFSizeOpt. Ваш отчет очень ценится.
Это может произойти, если имя файла или полное имя содержит любой символ, отличный от букв ASCII (AZ и AZ), цифр (0-9), подчеркивания (_), ASCII DASH (-), плюс (+), точка (. ), BackSlash () или Slash (/). Обычно эти персонажи не работают:
Пространства и вкладки: это легко исправить, просто оберните имя файла двойными кавычками ("), обычным способом.
Двойные кавычки ("): это не может произойти, именам файлов в окнах не разрешается содержать двойные кавычки. Если вам нужно передать аргумент без филины с двойной цитатой в Pdfsizeopt, сделайте это. Оберните аргумент вдвое Цитаты ("), замените все двойные цитаты (") на "и (параллельно с предыдущей заменой) замените последовательность Backslashes () и двойную цитату (") сразу же, сразу же, задумчивая обратные черты и заменив двойную цитату ( ") С".
Новые линии и другие не пространственные пробелы: это не сработает, командная строка Windows (cmd.exe) не позволяет эти символы в аргументах командной строки. Также Windows не позволяет им в именах файлов.
Акцентированные персонажи (такие как á и ő). Эти символы не будут работать (или это может работать только для некоторых символов, в зависимости от страницы активного кода) в имени файла PDF, указанном в командной линии, или в полном пути PDFSIZEOPT (так что не устанавливайте pdfSizeopt на C: BőR, это не сработает).
Акцентированные символы (за пределами страницы активного кода) не будут работать в полном пути PDFSISIZEOPT (например, C: BőR PDFSIZEOPT.EXE). Это связано с тем, что Python не может вызвать внешние программы (OS.System, OS.Popen, OS.Spawnl и Subprocess.call) с акцентированными символами в их имени, потому что он использует одноименные API.
Все, что не является печатью ASCII (код между 33 и 126, включительно): если не покрыто выше, это может не сработать. Смотрите описание акцентированных персонажей.
Если некоторые имена файлов все еще не работают, обходные пути:
Акцентированные символы в имени файла PDF могут быть сделаны работой следующим образом (как будущая работа по улучшению для PDFSIZEOPT):
pdfsizeopt.exe должен вызвать 16-битный API (getcommandlinew) вместо однобайтного API (getCommandlinea), чтобы получить аргументы
pdfsizeopt.exe должен избежать символов, не являющихся символами, в аргументах (например, как u+12ab)
pdfsizeopt.exe должен запускать pdfsizeopt.single, как это:
.../pdfsizeopt_win32exec/pdfsizeopt_python.exe .../pdfsizeopt.single-args-u+ ...
PDFSizeOpt Python Code должен распознавать -Args-u+, а при поиске имени файла он должен преобразовать его в Unicode (сохраняя ASCII, кроме U+12Ab), и он должен передать значение Unicode-Typed, чтобы открыть (...) Полем Такой открытый (...) работает в Python 2.6 в Windows.
При отображении имен файлов код PDFSizeOpt Python все равно должен отображать ASCII с выбегом U+12AB. Таким образом, модуль Win32 -Console не нужен. Таким образом, имена файлов будут отображаться LegLible, но неправильно (не копируют) в окне командной строки.
В командных строках вспомогательных программ (например, GS, SAM2P) не требуется, потому что это все ASCII, поскольку имена файлов являются автогенерируемыми временными именами FIL, которые являются ASCII, а путь к самому PDFSISISISISEOPT требуется для ASCII.
Акцентированные персонажи в пути PDFSizeOpt.Single можно сделать так, чтобы работать таким образом (как будущая работа по улучшению для PDFSizeOpt):
Сначала сделайте акцентированные символы в имени файла выше.
pdfsizeopt.exe должен использовать wgetcwd для получения текущего каталога.
pdfsizeopt.exe должен использовать wchdir для изменения в каталог pdfsizeopt.single.
pdfsizeopt.exe должен подготовить каталоги pdfsizeopt_win32exec и pdfsizeopt_win32exec/pdfsizeopt_gswin на путь, используя wputenv.
pdfsizeopt.exe должен запускать pdfsizeopt.single, как это:
pdfsizeopt_python.exe pdfsizeopt.single --args-u+ --cwd=... ...
, где значение - -CWD = -это сбежавшая (U+12AB) версия результата WGETCWD.
PDFSizeOpt Python Code должен подготовить значение -cwd = ... ... входного файла, если оно относительно.
PDFSizeOpt Python Code не должен изменять путь, если -CWD = ... присутствует. (Работает ли эта среда распространения с переменной среды в Python 2.6.? Попробуем!)
Все еще верно, что в командных строках внешних программ не требуется ухода (например, GS, SAM2P), потому что это все ASCII, потому что временные имена файлов - все ASCII, а путь к самому PDFSISISISISEOPT для ASCII требуется. Выход необходим, если направление пути временного каталога (временная переменная) требует выхода.
Эта ошибка произошла в системе Windows XP. Решение: Загрузите msvcr90.dll (или найдите его где -то уже в вашей системе) и скопируйте его в pdfsizeopt_win32exec (рядом с python26.dll). Любая версия msvcr90.dll будет работать:
Эта ошибка произошла в системе Windows XP, когда файл microsoft.vc90.crt.manifest отсутствовал в каталоге pdfsizeopt_win32exec. Решение: Переустановите Pdfsieopt, Directory PDFSISIZEOPT_WIN32EXEC в новой версии имеет этот файл.
Пожалуйста, установите pdfsizeopt, следуя инструкциям по установке на https://github.com/pts/pdfsizeopt. Таким образом, PDFSIZEOPT будет использовать GhostScript 9.05 в комплекте с ним, и это будет работать.