Уменьшить размер отсканированного PDF-файла [дубликат]

У меня есть файл PDF размером 72,9 МБ, который мне нужно уменьшить до менее 500 КБ.

Файл представлял собой изображение в формате JPEG, которое я отсканировал, а затем преобразовал в PDF.

561
задан 4 March 2015 в 16:37

24 ответа

aking1012 прав. Имея дополнительную информацию о возможных встроенных изображениях, гиперссылках и т. Д., Было бы намного легче ответить на этот вопрос!

Вот несколько сценариев и решений для командной строки. Используйте по своему усмотрению.

197
ответ дан 5 January 2021 в 23:59

Можете попробовать :

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

Это быстрее, чем gs, но сжимает до 30% в данном случае для входного файла размером 107.5MiB.

1
ответ дан 5 January 2021 в 23:59
  1. Я использую LibreOffice Draw, чтобы открыть pdf.
  2. Я затем "экспортирую как pdf"
  3. И устанавливаю "jpeg compression quality" на 50% и "image resolution" на 150 dpi

Это даст хороший результат.

24
ответ дан 5 January 2021 в 23:59

Я использую эту функцию zsh для сжатия отсканированных документов:

pdf-compress-gray () {
    local input="${1}"
    local out="${2:-${input:r}_cg.pdf}"
    local dpi="${pdf_compress_gray_dpi:-90}"

    gs -q -dNOPAUSE -dBATCH -dSAFER -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dDownsampleColorImages=true -dOverrideICC -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dColorImageDownsampleType=/Bicubic -dColorImageResolution=$dpi -dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=$dpi -dMonoImageDownsampleType=/Bicubic -dMonoImageResolution=$dpi -sOutputFile="$out" "$input"
}

Использование:

[pdf_compress_gray_dpi=100] pdf-compress-gray input.pdf [output.pdf]
0
ответ дан 5 January 2021 в 23:59

Сверхпростой инструмент для сжатия PDF: GitHub page.

Установка на Ubuntu:

sudo add-apt-repository ppa:jfswitz/released

sudo apt-get update

sudo apt-get install pdf-compressor

Она использует ghostscript.

0
ответ дан 5 January 2021 в 23:59

Обычно я просто использую

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer \
   -sOutputFile=output.pdf input.pdf

Я ответил на множество вопросов, один из которых - как уменьшить размер PDF-файла на AskUbuntu, Stack Overflow и Unix & Linux SE, и мне было интересно, что все эти варианты предложены в ответах, подразумеваемых.

Некоторые из них Параметры, связанные с взаимодействием :

-dQUIET
-dBATCH
-dNOPAUSE

Некоторые из них Параметры выбора устройства и выхода :

-sDEVICE
-sOutputFile

Некоторые из них Общие элементы управления и особенности , характерные для устройства PDFWRITE:

-r<resolution>
-dCompressFonts

Этот важный предварительно устанавливает «Параметры Distiller» , задокументированные параметры Adobe для управления преобразованием в PDF, на одну из четырех предустановленных настроек (экран, электронная книга, принтер , допечатная подготовка)

-dPDFSETTINGS

Все перечисленные ниже автоматически устанавливаются согласно -dPDFSETTINGS , согласно этой таблице . Для проверки этих значений можно использовать команду, предложенную Куртом Пфайфлом . Вы можете настроить их, если хотите:

-dCompatibilityLevel
-dAutoRotatePages
-dEmbedAllFonts
-dSubsetFonts
-sColorConversionStrategy
-dDownsampleColorImages
-dDownsampleGrayImages
-dDownsampleMonoImages
-dColorImageResolution
-dGrayImageResolution
-dMonoImageResolution
-dColorImageDownsampleType
-dGrayImageDownsampleType
-dMonoImageDownsampleType
0
ответ дан 5 January 2021 в 23:59

Ссылаясь на этот ответ и этот ответ , попробовав несколько ответов здесь и проведя кучу исследований и экспериментов, я ' Мы пришли к следующему. Обратите внимание, что я удалил часть команды -dCompatibilityLevel = 1.4 , использовавшуюся здесь в некоторых других ответах, потому что эта таблица указывает, что 1.5 или 1.7 автоматически используются для этого параметра сегодня (27 декабря 2020 г.), и нет необходимости изменять эти значения.

Используйте Ghostscript ( gs ) для сжатия input.pdf ] в output.pdf

3 основных уровня сжатия:
Примечание: вы также можете добавить -dQUIET для подавления всего вывода в стандартный вывод. См: https://www.ghostscript.com/doc/current/Use.htm .

  1. Низкое сжатие : 300 dpi (большой размер файла)
     gs -sDEVICE = pdfwrite -dPDFSETTINGS = / printer -dNOPAUSE -dBATCH \
     -sOutputFile = output.pdf input.pdf
      
  2. [НАИЛУЧШЕЕ в моем тестировании] Среднее сжатие (рекомендуется): 150 dpi (средний размер файла)
     gs -sDEVICE = pdfwrite -dPDFSETTINGS = / ebook -dNOPAUSE -dBATCH \
     -sOutputFile = output.pdf input.pdf
     
  3. Высокое сжатие : 72 dpi (небольшой размер файла - может привести к зернистым или нечитаемым результатам в некоторых случаях, так что попробуйте и попробуйте)
     gs -sDEVICE = pdfwrite -dPDFSETTINGS = / screen -dNOPAUSE -dBATCH \
     -sOutputFile = output.pdf input.pdf
     

Вы также можете добавить время перед командой, чтобы увидеть, сколько времени она займет (это работает с любой командой Linux). Пример вывода:

$ time gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=out.pdf in.pdf
GPL Ghostscript 9.50 (2019-10-15)
Copyright (C) 2019 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 15.
Page 1
Loading NimbusSans-Regular font from /usr/share/ghostscript/9.50/Resource/Font/NimbusSans-Regular... 5205104 3852122 2872760 1487237 3 done.
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
Page 14
Page 15

real    0m1.326s
user    0m1.142s
sys     0m0.048s

Если вы добавите -dQUIET в команду, отобразится none вывода Ghostscript, и вы получите это (при использовании времени в front):

$ time gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -dQUIET -sOutputFile=out.pdf in.pdf

real    0m1.018s
user    0m0.976s
sys     0m0.040s

Вы также можете использовать ps2pdf , который является оболочкой вокруг gs и дает очень похожие, но не совсем идентичные результаты. Я предпочитаю напрямую использовать gs , однако, как показано выше.

  1. Низкое сжатие: 300 dpi (большой размер файла)
     ps2pdf -dPDFSETTINGS = / принтер input.pdf output.pdf
     
  2. Среднее сжатие (рекомендуется): 150 dpi (средний размер файла)
     ps2pdf -dPDFSETTINGS = / электронная книга input.pdf output.pdf
     
  3. Высокое сжатие: 72 dpi (небольшой размер файла - в некоторых случаях могут быть зернистые или нечитаемые результаты, поэтому попробуйте и попробуйте)
     ps2pdf -dPDFSETTINGS = / screen input.pdf output.pdf
     

Тесты сжатия PDF

При тестировании приведенных выше команд gs на выходе из моего pdf2searchablepdf скрипта здесь я вижу следующее:

  1. Низкое сжатие: не имеет значительный эффект, поскольку мой сценарий уже создает выходные PDF-файлы с разрешением 300 dpi. Итак, входной PDF-файл 3,8 МБ 3 стр. Дает выходной PDF размером ~ 3,8 МБ .
  2. [BEST] Среднее сжатие: хорошо сжимает файл! Входной PDF-файл 3,8 МБ 3 страницы дает выходной PDF-файл размером ~ 0,95 МБ .
  3. Высокая степень сжатия: может быть слишком много. Входной PDF-файл 3,8 МБ 3 стр. Дает выходной PDF-файл размером ~ 0,37 МБ , НО в моем конкретном тесте полностью не читается , поскольку входной PDF-файл уже был с довольно плохим разрешением. Если вы начнете с входного PDF-файла высокого качества / высокого разрешения, вы можете получить гораздо более удобочитаемые результаты.

Ghostscript ( gs ) Документация:

Для всех -d d efine») PDFSETTINGS доступны, см. Здесь: https://www.ghostscript.com/doc/current/VectorDevices.htm#PSPDF_IN . Я процитировал этот раздел ниже, за исключением того, что я добавил значения DPI для каждого параметра, выделенные жирным шрифтом , как взяты из этой таблицы . Вы можете обратиться к этой таблице, чтобы увидеть десятки настроек нижнего уровня, выбранных gs для каждой опции PDFSETTINGS .

Элементы управления и функции, относящиеся к вводу PostScript и PDF

-dPDFSETTINGS = конфигурация

Задает для «параметров дистиллятора» одно из четырех предопределенных значений:

  • / экран (72 dpi) выбирает вывод с низким разрешением, аналогичный настройке Acrobat Distiller (до версии X) «Оптимизированный экран».
  • / ebook (150 dpi) выбирает вывод со средним разрешением, аналогичный Acrobat Distiller (до версия X) параметр «Электронная книга».
  • / printer (300 dpi) выбирает вывод, аналогичный настройке Acrobat Distiller «Оптимизированная печать» (до версии X).
  • / prepress (300 dpi) выбирает вывод, аналогичный настройке Acrobat Distiller "Prepress Optimized" (до версии X).
  • / default (72 dpi) выбирает вывод, предназначенный для использования в самых разных использования, возможно, за счет более крупного выходного файла.

Вы также можете увидеть определения различных параметров на этой странице: https://www.ghostscript.com/doc/current/Use.htm [118 4280]:

-dNOPAUSE
Отключает подсказку и паузу в конце каждой страницы. Обычно это следует использовать (вместе с -dBATCH ) при выводе на принтер или в файл; это также может быть желательно для приложений, где другая программа «управляет» Ghostscript.

-dBATCH
Вызывает завершение Ghostscript после обработки всех файлов, названных в командной строке, вместо того, чтобы переходить в интерактивный цикл чтения команд PostScript. Эквивалентно помещению -c quit в конец командной строки

-dQUIET
Подавляет стандартные информационные комментарии в стандартный вывод. В настоящее время это необходимо при перенаправлении вывода устройства на стандартный вывод.

0
ответ дан 5 January 2021 в 23:59

Мне нужно было уменьшить размер PDF-файла, который содержал полноцветные сканирования документа. Каждая из моих страниц представляла собой полноцветное изображение в том, что касается файла. Это были изображения страниц, содержащих текст и изображения, но они создавались путем сканирования на изображение.

Я использовал комбинацию нижеприведенной команды ghostscript и одну из них из другого потока.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE  -dBATCH -sOutputFile=output.pdf input.pdf

Это позволило уменьшить разрешение изображения до 150 точек на дюйм, уменьшив размер моего файла пополам. Глядя на документ, я почти не заметил потери качества изображения. Текст по-прежнему отлично читается на моем 2012 Nexus7.

50
ответ дан 5 January 2021 в 23:59

Для меня параметр экрана gs тоже был плохо, а электронная книга слишком велика.

Мой исходный документ содержал текст в виде цветных и черно-белых изображений (в зависимости от страницы).

Лучшее решение, которое я придумал, было:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dDownsampleGrayImages=true -dDownsampleMonoImages=true -dColorImageResolution=130 -dGrayImageResolution=130 -dMonoImageResolution=130 -r130 -dNOPAUSE  -dBATCH -sOutputFile=output_lr.pdf input.pdf

Обратите внимание, что уровень сжатия не является линейным ... если я указывал 135, он не сжимал, я обнаружил, что 130 (в моем случае) является максимальным разрешением, при котором достигается сжатие.

3
ответ дан 5 January 2021 в 23:59

Я настоятельно рекомендую pdfsizeopt .

Это гораздо более эффективно с точки зрения уменьшения размера, чем любое из предыдущих программ CLI и GUI, которые я пробовал (включая convert , gs , pdftk и т. Д.) - хотя, возможно, медленнее с активированным pngout , и не имеет некоторых из их проблем (без сильно пиксельных / деградированных изображений, без потери метаданных, например таблицы содержания и т. д.).

Теперь, если вам нужно достичь определенного размера, какими бы ни были последствия (в том числе ухудшение качества изображений до точки нечитаемости), это может быть не тот инструмент, который вам нужен, а как всегда работающий готовое решение для уменьшения ненужных больших размеров в PDF-файлах без потери читабельности, информации и приемлемого качества изображения, я думаю, что это лучшее t вариант. (Примечание: я обычно использую его после того, как впервые выполнил векторизацию-OCR в Adobe Acrobat [функция, которая раньше называлась «CleanScan»], которая может иметь огромное влияние на размер некоторых отсканированных текстовых документов.)


Я рекомендую общая установка Unix :

  1. Установите все необходимые зависимости:
  1. Загрузите и установите исполняемый файл:

      curl -L -o https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
      chmod + x pdfsizeopt.single
      cp pdfsizeopt.single / usr / local / bin / pdfsizeopt
     

Использование:

pdfsizeopt original.pdf [compressed.pdf]

Примечание для пользователей mac , нашедших это сообщение (или пользователей Linuxbrew): существует формула установки Homebrew:

brew install --HEAD pts/utils/pdfsizeopt
9
ответ дан 5 January 2021 в 23:59

Так как эта ссылка была первой для меня, когда я искал в Google, я подумал, что добавлю еще одну возможность. Ни одно из вышеперечисленных решений не работало для меня на pdf, экспортированном из Inkscape (15 mb), но мне наконец-то удалось уменьшить его до 1 mb, открыв его в GIMP и экспортировав снова как pdf.

Другой вариант, который был близок (но текст был немного нечетким), это утилита ImageMagick's convert:

convert -compress Zip input.pdf output.pdf
4
ответ дан 5 January 2021 в 23:59

Лучшим для меня было

convert -compress Zip -density 150x150 input.pdf output.pdf

Другие способы:

#### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de

С уважением

15
ответ дан 5 January 2021 в 23:59

Управление качеством сжатия:

#!/bin/sh
INPUT=$1; shift
OUTPUT=$1; shift
GS_BIN=/usr/bin/gs
QFACTOR="0.40"

# Image Compression Quality
#
# Quality HSamples VSamples QFactor
# Minimum [2 1 1 2] [2 1 1 2] 2.40
# Low     [2 1 1 2] [2 1 1 2] 1.30
# Medium  [2 1 1 2] [2 1 1 2] 0.76
# High    [1 1 1 1] [1 1 1 1] 0.40
# Maximum [1 1 1 1] [1 1 1 1] 0.15 

${GS_BIN} -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=${OUTPUT} -c "<< /ColorImageDict << /QFactor ${QFACTOR} /Blend 1 /HSample [1 1 1 1] /VSample [1 1 1 1] >> >> setdistillerparams" -f ${INPUT}
4
ответ дан 5 January 2021 в 23:59

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

К сожалению, ни одно из вышеперечисленных решений не помогло :(. Затем я понял, что где-то в процессе сканер-> jpeg-> pdf размер страницы увеличился примерно в 4 раза. Все отсканированные мной документы были размером Letter, но PDF-файл имел размер

identify -verbose doc_orig.pdf | grep "Print size"
 Print size: 35.4167x48.7222

. желаемые результаты, наконец, с помощью команды "convert", которая выполняет как изменение размера, так и этапы сжатия за один раз:

convert -density 135x135 -quality 70 -compress jpeg -resize 22.588% doc_orig.pdf doc_lowres.pdf

Обратите внимание, что doc_orig имел плотность 72x72 dpi.

3
ответ дан 5 January 2021 в 23:59

അവസാനം ഞാൻ സ്വന്തമായി എഴുതി ഇത് പരിഹരിക്കുന്നതിന് ബാഷ് സ്ക്രിപ്റ്റ്, പി‌ഡി‌എഫ് പേജുകൾ പി‌എൻ‌ജി ആയി എക്‌സ്‌ട്രാക്റ്റുചെയ്യാനും വലുപ്പം മാറ്റാനും 1 ബിറ്റ് ബി‌എം‌പിയായി പരിവർത്തനം ചെയ്യാനും മൊഗ്രിഫൈ , പരിവർത്തനം , ജിഎസ് എന്നിവ ഉപയോഗിക്കുന്നു. അവയെ പിഡിഎഫ് ആയി പുനർനിർമ്മിക്കുക. ഫയൽ വലുപ്പം കുറയ്ക്കൽ 90% കവിയുന്നു. http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php എന്നതിൽ ലഭ്യമാണ്.

3
ответ дан 5 January 2021 в 23:59

Вот скрипт для перезаписи сканированных pdfs:

#!/bin/sh

gs  -q -dNOPAUSE -dBATCH -dSAFER \
    -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.3 \
    -dPDFSETTINGS=/screen \
    -dEmbedAllFonts=true \
    -dSubsetFonts=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=72 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=72 \
    -sOutputFile=out.pdf \
     $1

Вы могли бы немного настроить его, чтобы сделать более многоразовым, но если у Вас только один pdf, Вы могли бы просто заменить $1 на Ваше имя файла pdf и распечатать его в терминале.

33
ответ дан 5 January 2021 в 23:59

Если у вас есть PDF-файл со сканированными изображениями , вы можете использовать convert (ImageMagick) для создания PDF-файла со сжатием jpeg (Вы можете использовать этот метод для любого PDF-файла, но вы потеряете всю текстовую информацию.)

Например:

convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf

Настройте параметры в соответствии с вашими потребностями

  • -плотность : плотность пикселей в dpi (например, 100x100). Более высокая плотность пикселей увеличивает качество и размер
  • -качество : степень сжатия. Для jpg это значение от 1 до 100, причем 100 - лучшее качество, но самое низкое сжатие
  • -compress : алгоритм сжатия. jpeg сжатие может быть не лучшим выбором из-за артефактов сжатия. У вас есть выбор между BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE или Zip в качестве альтернативных методов сжатия (некоторые допускают только ч / б изображения).

Мне удалось добиться отличных коэффициентов сжатия для отсканированных / сфотографировал документы (в зависимости от настроек). В зависимости от источника документа может потребоваться уменьшить глубину цвета (аргумент -depth ).

160
ответ дан 5 January 2021 в 23:59

Мой любимый способ сделать это - преобразовать PDF в ps и обратно. Это не всегда работает, но когда это работает, результаты хорошие:

ps2pdf input.pdf output.pdf

Это также работает напрямую с PDF-файлами, как предлагается в комментариях.

Некоторые пользователи также сообщают о большем успехе при использовании настроек электронной книги следующим образом:

ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf 
204
ответ дан 5 January 2021 в 23:59

Используйте следующую команду ghostscript :

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

Резюме -dPDFSETTINGS :

  • -dPDFSETTINGS = / screen более низкое качество, меньший размер. ( 72 dpi )
  • -dPDFSETTINGS = / ebook для лучшего качества, но немного большего размера PDF-файлов. ( 150 dpi )
  • -dPDFSETTINGS = / prepress вывод, аналогичный настройке Acrobat Distiller «Prepress Optimized» ( 300 dpi )
  • -dPDFSETTINGS = / printer выбирает вывод, аналогичный настройке Acrobat Distiller «Оптимизированная печать» ( 300 dpi )
  • -dPDFSETTINGS = / default выбирает вывод, предназначенный для использования в самых разных целях, возможно при расходы на выходной файл большего размера

Ссылка: https://www.ghostscript.com/doc/current/VectorDevices.htm#PSPDF_IN :

Элементы управления и функции, характерные для ввода PostScript и PDF

-dPDFSETTINGS = конфигурация

Предварительно устанавливает «параметры дистиллятора» на одно из четырех предопределенных значений:

  • / screen выбирает низкий-разрешение вывода аналогично настройке Acrobat Distiller (до версии X) «Оптимизированный экран».
  • / ebook выбирает вывод со средним разрешением, аналогичный настройке Acrobat Distiller (до версии X) «eBook».
  • / printer выбирает вывод, аналогичный настройке Acrobat Distiller «Оптимизированная печать» (до версии X).
  • / prepress выбирает вывод, аналогичный настройке Acrobat Distiller «Prepress Optimized» (до версии X) .
  • / default выбирает вывод, предназначенный для широкого спектра применений, возможно, за счет более крупного файла вывода.

Показаны точные настройки для каждого из них, включая их значения DPI. в десятках вариантов в этой таблице: https://www.ghostscript.com/doc/current/VectorDevices.htm#distillerparams .

722
ответ дан 5 January 2021 в 23:59

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

5
ответ дан 5 January 2021 в 23:59

Если преобразование в djvu также будет нормальным и если в нем нет цветов, вы можете попробовать следующее:

Преобразовать pdf в jpg файлы, используя pdfimages -j

Если вместо них вы получаете pbm файлы, вы должны сделать промежуточный шаг:

для FILENAME в $(ls *. pbm); сделайте преобразование $FILENAME ${FILENAME%.*}.jpg ;done

Команда преобразования находится в пакете imagemagagick.

Затем используйте scantailor, чтобы сделать из него tif.

На последнем шаге Вы переходите к scantailors out direcory (где находятся файлы tif) и применяете djvubind к этому каталогу. Это должно значительно уменьшить размер файлов без большой потери качества текста. Если вам нужен более тонкий контроль над ocr-бэкэндом, вы можете попробовать djvubind --no-ocr и использовать ocrodjvu, чтобы добавить слой ocr после этого.

Если в вашем документе есть цвет, все немного усложнится. Вместо djvubind вы можете использовать didjvu, а в скантейлере вам придется перейти в смешанный режим и выбирать иногда цветные изображения вручную.

2
ответ дан 5 January 2021 в 23:59

Для этого я обычно использую ps2pdf (более простой синтаксис), что-то вроде этого:

ps2pdf -dPDFSETTINGS=/ebook BiggerPdf SmallerPDF

я использую следующий питоновый скрипт для уменьшения размера всех pdf-файлов в dir на производственном сервере (8.04). Так что он должен работать.

#!/usr/bin/python

import os

for fich in os.listdir('.'):
        if fich[-3:]=="pdf":
                os.system("ps2pdf -dPDFSETTINGS=/ebook %s reduc/%s" % (fich,fich))
25
ответ дан 5 January 2021 в 23:59

загрузить изображение или даже файл pdf в inkscape.

Из inkscape: Сохранить в векторном формате (как собственный .svg).

Импортировать векторные файлы в scribus, отредактировать макет и экспортировать / сохранить оттуда как .pdf

1
ответ дан 5 January 2021 в 23:59

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

  1. gs -sDEVICE = pdfwrite -dCompatibilityLevel = 1.4 -dPDFSETTINGS = / ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile = output.pdf $ INPUTFILE

  2. "ps2pdf -dPDFSETTINGS_file (входной_файл%, spath) out_file_path)

После долгого блуждания по сети я просто не смог найти нужную библиотеку сжатия. Я наткнулся на pdfcompressor.com . Это просто потрясающий сайт. Сжимает pdf на 95% (15 Мб файлов). Поэтому я использовал селен и Tor для автоматизации сжатия. Проверьте мой репозиторий Github. [GITHUB] ( https://github.com/gugli28/PdfCompressor )

-1
ответ дан 5 January 2021 в 23:59

Другие вопросы по тегам:

Похожие вопросы: