Работа с файлом PDF из 1С

22.01.18

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Чтение текста из PDF, разделение на страницы многостраничного файла PDF и выгрузка данных PDF файла.

Всем привет!!! Как-то мне поступило задание прикреплять PDF файлы к документам в 1С, при том что было много документов и один многостраничный PDF файл, который необходимо было разделять на странички и каждая страница соответствовала определенному документу. Естественно мне хотелось автоматизировать полностью весь процесс, чтобы 1с сама разделяла файл PDF на листы, прочитывала каждый лист и сопоставляла его с документом. Я нашла решение и прикрепляю программы, которые мне в этом помогли:)

Программа Pdftk server позволила мне узнать сколько страниц есть в файле PDF:

ИмяИсходногоФайла = _ВыборКаталога; //ПУТЬ К НАШЕМУ МНОГОСТРАНИЧНОМУ ФАЙЛУ PDF
Скрипт = Новый COMОбъект("WScript.Shell");
ИмяКаталогаУтилит = """C:\Program Files (x86)\PDFtk Server\bin\";
КаталогОбмена = "F:\Test\"; //ПУТЬ, ГДЕ СОХРАНИМ ФАЙЛ С ДАННЫМИ О PDF ФАЙЛЕ
		
ИмяФайлаРезультатаInfPDF = КаталогОбмена + "InfPDF.txt";
ТекстКомандыInfPDF = ИмяКаталогаУтилит + "pdftk.exe"" " + ИмяИсходногоФайла + " dump_data output " + """" + ИмяФайлаРезультатаInfPDF + """";
Скрипт.Run(ТекстКомандыInfPDF,0,1);
ФайлАнализа1 = Новый Файл(ИмяФайлаРезультатаInfPDF);
ФайлАнализа1.УстановитьВремяИзменения(ТекущаяДата());
ОбъектInfPDF = Новый ИзвлечениеТекста(ИмяФайлаРезультатаInfPDF);
ТекстInfPDF = ОбъектInfPDF.ПолучитьТекст();
		
Инд = 1;
стр = "";
КоличествоСтраниц = 0;
Пока стр <> "NumberOfPages: " Цикл
   НайтиСтроку = СтрПолучитьСтроку(ТекстInfPDF,Инд);
   Если Лев(НайтиСтроку,13) = "NumberOfPages" Тогда
      RegExp = Новый COMОбъект("VBScript.RegExp");
      RegExp.IgnoreCase = Истина; //Игнорировать регистр 
      RegExp.Global = Истина; //Поиск всех вхождений шаблона 
      RegExp.Pattern = "[^0-9]"; // отбор только чисел
      КоличествоСтраниц = Число(RegExp.Replace(НайтиСтроку, ""));
      Прервать;
   Иначе
      Инд = Инд + 1;
   КонецЕсли;
КонецЦикла;
//В ИТОГЕ МЫ НАШЛИ СТРОКУ ГДЕ ОБОЗНАЧЕНО КОЛИЧЕСТВО СТРАНИЦ, ТАКЖЕ МОЖНО ДОСТАТЬ ДРУГИЕ ДАННЫЕ

Далее программа Pdftk server при помощи команды "cat + "номер страницы"  + output" разбила мне файл PDF по страницам в цикле:

Страница = 1;
Пока Страница <= КоличествоСтраниц Цикл
	ИмяСводногоФайла = "page-" + (Формат(Страница, "ЧЦ=3; ЧВН=")) + ".pdf";        
	ИмяФайлаРезультата = КаталогОбмена + ИмяСводногоФайла;
	ТекстКоманды = ИмяКаталогаУтилит + "pdftk.exe"" " + ИмяИсходногоФайла + " cat " + Страница + " output " + """" + ИмяФайлаРезультата + """";
	Скрипт.Run(ТекстКоманды,0,1);
	ФайлАнализа = Новый Файл(ИмяФайлаРезультата);
	ФайлАнализа.УстановитьВремяИзменения(ТекущаяДата());
	Страница = Страница + 1;
КонецЦикла;

В итоге у меня в папке есть много файлов PDF по одной страничке, теперь мне необходимо прочитать каждый файл при помощи программы PDF2TXT:

Файлы = НайтиФайлы(КаталогОбмена,"*.pdf");
ПутьКPDF2TXT = "C:\Program Files (x86)\PDF2TXT"; 
Для каждого элемент из Файлы Цикл
	ПутьPDF = Элемент.ПолноеИмя;
	pdf = ПутьPDF;
	txt = СтрЗаменить(pdf,"pdf","txt");
	Команд = ПутьКPDF2TXT+"\pdf2txt.exe " + pdf + " " + txt; 
	ЗапуститьПриложение(Команд,,Истина);
	ОбъектТ = Новый ИзвлечениеТекста(txt);
	ТекстФ = ОбъектТ.ПолучитьТекст();
//////ДАЛЬШЕ МОЖЕТЕ ДЕЛАТЬ С ТЕКСТОМ ЧТО ХОТИТЕ, СРАВНИВАЙТЕ, ИЩИТЕ КАКУЮ-ТО ИНФОРМАЦИЮ//////

КонецЦикла;

 

Вот ссылки на программы: 

Pdftk Server

PDF2TXT (на 30 дней)

Решила дополнить статью, так как наша программа PDF2TXT бесплатна всего 30 дней, пришлось искать другой способ преобразования pdf в txt. Так вот, я нашла приложение pdftotext, вот как она работает в 1с:

НашФайл = ("F:\File.pdf");
ПутьКPDFtoTEXT = "F:\"; //например наш pdftotext лежит на диске F
pdf = НашФайл;
txt = СтрЗаменить(pdf,"pdf","txt");
Команд = ПутьКPDFtoTEXT +"pdftotext.exe " + "-enc UTF-8 " + pdf + " " + txt; 
ЗапуститьПриложение(Команд,,Истина);			

Мы создали текстовый файл в кодировке UTF-8, теперь его нужно прочитать:

ФайлЧтение  = Новый ЧтениеТекста(txt,КодировкаТекста.UTF8);    
ТекстФ = ФайлЧтение.Прочитать();
ФайлЧтение.Закрыть();

Вот где я скачала программу-помощницу:

Инструменты XPDF  (по ссылке скачать инструменты xpdf, в архиве найдете pdftotext,  остальные файлы не нужны)

Надеюсь, моя работа поможет многим!)

чтение текста из PDF разделение на страницы

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134938    723    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68418    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 34760 руб.

03.12.2020    34169    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46301    196    64    

158

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9208    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    20252    132    38    

90

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 45650 руб.

10.07.2018    67445    41    122    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150727    367    375    

501
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cool.vlad4 2 07.01.18 04:47 Сейчас в теме
делал свою компоненту Native на C++ пару лет назад, все никак руки доделать не дойдут ибо сейчас это не актуально, то что нашел, прикрепил. умеет сохранять страницы в текст(правда там поленился убрать вывод информации по шрифтам и прочему), в png, количество страница...но основная цель была сохранение в png
Прикрепленные файлы:
ЗаписатьPDFToPNG.epf
7OH; ksnik; Паланик; andrey314; akR00b; Stalnoff; Zarikus26; tyasytova; sharonovev; AllexSoft; kraynev-navi; DrAku1a; Margo462; +13 Ответить
2. cool.vlad4 2 07.01.18 04:49 Сейчас в теме
(1)
м и прочему), в png, количество страница...но осн
если найду, выложу еще компоненту делал, которая наоборот собирает из изображений pdf
Zarikus26; DarkAn; kraynev-navi; +3 Ответить
16. kraynev-navi 647 09.01.18 15:19 Сейчас в теме
(2) Иногда вот так сталкиваешься, часами ищешь решение как ТС. Крутишь ghost, sumatra (https://www.sumatrapdfreader.org/docs/Command-line-arguments.html - кстати, бесплатная тулза), пробуешь на своих данных и мощностях и думаешь, блин, ну умел бы писать нативные компоненты, написал бы уже изящно и работало бы всегда.
Спасибо за труд! (утащил к себе в нору)
3. Margo462 478 07.01.18 15:33 Сейчас в теме
(1) обязательно пригодиться, спасибо)
25. 🅵🅾️🆇 522 12.01.18 11:11 Сейчас в теме
(0) (1) Можно воспользоваться tesseract ocr (смотрите на github'е)
Там крайне много возможностей, в том числе можно получать не только сырой текст, но и положение онного на странице.

Ставиться не сложно, на лине так вообще одной строкой в терминале.
Под винду уже есть собраные версии.
28. cool.vlad4 2 12.01.18 14:20 Сейчас в теме
(25) ага, и качество распознавания ниже плинтуса, пробовал я его, тут речь идет об извлечении текста, который не нужно распознавать, он и так текст
41. sharonovev 18.06.18 10:52 Сейчас в теме
(1)Наше то,. что долго искал.

Есть вопрос - попробовал использовать закомментированный кусок кода:

ДвДанные = Конвертер.ПолучитьДанныеИзображения();

Платформа благополучно отъезжает.

На сохранении файла - работает корректно все.

Этот метод работает?

(1)
49. andrey314 14 14.01.22 18:28 Сейчас в теме
(1)Спасибо. А исходниками не компоненты не поделитесь?
56. Паланик 8 22.09.22 12:51 Сейчас в теме
По
(1) Дружище, спасибо за обработку!!! Сильно выручил!
4. DarkAn 1079 09.01.18 10:03 Сейчас в теме
Я в свое время тоже разбирался с разбиением ПДФов. Мне понравилась программа GostScript, в ней разбиение многостраничного файла делается одной командой: вот строка из bat-файла

call "C:\Program Files\gs\gs9.20\bin\gswin64.exe" -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r100 -sPAPERSIZE=a4 -sOutputFile="Z:\!\doc-%03d.png" "Z:\!\1234.pdf"

Здесь:
"Z:\!\1234.pdf" - путь к многостраничному фалу
-sOutputFile="Z:\!\doc-%03d.png" - параметр говорит о создании файлов по маске (1 страница - 1 файл): doc-001.png, doc-002.png, doc-003.png, ...

В свое время остановился, на попытке понять как обработать не 1, 2, 3 многостраничный файлов, а 100+ (так до конца и не разобрался с параметрами). Может время придет - вернусь к работе
5. DarkAn 1079 09.01.18 10:06 Сейчас в теме
6. DrAku1a 1679 09.01.18 10:44 Сейчас в теме
Без компонент, на двоичных данных бы... За такое и 10 $m не жалко будет!
Где-то на ИС встречал в комментариях "Количество страниц в PDF-файле".
7. Margo462 478 09.01.18 11:28 Сейчас в теме
(6) интересно...хотелось бы, а то этот конвертер PDF2TXT на 30 дней, еще ключи искать, бесплатную прогу найти пока не смогла
27. 🅵🅾️🆇 522 12.01.18 11:13 Сейчас в теме
(7) Можно воспользоваться tesseract ocr (смотрите на github'е)
Там крайне много возможностей, в том числе можно получать не только сырой текст, но и положение онного на странице.

Ставиться не сложно, на лине так вообще одной строкой в терминале.
Под винду уже есть собраные версии.

UPD:
Если вопрос стоит как "искать ключи", то очивидный FineReader очивиден, дальше торрентов искать не придеться ;-)

Также практически на 100% уверен, что у гугла есть подобный вебсервис, там вроде хотели денюжек, но крайне мало и возможно есть "триал".
29. Margo462 478 13.01.18 19:58 Сейчас в теме
(27) посмотрите я дополнила статью, нашла бесплатное приложение pdftotext, работает тоже из командной строки :)
32. 🅵🅾️🆇 522 15.01.18 10:21 Сейчас в теме
(29) Это не спортивно :3
Я прохлопал ушами, что у вас изначально PDF содержащий сырой текст:
https://habrahabr.ru/post/69568/

Для ковыряния двоичных данных под окнами лучше использовать бесплатный HxD
9. DarkAn 1079 09.01.18 14:18 Сейчас в теме
(6) (7) Из личного: для решения описанной задачи (0) мы сначала воспользовались программой ABBYY Scan Station (ABBYY - по запросу спокойно предоставляет 30-дневный ключ, спокойно предоставили продление еще на 1 месяц, для тестов), после чего мы сделали приобретение, т.к. софтина ОЧЕНЬ проста в настройке и хорошо выполняет обозначенную задачу (но без распознавания).

Единственный ее недостаток и весьма значительный - это не возможность ее запустить с командной строки - то есть нет запуска по расписанию.
Но из плюсов я бы назвал цену 2-3 года назад она составляла 24 000 руб. или 10 часов франча (на тот момент).

Так мы поигрались наверное с год, пока мне не надоело запускать каждый день данную сфотину и мы приобрели ее расширенную версию - ABBYY Recognation Server. В данной софтине настроек и возможностей поболее - работает на УРА уже 1,5 года. Есть еще распознавание и индексирование - последнее требует работу оператора (при приобретении удалось зачесть стоимость ранее приобретенной ABBYY Scan Station).

По ценам уже значительно дороже и цена зависит от количества распознанных страниц в месяц. На сегодня у нас 50к страниц и этого пока хватает (1 числа каждого месяца счетчик сбрасывается).
Цены опять же в открытых источниках не найти, но я их так же приведу для понимания: Сама программа + лицензия на 15к страниц - 215 000 руб, апгрейд с 15к до 50к страниц- 170к руб, апгрейд с 15к до 100к страниц - 247к руб (цены на июль 2016)

Стоимость разовая и в дальнейшем доплат не требует.

Это не реклама, просто показал, что решили использовать у нас в организации. Иногда может быть значительно эффективнее купить готовый продукт, чем писать свое с нуля. С нуля для разработчика хорошо - ты учишься работать с "новым", но работодатель не всегда может быть заинтересован оплачивать таким образом твое обучение, если стоит вопрос в сроках и качестве (ведь сколько еще времени уйдет на отладку "подводных камней").

P.S.
Кстати в 1С Документооборот используют так же сторонние библиотеки, тот же самый GostScript указанный в (4) для "распиливания" файлов, а для распознавания другую не помню как называется. От туда можно было бы глянуть как они это делают, но пока у меня нет на это времени да и описаный выше софт решает поставленную задачу.
10. Margo462 478 09.01.18 14:36 Сейчас в теме
(9) за 215 тр я сама буду эти файлы распознавать :-D слишком дорого))
11. DarkAn 1079 09.01.18 14:45 Сейчас в теме
(10) ну я же в конце дал наводку, где посмотреть, как делают в 1С :)
12. Margo462 478 09.01.18 14:49 Сейчас в теме
13. DarkAn 1079 09.01.18 14:53 Сейчас в теме
(10) Кроме того вопрос цены, это не вопрос разработчика - не его это зона ответственности. А финансового директора или Гл. буха. Придете к ним и спросите: поставленную задачу можно решить как минимум 2мя путями. Первый вот счет на 215к и запустим через 3-5 дней. Второй писать самим, но так как мы с этими библиотеками еще не работали (опыта нет) то для полной автоматизации может потребоваться гораздо больше времени и разработчик будет занят и еще по ходу дела ошибки будем отлаживать :) Вот они пусть и принимают решение о том дорого это или нет, но ни как не разработчик :)
14. Margo462 478 09.01.18 15:03 Сейчас в теме
(13) я думаю что даже если бы прога 1 тр стоила, то все равно пришлось бы искать бесплатный способ)
15. DarkAn 1079 09.01.18 15:13 Сейчас в теме
(14) Еще раз повторюсь, стоимость это не вопрос разработчика.

(14)
я думаю
- это подтверждает. Решается приближенно достаточно просто. Возьмите свою часовую ставку помножте ее на предполагаемое время разработки и изучения, потом помножте еще раз на 2 и сравните со стоимость программы. Это приблизительно :)
lokli; klinval; pfilyk; +3 1 Ответить
17. Margo462 478 09.01.18 15:24 Сейчас в теме
(15) то, что мне нужно было готового такого нет, я скоро опубликую обработку где я это применила, по мне так проще программу PDF2TXT оплатить, там вроде 2 тр она стоит и обновления в течение года))
18. DarkAn 1079 09.01.18 15:34 Сейчас в теме
(17)
что мне нужно было готового такого нет
Ну Вы же не описали, что Вам нужно. А то что описано, я привел альтернативы и их значительно больше и по разной цене. Все зависит от Вашей занятости :)

Но мы уже отходим от темы. Появится Ваша разработка посмотрим, насколько она "уникальна". Даже самому интересно, так как механизм прикрепления файлов к объектам базы 1С сам реализовывал. Но у Вас возможно другая разработка, но интересные идеи и направления можно найти.
21. Margo462 478 09.01.18 16:28 Сейчас в теме
(18) https://infostart.ru/public/724762/ вот, ну это я сама такое придумала как к выпискам pdf подцеплять, может у кого-то будут другие мысли как это осуществить))))
22. DarkAn 1079 09.01.18 16:38 Сейчас в теме
(21)
думала как к выпискам pdf

Спасибо!
23. Margo462 478 09.01.18 17:05 Сейчас в теме
(22) убрала с публикации, как исправлю на временный каталог тогда опубликую)
57. kat__ 13.12.22 18:26 Сейчас в теме
(23) добрый день!
а не доделали обработку? очень надо такое
30. Margo462 478 13.01.18 19:59 Сейчас в теме
(18) посмотрите я дополнила статью, нашла бесплатное приложение pdftotext, работает тоже из командной строки :)
26. 🅵🅾️🆇 522 12.01.18 11:12 Сейчас в теме
(6) Предположу, что там использовался некий маркер в ДД PDF файла.
Если онный существует, то крайне просто нагуглить, а сделать еще проще.

UPD:
Попробуйте взять бесплатный HxD и поковырять различные PDF файлы, как с текстом, так состоящие из картинок.

UPD 2:
(0) Глянул сам, прям на вскидку как определить количество страниц:
Подключаете файл как поток двоичных данных на чтение, считаете количество повторений ("/Type/Page")
Попробуйте глянуть HxD ручками, все станет понятно.
Но вероятнее всего есть способ еще проще, в PDF файле может содержаться некий маркер который заранее "знает" количество страниц.
8. Dzenn 870 09.01.18 11:49 Сейчас в теме
Согласен, pdftk хорошая, годная компонента
19. comptr 30 09.01.18 15:54 Сейчас в теме
А зачем сначала перегонять PDF в ДвоичныеДанные, а потом их сохранять как PDF? Я про первые 4 строки кода.
20. Margo462 478 09.01.18 16:22 Сейчас в теме
(19) да это наверное уже лишнее, раньше ошибка была, потом не убирала просто, щас уберу)
24. Lewkis 10.01.18 07:52 Сейчас в теме
Всем добрый день. Хочу тоже поделиться своими наработками в этой области. Делал для своих нужд скрипт на Python для извлечения текста из PDF.

Если интересно, вот ссылка https://github.com/yoyuyoppe/Converter-PDF.git.

Зависимости: должен стоять python 3.x и библиотека для разбора pdf (pip install pdfminer3k)

Приложил пример запуска скрипта из 1С.
Прикрепленные файлы:
ksnik; akR00b; chinkovs; Идальго; kote; AllexSoft; sashocq; Dementor; DrAku1a; Snark13; DarkAn; Margo462; +12 Ответить
31. Margo462 478 13.01.18 19:59 Сейчас в теме
(24) посмотрите я дополнила статью, нашла бесплатное приложение pdftotext, работает тоже из командной строки :)
50. Dorn2007 28.01.22 14:35 Сейчас в теме
(31) добрый день пробую такой код
ПутьКPDF2TXT = "D:\";
	ПутьPDF = ИмяФайла;
	pdf = ПутьPDF;
	txt = СтрЗаменить(pdf," ","");
	Команд = ПутьКPDF2TXT + "\pdftotext.exe " + "-enc UTF-8 " + pdf + " " + txt;
	ЗапуститьПриложение(Команд, , Истина);
	ОбъектТ = Новый ИзвлечениеТекста(txt);
	ТекстФ = ОбъектТ.ПолучитьТекст();	

выдает ошибку
Ошибка извлечения текста из файла
{ВнешняяОбработка.ЗагрузкаСчетов.Форма.Форма.Форма(130)}: ТекстФ = ОбъектТ.ПолучитьТекст();
{ВнешняяОбработка.ЗагрузкаСчетов.Форма.Форма.Форма(118)}: ПреобразоватьФайл(ИмяФайла);

по причине:
Ошибка извлечения текста из файла
что не так?
33. spezc 782 16.01.18 10:06 Сейчас в теме
Хорошая статья, держи звезду.
34. spezc 782 16.01.18 10:08 Сейчас в теме
По горячим следам задам вопрос, кто знает как из 1С вставить картинку в PDF? У меня есть скан документа в PDF, у меня есть *.png/*.gif с макетом печати. Мне нужно получить PDF, в котором будет этот шаблон печати будет добавлен на первую (на все) страницу оригинального PDF?
35. altu71 19.01.18 08:52 Сейчас в теме
Можно упростить процесс, если использовать iFilter для PDF, например отсюда ADOBE. Тогда текст можно получить сразу из PDF файла объектом "ИзвлечениеТекста"
утюгчеловек; +1 Ответить
36. Margo462 478 19.01.18 09:21 Сейчас в теме
(35) пробовала, не получается, у нас adobe reader ограниченная версия, может поэтому...
37. altu71 19.01.18 10:07 Сейчас в теме
Ссылка, которую я вставил, на бесплатный официальный установочный файл от adobe. Достаточно его одного, можно acrobat вообще не ставить
38. Margo462 478 19.01.18 10:56 Сейчас в теме
(37) спасибо, как нибудь попробую, может получится в этот раз
39. eugenevk 205 29.03.18 17:11 Сейчас в теме
Хорошо описан pdftk server. Правда не учтено, что программа совершенно не переваривает русские буквы в каталогах и именах файлов. Когда-то давно с этим сталкивался. Проверил, все по-прежнему. Не хотят зарубежные разработчики поддерживать utf(

Вынес в отдельную обработку обход проблемы с русскими буквами, а также встроил портированный exe, чтобы не устанавливать:
Прикрепленные файлы:
СборкаРазборкаPDF.epf
AlexS2; OStepanych; kubatay; Shamil Kulahmetov; Margo462; +5 Ответить
40. plus_sign 4 10.06.18 11:18 Сейчас в теме
(39)Большое спасибо за способ обхода проблемы с русскими буквами. Пригодилось в работе.
Часть команд pdftk без проблем глотают русские буквы в любом количестве. А вот команды dump_data* и правда не воспринимают русские буквы в имени выходного файла.
42. kras01 09.10.18 14:10 Сейчас в теме
Если надо кому,переделал обработку из поста 1 под управляемые формы
Прикрепленные файлы:
СборкаРазборкаPDF.epf
rybakovaN; OStepanych; alevnev; +3 Ответить
43. ReDvAlL 04.09.19 12:12 Сейчас в теме
Далее программа Pdftk server при помощи команды "cat + "номер страницы" + output" разбила мне файл PDF по страницам в цикле:

Как вариант (даже наверное предпочтительнее) использовать следующую команду:
pdftk.exe ВашИсходныйФайлPDFКоторыйНадоРазбитьНаСтраницы.pdf burst

На выходе получим столько файлов PDF, сколько было страниц в исходном файле + doc_data.txt с той же технической информацией об исходном PDF, что нам возвращает dump_data. Имена у файлов будут pg_0001, pg_0002, pg_0003 и т.д.

Небольшой кусочек справки о команде burst с сайта pdflabs:
Splits a single input PDF document into individual pages. Also creates a report named doc_data.txt which is the same as the output from dump_data. If the output section is omitted, then PDF pages arenamed: pg_%04d.pdf, e.g.: pg_0001.pdf, pg_0002.pdf, etc. To name these pages yourself, supply a printf-styled format string in the output section. For example, if you want pages named: page_01.pdf, page_02.pdf, etc.,pass output page_%02d.pdf to pdftk.

P.S. За статью большое спасибо!
45. sp18s 17.09.20 16:44 Сейчас в теме
Здравствуйте! Задача следующая.
Есть несколько pdf файлов. Там изображения.
Необходимо получить новый pdf файл на 1 страницу с размещением в нём этих изображений в произвольном виде. Например, первый файл - слева, второй - справа сверху, третий - справа снизу.
Еще должен быть добавлен разный текст. Например, артикул, серия, модель товара и т.д.
Кроме того, результирующий файл должен быть в векторном виде. Для качественной печати.
Как пример такого - инструкция по сборке товара, собранная на основании нескольких pdf файлов.
Такое возможно сделать с Вашей компонентой?
46. Margo462 478 03.10.20 00:16 Сейчас в теме
47. Detache 13.08.21 10:46 Сейчас в теме
Добрый день! Задача определить максимальное разрешение картинок в dpi, чтобы принять решение о необходимости сжатия файла pdf. В растровом PDF есть параметр разрешения в dpi. Adobe также может определять размеры картинок в dpi https://yadi.sk/i/qZg0jjiIiXF8qg

Знаете какие инструменты для этого можно использовать для запуска из командной строки?
48. Detache 13.08.21 12:49 Сейчас в теме
(47) Нашел нужные утилиты pdfinfo и pdfimages в составе xpdf tools
52. user1741384 09.02.22 17:22 Сейчас в теме
Есть файл с пдф, выписка из банка на 800+ страниц, кто может перевести в 1С формат?
Отблагодарю, пишите на почту
(48)
51. user1741384 09.02.22 17:20 Сейчас в теме
Есть файл с пдф, выписка из банка на 800+ страниц, кто может перевести в 1С формат?
Отблагодарю, пишите на почту gruppdizel@yandex.ru
53. ipoloskov 162 11.05.22 12:35 Сейчас в теме
ДокументPDF (PDFDocument)
Доступен, начиная с версии 8.3.21.
Свойства:
Вложения (Attachments)
ТипФайла (FileType)
Методы:
ДобавитьОтображаемыйОбъект (AddRepresentationObject)
ДобавитьОтображаемыйОбъектАсинх (AddRepresentationObjectAsync)
ДобавитьПодпись (AddSignature)
ДобавитьПодписьАсинх (AddSignatureAsync)
Записать (Write)
ЗаписатьАсинх (WriteAsync)
КоличествоСтраниц (PageCount)
Напечатать (Print)
ПолучитьОписанияПодписей (GetSignatureDescriptions)
ПолучитьОписанияПодписейАсинх (GetSignatureDescriptionsAsync)
ПроверитьПодписи (VerifySignatures)
ПроверитьПодписиАсинх (VerifySignaturesAsync)
ПроверитьПодпись (VerifySignature)
ПроверитьПодписьАсинх (VerifySignatureAsync)
Прочитать (Read)
ПрочитатьАсинх (ReadAsync)
Конструкторы:
По умолчанию
Описание:
Предназначен для работы с PDF-документом.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.21.
54. user1234601 11.05.22 18:44 Сейчас в теме
Добрый день! Подскажите пожалуйста, как в 1с можно определить, что pdf файл защищен паролем?
55. silverr 15 20.05.22 12:30 Сейчас в теме
Всем доброго времени суток!
Появилась и у меня такая задача преобразования PDF-файла. От себя добавлю, оператор "-layout" для PDFTOTEXT делает таблицу документа более читаемой. Нашел еще информацию по данной проблеме: "Как извлечь данные таблицы из PDF как CSV из командной строки?". В ней есть упоминание о загадочном операторе "-bbox", описание в мануале отсутствует, пример использования мне не совсем понятен.
Может топспикер поделится опытом из своей практики работы с PDFTOTEXT.
58. vlch 24.01.23 10:13 Сейчас в теме
(55)
Из состава Ubuntu

pdftotext version 22.02.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Usage: pdftotext [options] <PDF-file> [<text-file>]
-f <int> : first page to convert
-l <int> : last page to convert
-r <fp> : resolution, in DPI (default is 72)
-x <int> : x-coordinate of the crop area top left corner
-y <int> : y-coordinate of the crop area top left corner
-W <int> : width of crop area in pixels (default is 0)
-H <int> : height of crop area in pixels (default is 0)
-layout : maintain original physical layout
-fixed <fp> : assume fixed-pitch (or tabular) text
-raw : keep strings in content stream order
-nodiag : discard diagonal text
-htmlmeta : generate a simple HTML file, including the meta information
-enc <string> : output text encoding name
-listenc : list available encodings
-eol <string> : output end-of-line convention (unix, dos, or mac)
-nopgbrk : don't insert page breaks between pages
-bbox : output bounding box for each word and page size to html. Sets -htmlmeta
-bbox-layout : like -bbox but with extra layout bounding box data. Sets -htmlmeta
-cropbox : use the crop box rather than media box
-colspacing <fp> : how much spacing we allow after a word before considering adjacent text to be a new column, as a fraction of the font size (default is 0.7, old releases had a 0.3 default)
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-q : don't print any messages or errors
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information
Оставьте свое сообщение