Преобразуйте PDF на изображения в 1920x1080

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

fun1.c=fun1_a.c
fun2.c=fun2_a.c

Если этот созданный файл сопоставления называется rename.mk , можно изменить Makefile следующим образом:

include rename.mk
SRC=    $(fun1.c) $(fun2.c)

%.o: $.c
        $(CC) $(CFLAGS) -c $< -o $@

OBJ= $(SRC:.c=.o)

$(fun2.c:.c=.o): $(fun1.c:.c=.o)

Имена файлов стали именами переменных и используются для доступа к новым именам через сопоставление, указанное в rename.mk .

-121--116184-

Рассмотрим два экземпляра вашего предложения, запущенного одновременно. Они оба обнаружат, что (скажем) число = 4 доступно, и оба попытаются использовать одно и то же целевое имя.

Я не могу проверить эту альтернативу сейчас, но что-то подобное может быть достаточным

num=1 attempt=10
while ! mv --no-clobber "$1" "${PWD}/DUPES/${num}-$1" && [[ 0 -lt $attempt ]]
do
    num=$((num+1))
    attempt=$((attempt-1))
done
[[ 0 -eq $attempt ]] && echo "ERROR: Too many attempts to handle $1" >&2
-121--54590-

После перехода на xterm из-за медленной прокрутки в xfce4-terminal, у меня была та же проблема. В ~/.Xresources устанавливается XTerm * ptyInitureErase: true . См. страницу xterm man. Этот параметр оставляет псевдотерминал ^ H и ^? . Чтобы проверить это, я сделал Ctrl-V Ctrl-H и действительно это выводит ^ H .

6
22.10.2018, 12:42
2 ответа

Это включает в себя некоторые пробы и ошибки, и, в конце концов, можно спорить, какой результат вы можете считать «лучшим результатом». Так что позвольте мне дать несколько общих советов:

  • используйте опцию -flatten, чтобы избавиться от прозрачного фона. Прозрачность затрудняет оценку фактического качества результата. Если вам нужна прозрачность конечного изображения, вы можете удалить -flatten, как только будете уверены в качестве.

  • используйте что-то вроде -density 300, чтобы получить результат с высоким DPI. Основная проблема с convertзаключается в том, что по умолчанию используется очень низкая плотность (72 DPI ). Этот параметр должен быть указан перед входным файлом.

  • Уменьшение масштаба изображения с высоким DPI может привести к дополнительному размытию, поэтому, возможно, следует рассчитать правильное значение DPI для достижения желаемого разрешения:

    $ convert -density 100 file.pdf -flatten file100.png
    $ file file100.png
    file100.png: PNG image data, 827 x 1169, 8-bit colormap, non-interlaced
    $ echo $((1080*10000/1169))
    9238
    $ convert -density 92.38 file.pdf -flatten file9238.png
    $ file file9238.png
    file9238.png: PNG image data, 764 x 1080, 8-bit colormap, non-interlaced
    

Я не уверен, есть ли способ convertопределить «идеальное» значение DPI самостоятельно.

Если вы зададите этот вопрос IRC-каналу или форуму ImageMagick, я уверен, вы получите еще несколько советов.Будет полезно, если вы предоставите ссылку на PDF-файл, с которым работаете. ;)

Вы также можете улучшить качество другими способами, например, обрезав пустые границы. Вы сильно теряете разрешение, если половина страницы белая. Существуют даже решения, которые -оборачивают текст PDF, чтобы получить максимальную отдачу от доступного экранного пространства (, например.k2pdfopt).

Наконец, попробуйте и другие программы. Это вопрос личного мнения, но я предпочитаю напрямую использовать Inkscape или GhostScript. ImageMagick имеет символы, «склеенные вместе», Inkscape дает более сбалансированный результат, а GhostScript позволяет вам визуализировать размытое -свободное изображение с чистыми пикселями (, если вам это нравится -, используйте pngalphaдля размытой версии, что практически идентичноconvert).

ImageMagick:

ImageMagick

Инкскейп:

Inkscape

GhostScript:

gs -r92.38 -sDEVICE=png48 -sOutputFile=ghostscript.png file.pdf

GhostScript

7
27.01.2020, 20:27

Попробуйте:

convert -resize 1920x1080  in.pdf   out.png

Если в вашем PDF-файле 10 страниц, вы получите 10 файлов -1.png... out -10.png

Пожалуйста, игнорируйте этот ответ:хотя он полезен для изменения размера растровых файлов, он дает очень размытый результат для файлов PDF (масштабирование с низким DPI ).

1
27.01.2020, 20:27

Теги

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