Имя: Пароль:
IT
 
Разбить PDF файл
0 belas
 
18.03.14
07:59
Коллеги, подскажите!
Имею  Pdf файл от 50 до 200 страниц.
Нужно  разбить  этот  файл  на  страницы, то есть каждую  страницу  в  отдельный  файл.
Главное! Чтобы полученные файлы  наименовались исходя  из содержания  каждой  страницы. В определенном месте , на каждой странице есть информация, имя  каждого файла  должно  браться  оттуда.  

Есть такой  софт  в принципе ? Если есть, киньте  ссылкой , если  не  затруднит.
1 sTOd
 
18.03.14
08:09
Есть такая утилитка толи pdk, толи ptk, фришная так вот ей много чего можно и запускается она пакетно.
2 spectre1978
 
18.03.14
08:10
Вообще битье PDF задача достаточно тривиальная - можно установить любой софт для создания PDF (например PDFCreator) и печатать на виртуальный принтер по одной странице.

Но вот выдирать из PDF название файла - с этим не знаю...
3 mzelensky
 
18.03.14
08:10
(0) На ИС еть обработка, но она платная (хотя и не дорогая).
4 belas
 
18.03.14
08:50
(3)
ИС - это что ?
5 mzelensky
 
18.03.14
09:00
(4) ИнфоСтарт

Вот кажется ссылка:
http://infostart.ru/public/21144/
6 Cube
 
18.03.14
09:04
7 belas
 
18.03.14
09:15
(6)
Не поверишь.. искал..
Описание не подходит.
8 belas
 
19.03.14
03:40
Суть вопроса не в  том "Чем разбить" - этого добра  полно, а  как разбить  с  автоматической установкой  имени файлов.
9 Cube
 
19.03.14
04:52
(8) А почему бы не переименовать уже после разбиения?
10 spectre1978
 
19.03.14
13:09
(9) да почему бы и нет. Вопрос только, чем можно раздербанить PDF чтобы вытащить из него строчку. Единственное что приходит в голову - FineReader Forms, создать форму с единственным полем под эту строчку, распознать, куда-то сохранить список строчек и потом по списку переименовать 1, 2, 3 в Список[1], Список[2], Список[3]... Как-то так...
11 Йохохо
 
19.03.14
13:15
bullzip pdf printer
поставить галочку, каждую страницу в отдельный файл
12 spectre1978
 
19.03.14
13:17
(11) почитай (0) внимательнее. Ему надо чтобы каждый файл именовался строкой, взятой из определенного места PDF
13 Kom-off
 
19.03.14
13:48
(0) PDF формат имеет возможность хранить в себе распознанный (или организованный при создании файла) текст. Вопрос: в получаемых файлах присутствует такой текст? Если есть, то его можно получить и попытаться обработать и, если получиться его обработать соответствующим образом, т.е. получить данные по имени каждой страницы, потом переименовать файлы, как это предложено в (9).
14 Jaap Vduul
 
19.03.14
13:54
(0)Есть a-pdf, но он платный.
15 Jaap Vduul
 
19.03.14
13:55
16 spectre1978
 
19.03.14
15:37
(15) Да, похоже, это оно. Причем есть триал, можно попробовать. Да и ценник невелик, всего $79, вполне можно себе позволить.

Весь вопрос только в том как хранится текст - как текст или как картинка. Если как картинка, то не прокатит.
17 Builder
 
19.03.14
15:53
(16) Не поверишь, Foxit и Adobe Reader умеют выделять и копировать текст в отсканированных файлах. Механизм не знаю, но факт такой есть.
18 spectre1978
 
19.03.14
16:21
(16) Не поверишь - знаю. Читаем (0):

> Имею  Pdf файл от 50 до 200 страниц.

Вы все еще хотите копипастить?
19 spectre1978
 
19.03.14
16:21
к (17)
20 Todorov
 
19.03.14
17:31
(0) Качаете ImageMagik, и одной строчкой
convert -quality 100 -density 300x300 in.pdf multi%d.pdf

получаете нужный результат. Причем по цене 0 руб. 0 коп. (не считая трафика на скачивание).
21 jbond
 
19.03.14
17:50
prftk
22 le_
 
19.03.14
17:50
Утилита разбивает PDF-файл на несколько по страницам:
http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
23 le_
 
19.03.14
17:51
+(22) Usage: pdftk in.pdf burst output name_p.%02d.pdf
24 jbond
 
19.03.14
17:52
хотя нет, пройдется или модифицировать pdftk, чтобы получить текст в определенном месте или мистать собственную утилиту, юзая iText
25 jbond
 
19.03.14
17:52
(22) -

Главное! Чтобы полученные файлы  наименовались исходя  из содержания  каждой  страницы. В определенном месте , на каждой странице есть информация, имя  каждого файла  должно  браться  оттуда
26 jbond
 
19.03.14
17:52
коточе, пейши сам

use Java, Luke!
27 jbond
 
19.03.14
17:53
(21) - pdftk
28 le_
 
19.03.14
17:54
(25) Это довольно сложно сделать для потенциально _любого_ PDF, ибо потребуется OCR, которых бесплатных и работающих из командной строки нет.
29 jbond
 
19.03.14
17:55
(28) - лолшто?
30 jbond
 
19.03.14
17:55
В pdf, если не укзано обратное, текст хранится текст
31 jbond
 
19.03.14
17:59
(28) - зачем нам командная строка?

>потребуется OCR

ложь

>которых бесплатных и работающих из командной строки нет.
наглая ложь. Google по твоему чем распознавал 1 миллиард книг?
32 le_
 
19.03.14
18:07
(29)(31) Нате, доставайте из этого файла текст: http://webfile.ru/e436e36466162e02fd0b8a8e6d395aa5
33 jbond
 
19.03.14
18:09
(32) - причем тут тогда pdf?
34 le_
 
19.03.14
18:09
(33) Притом.
35 jbond
 
19.03.14
18:09
откуда ты взял этот файл? он был указан в постановке задачи?
36 jbond
 
19.03.14
18:12
и вообще с постановкой задачи как в (0) заказчик посылается в лес.

Или выставляется сумма на 10000000 долларов.
37 le_
 
19.03.14
18:13
(35) У нас таких файлов в базе десятки тысяч. А создают их менеджеры путем сканирования бумажных документов на самом обычном МФУ или сканере.
38 jbond
 
19.03.14
18:15
(37) - этого не было указано в постановке задачи.

почему не применяется Finereader?
39 jbond
 
19.03.14
18:16
(37) - это значит ТВОЙ файл, а не файл человека в (0).
40 le_
 
19.03.14
18:19
(38) Потому что им делать больше нех, как распознавать каждый файл после сканирования, когда этих файлов на XX страниц XX в день. Кроме того, не каждый менеджер вообще понимает что такое распознавание и чем этот файл отличается от другого.
(39) См. (28)
41 jbond
 
19.03.14
18:22
(40) - тогда заказчик посылается лесом или ему выставляется сумма в 10000 превышающую  з/п обезьяны, которая могла бы смотреть на нужно место в изображении и потом задавать имя файла.

Хотя 10000 бананов это все таки мало.
42 le_
 
19.03.14
18:31
В случае если у ТС в PDF-ках только текст, то достать его оттуда довольно просто, в сети полно всяких утилит.
43 inspam
 
19.03.14
18:59
(0) Попробуй это http://www.pdfforge.org/pdfcreator
44 jbond
 
19.03.14
19:46
(42) - и что ты потом с этим текстом будешь делать?
45 le_
 
19.03.14
20:07
(44) Я ничего не буду делать ) Мне это не нужно. А ТС может наименоваие файла сформировать так, как ему нужно.
46 belas
 
20.03.14
08:38
(15) Спасибо, то что нужно!
47 jbond
 
20.03.14
12:31
(45) - читай еще раз: имя файла базируется на тексте в нужном месте.

100% это текстбокс. Кури наконец iText.
48 Todorov
 
21.03.14
16:02
Можно написать скрипт на bash, алгоритм мне видится таким:
разбиваем файл на страницы - например, с помощью pdfsam
Затем каждую страницу в цикле обрабатываем связкой pdf2txt (достает текст из pdf) и затем выуживаем нужный кусок текста с помощью grep, sed и awk.
Ну и с помощью rename переименовываем файл в выдернутое на предыдущем шаге название.

Самое сложное здесь - шаманство с sed/awk, поскольку не совсем понятно, какое наименование может быть: если просто номер счета-фактуры (например 12 цифр после знака № и символов СЧФ-, и все это в 3-й строчке - тут все просто, а если это какой-либо русский текст с пробелами - тут запаришься экранировать символы). Но все решаемо. Приходилось делать нечто подобное для документов в формате doc. В качестве экстрактора текста можно попробовать Apache Tika, похоже, весьма универсальный инструмент.
49 jbond
 
22.03.14
21:51
(48) - почему ты думаешь, что без анализа координат текстовых блоков у тебя получится решить задачу?
50 Torquader
 
22.03.14
22:33
А если его напечатать на pdf-принтер с разбиением на файлы ?
51 spectre1978
 
23.03.14
16:54
(49) Если PDF содержит текст и нужный кусок идентифицируется достаточно легко, скажем строкой "СчФ-" в начале и пробелом в конце, то, собственно, зачем координаты? Тогда и без координат как с координатами :)
52 Todorov
 
24.03.14
12:50
(49) (51) совершенно прав. Утилита типа pdf2txt просто вытаскивает из pdf-а читаемый текст. Абзацы она понимает. Этого обычно вполне достаточно, чтобы на полученные файлы натравить sed/awk и вытащить нужные части. Т.е. главное - постоянная точка отсчета, к которой можно привязаться.
53 Todorov
 
24.03.14
12:59
Добавлю ссылку на замечательную статью.
http://habrahabr.ru/post/130601/
54 spectre1978
 
24.03.14
22:01
(53) Занятная статейка. Пожалуй, сохраню на будущее, может пригодиться
55 Todorov
 
25.03.14
15:18
(54) Мне она уже раза 3 пригодилась :-)
Кстати, сходный механизм можно реализовать и с djvu с текстовым слоем.