Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2019, 11:01   #1
HotDogich
Пользователь
 
Регистрация: 23.03.2011
Сообщений: 15
По умолчанию Слияние 2 файлов PDF по страницам

Добрый день. Проблема такая, нужно открыть 2 файла PDF, сортировать страницы внутри по особенному порядку, и объединить потом в один файл.
Не могу найти бесплатные библиотеки с возможностью редактирования и сохранения PDF.
Пример: сканируем 6 страничный документ(двухсторонняя печать), сначала кладем стопку на сканер, сканируем страницы 1-3-5, потом переворачиваем стопку, сканируем 6-4-2. Позже в программке объединяем файлы, восстанавливая нормальную последовательность страниц.(неплохая экономия при выборе принтера, ибо за двухстороннее многостраничное сканирование приходится нехило доплачивать порою).
p s весь мой опыт программирования - 6-7 лет назад в ВУЗе 1-2 семестра.
Насколько я понял, в бесплатном доступе из библиотек только читалки.
В существующих прогах кстати не нашел возможности такого склеивания пдф (не выставляя страницы в ручную).
Буду рад любым советам по решению моей проблемы =)
HotDogich вне форума Ответить с цитированием
Старый 29.03.2019, 11:08   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я бы воспользовался бесплатной утилитой Pdftk https://ru.wikipedia.org/wiki/Pdftk
она умеет и разделять файл на отдельные страницы и собирать отдельные PDF файлы в один.
Ещё можно поискать компоненты для Delphi для работы с PDF, но это будет либо дорого (я не слышал про бесплатные), либо незаконно (использовать варез).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 11:12   #3
HotDogich
Пользователь
 
Регистрация: 23.03.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я бы воспользовался бесплатной утилитой Pdftk https://ru.wikipedia.org/wiki/Pdftk
она умеет и разделять файл на отдельные страницы и собирать отдельные PDF файлы в один.
Ещё можно поискать компоненты для Delphi для работы с PDF, но это будет либо дорого (я не слышал про бесплатные), либо незаконно (использовать варез).
тут проблема в том, что в программках придется каждый раз вручную порядок страниц устанавливать, при кол-ве до 10 страниц ещё терпимо, но если вдруг стопки по 30... Как бы печаль в том, что нету возможности сделать в них шаблоны по склеиванию.
HotDogich вне форума Ответить с цитированием
Старый 29.03.2019, 11:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от HotDogich Посмотреть сообщение
тут проблема в том, что в программках придется каждый раз вручную порядок страниц устанавливать, при кол-ве до 10 страниц ещё терпимо, но если вдруг стопки по 30...
погодите. может быть, я чего-то не понял.
Но ведь достаточно указать, сколько страниц в документе всего и где файл с нечётными страницами, чтобы дальше всё произошло полностью в автоматическом режиме.
Ведь у Вас ВСЕГДА в одном файле нечётные страницы 1-3-5-7-9-... 29...
а в другом чётные: 2-4-6-8-10-...30.... ?
Тогда задача сводится к банальному чередованию
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 11:32   #5
HotDogich
Пользователь
 
Регистрация: 23.03.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
погодите. может быть, я чего-то не понял.
Но ведь достаточно указать, сколько страниц в документе всего и где файл с нечётными страницами, чтобы дальше всё произошло полностью в автоматическом режиме.
Ведь у Вас ВСЕГДА в одном файле нечётные страницы 1-3-5-7-9-... 29...
а в другом чётные: 2-4-6-8-10-...30.... ?
Тогда задача сводится к банальному чередованию
Ну, файл с нечетными сканируется ещё обратным порядком, 29-27-25-...1, т.е порядок страниц надо ещё отзеркалить.
HotDogich вне форума Ответить с цитированием
Старый 29.03.2019, 11:37   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от HotDogich Посмотреть сообщение
Ну, файл с нечетными сканируется ещё обратным порядком, 29-27-25-...1, т.е порядок страниц надо ещё отзеркалить.
это проблема?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 11:42   #7
HotDogich
Пользователь
 
Регистрация: 23.03.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это проблема?
Что-то я не улавливаю вашу мысль. =(
Если функции отзеркаливания порядка страниц в готовых программах по PDF ещё можно встретить(но это не точно), но чтобы они склеивали 2 файла, беря страницы по очереди - нет.
Или вы предлагаете через программку разбить все страницы на отдельные файлы, потом переименовать через самописную программку все страницы в нужном порядке, и обратно через готовую прогу склеивать их?
А то мое представление решения такой проблемы выходит слишком сложным для Бухгалтеров, они ж меня пошлют куда подальше =(
HotDogich вне форума Ответить с цитированием
Старый 29.03.2019, 12:07   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от HotDogich Посмотреть сообщение
Или вы предлагаете через программку разбить все страницы на отдельные файлы, потом переименовать через самописную программку все страницы в нужном порядке, и обратно через готовую прогу склеивать их?
почти. программно разбить на различные файлы (каждая страница - отдельный файл), потом программно склеить их в нужном порядке.
переименовывать не нужно.
Ручной труд - отсутствует.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 14:14   #9
HotDogich
Пользователь
 
Регистрация: 23.03.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
почти. программно разбить на различные файлы (каждая страница - отдельный файл), потом программно склеить их в нужном порядке.
переименовывать не нужно.
Ручной труд - отсутствует.
Под "программно" - подразумеваете возможность разбивать PDF файл на множество картинок постранично, а так же создание PDF файла из множества (картинок?) - и все с использованием бесплатных библиотек?
HotDogich вне форума Ответить с цитированием
Старый 29.03.2019, 14:46   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от HotDogich Посмотреть сообщение
Под "программно" - подразумеваете возможность разбивать PDF файл на множество картинок постранично, а так же создание PDF файла из множества (картинок?)
да нет, не картинок, а одностраничных PDF файлов.
берём два исходных PDF файла. запускаем программу. Программа разбивает PDF постранично, потом объединяет одностраничные файлов в один. Удаляет промежуточные файлы (одностраничные PDF).
Конец работы.

Цитата:
Сообщение от HotDogich Посмотреть сообщение
- и все с использованием бесплатных библиотек?
Почти. я уже писал выше, что мне не известны бесплатные библиотеки, которые позволяют работать с содержимым PDF файла.
Платные есть.
Например, навскидку:
Gnostice PDFToolkit VCL
https://www.gnostice.com/PDFtoolkit_VCL.asp

Quick PDF Library 16
https://www.debenu.com/products/deve...u-pdf-library/

Но я предлагал использовать бесплатную маленькую консольную утилиту Pdftk (держать её рядом со своей программой и запускать программно, подставляя ей нужные параметры прямо через командную строку). Это, конечно, не очень красиво и, по сути, костыль, но, если нужно автоматизировать процесс и это нужно сделать быстро и без дополнительных затрат - то, имхо, вполне допустимо и такое решение.

p.s. кстати, думаю, что при некоторой сноровке и наличии нужных знаний, задачу запуска утилиты в цикле с нужными параметрами можно сделать даже из скрипта (командного файла). Т.е. можно обойтись вообще без Delphi.
Но у меня лично нет такого уровня владения языком командных файлов, поэтому я бы замутил программку на Delphi
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распределение данных из файлов по страницам в новой книге ff0000 Microsoft Office Excel 0 14.11.2017 07:41
Сравнение и слияние файлов Lemon Tree Microsoft Office Excel 31 18.09.2013 21:59
Слияние тхт файлов recycler Visual C++ 0 04.06.2012 19:57
Слияние файлов pasha26 Microsoft Office Excel 4 23.12.2009 08:15
Слияние нескольких wav файлов lacost Мультимедиа в Delphi 1 30.09.2008 19:25