Форматирование PDF для Kindle

Я начал со сканирования книги в формате PDF с двумя колонками, а затем использовал gs методы, изложенные в этой теме, чтобы перевести PDF в одностраничный формат, отлично работали. Это хорошо выглядит на экране ПК, но когда я передаю PDF в Kindle (3-го поколения), fit-to-screen опция отсекает около 10-20% от нижней части большинства страниц, тогда как actual size Опция слишком велика для экрана.

Есть ли этому решение? я должен использовать другие параметры, чем -g4210x5950 когда я делаю оригинальное расщепление с gs? или я могу просто изменить размер уже созданного PDF-файла (или его полей), чтобы он подходил для экрана Kindle? Если да, то какой размер мне нужен для экрана Kindle 3-го поколения.

Я хочу изменить масштаб одной страницы PDF, чтобы исправить размер Kindle (возможно, с gs ), не конвертировать. В качестве альтернативы можно добавить поля / границы, чтобы растопить подгонку к экрану, не обрезая концы.

(Должен сказать, что я пробовал бесплатный конвертер Amazon и т. Д., Но в идеале я хотел бы сохранить формат PDF, а не конвертировать, поскольку документ технический и преобразование не выглядит особенно надежным. Я бы предпочел просто изменить размер PDF/PDFmargins и сохранить существующее форматирование, если это возможно).

2 ответа

У меня были хорошие результаты с K2pdfopt. С помощью параметров командной строки -w (ширина) и -h (высота) вы можете установить размер вывода так, чтобы он точно соответствовал размеру экрана вашего Kindle.

Я нашел команду

pdfinfo -box -f 1 -l 3 mypdf.pdf

особенно полезно при поиске информации о данном документе PDF. Для документа PDF, который был нарезан в нижней части, когда он был помещен в Kindle, информация показала:

Page    1 size: 421 x 595 pts (A5)
Page    1 MediaBox:     0.00     0.00   421.00   595.00
Page    1 CropBox:      0.00     0.00   421.00   595.00
Page    1 BleedBox:     0.00     0.00   421.00   595.00
Page    1 TrimBox:      0.00     0.00   421.00   595.00
Page    1 ArtBox:       0.00     0.00   421.00   595.00
.
.
.

в соответствии с тем, как я создал его с помощью команды (которая правильно обрезает страницы A5)

gs \
  -o left-sections.pdf \
  -sDEVICE=pdfwrite \
  -g4210x5950 \
  -c "<</PageOffset [0 0]>> setpagedevice" \
  -f double-page-input.pdf

-gWxH флаг устанавливает размер в пикселях на 720dpi,

Размер экрана просматриваемого 3-го поколения: 560x735 (pixels) @ 167dpi (согласно этому и вики), таким образом, в 72dpi (стандартный экран) видимый размер экрана Kindle переводится в (560/167)*72=241.43 от (735/167)*72=316.88, так 241.43x316.88 @72dpi, тем не мение pdfwrite, используется ниже, использует dpi 720dpi При этом dpi Kindle для просмотра 2414x3168 @720dpi, очевидно 4210x5950@720dpi слишком большой

В качестве альтернативы можно убедиться в том, что я создал PDF с 4210x5950 pixels @ 720dpi и в 167dpi это было бы 976.48x1380.07, который явно больше, чем 560x735 Kindle видимой области.

Таким образом мне нужно перемасштабировать до границ Kindle.

Можно установить размер устройства в пунктах непосредственно с -dDEVICEWIDTHPOINTS=w а также -dDEVICEHEIGHTPOINTS=h, В 72dpi 1 point= 1 pixel (как точка определяется как 1/72 дюйма), но в 167dpi1 point ~ 2.31 pixels, Так что если наш дисплей 560x735 pixels @ 167dpi тогда мы бы установили -dDEVICEWIDTHPOINTS=241 -dDEVICEHEIGHTPOINTS=316 чтобы соответствовать Kindle. Проблема в том, что это не меняет значения MediaBox и т. д., как показано pdfinfo оставаться в 421x595 @72 dpi так что используйте флаг -dPDFFitPage также, чтобы игнорировать их, или, скорее, изменить их масштаб, чтобы соответствовать устройству.

gs -o out.pdf -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=241 -dDEVICEHEIGHTPOINTS=317 -dPDFFitPage -f in.pdf

Похоже сейчас когда out.pdf просматривается с помощью actual-size Опция в Kindle прекрасно умещается на экране.

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

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