Поиск простого способа пронумеровать страницы готового PDF файла.

Автор xub, февраля 02, 2021, 23:30:02

« предыдущая - следующая »

xub

Приветствую всех!

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

Один вариант предварительно добавить номер на каждое изображение приблизительно вот так:
convert  *.jpg -background yellow -splice   0x100 Z_%03dx.jpg;mkdir 11;mv -t 11 *Z*.jpg; cd 11; \
rename 's:\.:sprintf("_%03d.",$^R+=1):e' *;rename  's:Z.*_::' *;mogrify -format 'jpg' -font \
Liberation-Sans -fill black -undercolor '#00000000' -pointsize 64 -gravity North -annotate +20+20 %t *.jpg

Добавляется полоска вверху изображения а там номер, с размерами можно экспериментировать.

Потом картинки можно объединить в единый PDF, тут варианты могут буть разные.

Так вот хотелось бы избежать этого начала и сразу из картинок делать пронумерованный PDF.

Онлайн сервисы, а их достаточно много не рассматриваем, а вдруг картинки секретные?😇


Я кое-что читал в поисках приемлемого варианта. И решение моё получилось вот такое.

img2pdf -o OrigF.pdf --pagesize 30cmx --border 1cm:0.1cm *.jpg
Создаём PDF картинкам ничего не делаем, если это .png то выполняем требование программы img2pdf
и убираем альфа канал.
 find . -iname '*.png' -exec convert -background white -alpha remove -alpha off \{}  \{} \;
Длинно у меня получилось😞, надо бы как-то ,,красивше"...

Далее содаём пустой файл с номерами:
total=120;gs -o 20num.pdf -sDEVICE=pdfwrite -g9000x14000 -c "/Helvetica findfont 28 scalefont setfont 1 1  \
${total} { /PageNo exch def 380 10 moveto (Page ) show PageNo 3 string cvs show  ( of ${total}) show showpage } for"

Наверное можно создать в LibreOffice но так быстрее. Правильно это нужно где-то вот так записывать:
total=20
gs -o 20numbers.pdf         \
   -sDEVICE=pdfwrite        \
   -g5950x8420              \
   -c "/Helvetica findfont  \
       12 scalefont setfont \
       1 1  ${total} {      \
       /PageNo exch def     \
       450 20 moveto        \
       (Page ) show         \
       PageNo 3 string cvs  \
       show                 \
       ( of ${total}) show  \
       showpage             \
       } for"
Ну и окончание только с pdftk получилось...
pdftk OrigF.pdf  multistamp 20num.pdf output D0NE.pdf

Если у кого-то есть практика нумерации готовых PDF файлов? Я имею в виду в том контексте, который я описал?

2021 Feb 02; 12:29 PM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

Нумерацию страниц проще всего можно сделать в Libreoffice Draw.
Вставка>Поле>Номер страницы>перетаскиваем поле в нужное место>форматируем текст в поле>Сохраняем экспортом под другим именем (экспортировать в PDF!!!)
При желании, думаю, можно это сделать в консоли, подобрав ключи к консольной команде Libreoffice Draw.
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Я Вас приветствую,коллега El!

Цитата: el guahiro от февраля 09, 2021, 18:16:49Нумерацию страниц проще всего можно сделать в Libreoffice Draw

Ну при создании документа это не вопрос, ну разве если забыл... А вот готовый PDF и особенно чужой не всегда может получиться ,,загнать" в Draw для нумерации, я это пробовал😞...

Описанный мною способ  более-менее приемлем для картинок одного размера, а бывает ,,солянка сборная😇", помните в советском ресторане подавали, я спортсменом был, нас там часто кормили... Короче картинки разного размера...

Онлайн принтер, их много, делает красиво в все номера одного размера получаются😞... Вот эти вот ребята в этом деле преуспели, https://tools.pdf24.org/ru/add-page-numbers-to-pdf

Получается если такой иметь принтер на компьютере, ну по типу печати в файл, можно сделать тоже самое.

Есть программа для Windows http://www.a-pdf.com/number/бесплатная, кстати😈, но она нумерует не в колонтитул. Аналога под Linux я не встречал...

Да, кстати, пора уже сказать зачем мне всё это надо! Я любитель и слегка коллекционер бумажной рекламы, но у меня только всё в электронном виде, чтобы тараканов не разводить😇! Такие же любители ещё есть. Мы там обмениваемся периодически... Так вот не все создают pdf c номерами страниц, а без номеров в картинках ориентироваться не очень хорошо. Есть у одного из США вообще с 30-х годов 20 века картинки, внук ему всё делает...

Скорее всего есть оборудование которое сканирует с номером в колонтитул pdf файла. Но я не настолько фанатичен в своём увлечении, ну не перфекционист я в этом вопросе.

Ну Вы я думаю в курсе дела, всё что связано с редактирование pdf, а подстановка номера в уже готовый документ это ни что иное как тоже редактирование, это непростой процесс с многочисленными решениями...

Но хочется как обычно чтобы было быстро, просто, легко и красиво!😇 Правильно думаете,нужно было лучше учиться, больше работать скопить лишних денег, тогда для исполнения своих сумбурных желаний можно было бы просто нанять специалиста!😇

2021 Feb 09; 07:29 PM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

denkin

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

el guahiro

февраля 13, 2021, 13:57:16 #4 Последнее редактирование: февраля 13, 2021, 15:43:59 от el guahiro Причина: =
Ещё один простой способ добавлять номера страниц: добавить колонтитул в программе Master PDF Editor  (разработчик https://code-industry.ru/). Инструкция, как это сделать здесь.
Такая функция есть в последней версии программы с оф. сайта.
Наиболее стабильно работающая (по результатам переписки с разработчиками) версия с новым QT здесь.
Все версии с оф сайта здесь.
Master PDF Editor позволяет добавлять в PDF документы верхние и нижние колонтитулы, которые могут содержать текст, номер страницы или дату. Для более удобного оформления колонтитулов поля каждого из них разделены на три части: левую, центральную и правую. Для колонтитулов можно настроить размер, шрифт, стиль, цвет, а также указать номера страниц, на которых колонтитулы будут отображаться. На страницах одного документа могут быть использованы разные колонтитулы. Параметры колонтитулов можно сохранить для дальнейшего использования.
Для более удобного оформления колонтитулов поля каждого из них разделены на три части: левую, центральную и правую.
Для добавления колонтитулов в PDF документ надо выбрать в главном меню: Документ > Колонтитулы > Добавить. В диалоговом окне надо указать следующие параметры:
шрифт, расположение полей (правое, левое, верхнее или нижнее,  по центру или с краю), формат даты, номера страницы и т.п.
Для удаления колонтитулов надо выбрать в главном меню Документ > Колонтитулы > Удалить. Все колонтитулы документа будут удалены.
Для удобства можно создать шаблон.
Для добавления шаблона укажите требуемые параметры колонтитулов и нажмите Сохранить. В появившемся диалоговом окне запишите имя шаблона.
Для удаления шаблона надо выбрать его в списке сохраненных параметров. В появившемся диалоговом окне подтвердите удаление шаблона.

Это не реклама. Для просмотра (а я, как правило смотрю большие PDF (до  20 шт 2A0) чертежи и пояснительные записки до 100+ неоптимизированных страниц) я использую мощную маленькую программку llpp (движок программы - mupdf). А уж если надо что-то отрецензировать, то тогда открываю в Master PDF Editor.

PS. Можно также нумерацию страниц сделать с помощью Scribus описание здесь и здесь
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую!
Цитата: el guahiro от февраля 13, 2021, 13:57:16я использую мощную маленькую программку llpp (движок программы - mupdf)
Да! Вы уже как-то писали об этой программе, я стал использовать и даже сделал просмотрщиком по умолчанию.

Коммерческая версии Master PDF Editor для Linux , нужно вообще-то купить, чтобы всё хорошо работало... От версии к версии бесплатный функционал уменьшался...😞
2021 Feb 13; 07:38 AM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

февраля 14, 2021, 14:04:06 #6 Последнее редактирование: февраля 14, 2021, 14:33:18 от el guahiro
Цитата: xub от февраля 13, 2021, 18:19:39Коммерческая версии Master PDF Editor для Linux , нужно вообще-то купить
У меня коммерческая версия - оно того стОит. Функционал программы просто безграничен:  распознавание текста, комментарии, штампы, вёрстка, оптимизация файла, разбиение, экспорт. Работать в PDF так же просто, как в ODT или DOC/DOCX.
Единственное, что не умеет - это работа с таблицами. Распознавание таблиц - боль в Linux. Даже программное преобразование PDFa>HTML>ODT (DOC) у меня пока не получилось, хотя теоретически должно. :(  Спасают онлайн-сервисы.

У нас очень красивая зима - не холодно (-10C), тихо, солнышко. Красота! Если читают дамы - Вас с с Валентинками!
Искренне Ваш, el.
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

denkin

Кстати, насчет верстки (под офтопиком).
Может быть подскажете - чем удобно и быстро готовить на печать чертежи в ПДФ на плоттер?
Файлы многостраничные, но разных форматов: от А4, А3, А3 удлиненные, А2,- каша, короче.
Софт плоттера толково не компонует - подгоняет все под формат первого листа в файле.

xub

Цитата: denkin от февраля 14, 2021, 16:11:18Может быть подскажете - чем удобно и быстро готовить на печать чертежи в ПДФ на плоттер?
Если исходный материал весь в pdf, то может сначала преобразовать  в tif'ы из одной страницы, а потом эти  tif'ы сделать одного размера, скорее всего по горизонтали, собрать в многостраничный tif.

Может этот взрослый😇 принтер будет печатать (должен) многостраничный tif по странице... Но это мои фантазии😈, я точно не знаю

Эта вся технология может быть хорошо отработана на всяких швейных - трикотажных фабриках. Там они размечают полотно и выкройки делают разного размера. Наверное есть соответствующие программно-аппаратные решения, явно недешёвые. Я такое видел в мастерской по пошиву театральных и всяких маскарадных костюмов на Christmas и Halloween...
 
Ну вот у Вас по месту _ht╳╳tp://biz╳╳era.com.ua/comp╳╳any/juli╳╳vi/ а позвоните, а вдруг что-либо бесплатно скажут? 😇

2021 Feb 14; 07:27 AM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

февраля 14, 2021, 22:09:07 #9 Последнее редактирование: февраля 14, 2021, 22:29:50 от el guahiro
Цитата: denkin от февраля 14, 2021, 16:11:18Может быть подскажете - чем удобно и быстро готовить на печать чертежи в ПДФ на плоттер?
По опыту, самое верное и безотказное (особенно с учётом, что печатаем обычно в последний момент, в условиях временнОго пике) надо так:
1. Разобрать PDF на картинки, ПКМ на:
pdftoppm -jpeg %f %n | zenity --progress --width=400 --height=100 --title="извлекаем картинку" --text "работаю." --auto-close --pulsate; rename "s/.pdf-/ /gi" ./*.jpg2. Сгруппировать в разных папках по форматам - что-то печатаем A3, что-то A2, что-то A1, что-то A0.
3. Сшить в каждой папке альбомы PDF форматов А3..A0, ПКМ на:
papersize=`zenity --entry --title="Картинки в PDF" --text="Введите формат A4,A3,A2,A1,A0, например -S A4, или поставьте пробел (родной размер)" --entry-text="-S A4"`; img2pdf -o %n.pdf $papersize --auto-orient %F | zenity --progress --width=400 --height=100 --title= Склеиваем в  PDF  --text  работаю.  --auto-close --pulsate; exiftool  -overwrite_original -all= %n.pdf; touch -r %n %n.pdf ; rename "s/png.pdf|jpg.pdf|jpeg.pdf|JPG.pdf|JPEG.pdf/pdf/gi" %n.pdf ; notify-send "склеили в PDF файл"все картинки должны быть горизонтальной (ландшафтной) ориентации.
4. Печатать ПКМ на: 
thunar-print %F=========
Способ 2. Годится, только если хотим все страницы привести к одному формату.
1. Делаем в любом редакторе (PDF Shuffler, Master PDF Editor, и т.п) горизонтальную ориентацию всех страничек.
2. ПКМ на команду:
format=`zenity --entry --title="Выставить формат PDF" --text="Введите формат a4,a3,a2,a1,a0, например a4paper" --entry-text="a4paper"`; pdfjam  --outfile %F --paper $format %FПлюс этого способа: текстовый слой сохраняется.
--
Про все эти ПКМ я писал в теме "..для новичка"
Естественно, для шаблонных ситуаций можно сваять сложный скрипт и запускать в консоли.
Не разжёвываю подробностей ПКМ, т.к. говорю с бывалыми. Остальные - подробности найдут в теме "..для новичка" на этом форуме. Там кстати, в команды везде вшито сохранение времени создания и метаданных, отчего команды длиннее..

Искренне Ваш, el
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую снова!

Цитата: denkin от февраля 14, 2021, 16:11:18Кстати, насчет верстки (под офтопиком).

Задача то вроде для Windows, если я правильно интерпретировал сленг, а следовательно я про tiff (tif) это же их формат...

А вообще, я думаю, что лучше брать ,,языка"😇 , выражаясь терминологией советских книжек про Вторую Мировую Войну...

2021 Feb 14; 12:17 PM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

Насчёт вёрстки под Windows - это вам Foxit Pro надо покупать. Для небольших задач - PDF-XChange Viewer качнуть. Вообще-то у меня давно Винды нет (и вам не советую), но возможности Foxit Pro под все платформы мне известны, т.к. за ситуацией слежу.
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

denkin

Цитата: el guahiro от февраля 15, 2021, 01:11:52Вообще-то у меня давно Винды нет (и вам не советую),
К сожалению, пока не вариант.

el guahiro

января 03, 2022, 00:40:22 #13 Последнее редактирование: января 03, 2022, 00:45:21 от el guahiro
Цитата: denkin от февраля 14, 2021, 16:11:18Кстати, насчет верстки
Всех с Новым Годом!
Чтобы отвлечься от новогодних салатов, решил проветрить голову и сделал скрипт для преобразования отсканированных в Jpg чертежей формата A3 в высоту и A3х120% (иногда 130 %) в ширину.
ПКМ  под названием "JPG 2 PDF высоты A3" на команду:
img2pdf %n --auto-orient --pagesize x842 --output %n.pdfпреобразует "вытянутый" на 120...130 % A3  в формат для печати. По умолчанию плоттер "подхватывает" разрешение 72 и печатает всё как надо по команде ПКМ:
thunar-print %FПлоттер Kyocera, дрова самописные, переписанные с MacOS (я писал, что там менять, в теме "для новичка").
Аналогично этот или любой из других принтеров подхватывает по умолчанию именно разрешение 72 PPI, т.к. именно так печатает с флешки. Но тут сразу возникает вопрос: Альбом чертежей, удлинённых на120-130% A3 перемежается со стандартными A3. Как сшитый альбом распечатается? Ответ: не знаю, т.к. использую всегда решение, понятное даже динозавру, т.е. мне:
Расшиваем альбом с помощью ПКМ "Разделить PDF на отдельные страницы" на команду:
pdfseparate %n %%d.pdfПотом группируем по размерам, и уже потом печатаем. Можно чертежи одного размера сшить с помощью ПКМ  "Объединить несколько pdf" на команду:
pdfunite %F sum~%n; touch -r %f sum~%n ; trash-put %F; mv -v sum~%n  %n Про ПКМ подробно не расписываю, т.к. участники дискуссии - не новички. Скажу только, что pdfseparate и pdfunite у вас скорее всего уже установлены (они, насколько помню, с пакета poppler), img2pdf можно установить через  sudo apt install.

Засим, наше вам с кисточкой. Пошёл торт есть. Искренне ваш, el
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую всех! С Новым Годом, ясное дело!

Что-то тема ожила😇, к чему бы это?😇

Неужели последствия встречи Нового Года?😇

А что касательно нумерации страниц продолжаю делать так с pdftk в которой пишут есть уязвимости. Ну меня пока не уязвило😇...

total=1200 # Заказ прибл. количества номеров... ❰предварительно чем-то посчитать стр.❱

gs -o z1200num.pdf -sDEVICE=pdfwrite -g9000x16000 -c "/Helvetica findfont 28 scalefont setfont 1 1  \
${total} { /PageNo exch def 380 10 moveto (Page ) show PageNo 3 string cvs show  ( of ${total}) show showpage } for" # Создания файла с пустыми страницами...

pdftk ФайлДляНумерации.pdf  multistamp z20num.pdf output D0NE_$(date +%y%m%d%H%M).pdf

Эксперименты были в основном с нашими форматом Letter и Legal, по идее должно охватывать и другие форматы, ну А4 уж точно. (А4 вообще в Торонто нужно ехать покупать😞...)

В данном случае, конечно, о виртуальных форматах речь идёт.

2022 Jan 02; 11:37 PM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...