Конвертор из PDF

25.01.23

Разработка - Разработка внешних компонент

Native компонента для рендеринга PDF в картинки, и (или) извлечения текста из PDF файлов.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конвертор из PDF:
.zip 8,99Mb ver:1
50
50 Скачать (2 SM) Купить за 2 150 руб.

Предлагаю вашему вниманию Native компоненту для 1С 8.3 для преобразования документа PDF.

Написана на С++ и статически скомпонована  с библиотекой pdfium.  

Данная компонента не требует регистрации. как com. Достаточно сохранить ее на диск из макета. И подключить средствами 1С.

Функции данной компоненты.

1. 

Результат = Компонента.ЗагрузитьPDF(ПутьКФайлу);

Это первое что нужно вызвать.

Возвращаемое значение. Истина если успешно прочитан файл, Ложь  если прочитать не удалось.

2.

КоличествоСтраниц = Компонента.КоличествоСтраницВДокументе;

Получает количество страниц в документе PDF. 

3.

Для х = 0 по КоличествоСтраниц -1 Цикл
	ДвоичныеДанные = Компонента.ПолучитьСтраницу(х);

Получает изображение страницы в формате BMP в виде двоичных данных, далее их можно или сохранить или вставить в макет в виде картинки.

4.

 Текст = Компонента.ПолучитьТекстСтраницы(х);

Получает текст страницы, если страница в PDF имеет в своем составе текстовые блоки

 

Это основные функции, для которых я делал данную компоненту.

Также есть еще функция сохранения страницы в файл.

Компонента.СохранитьКартинку(Номерстраницы,ПолныйПутьКФайлу);

И также можно загрузить изображение( получить двоичные данные)

ДвДанные = Компонента.ЗагрузитьКартинку(ПолныйПутьКФайлу);

 

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

Ниже как можно вставить изображение в Табличный Документ.

ТабДок = Новый ТабличныйДокумент;
	Если Результат Тогда
		КоличествоСтраниц = Компонента.КоличествоСтраницВДокументе;
		Для х = 0 по КоличествоСтраниц -1 Цикл
			ДвоичныеДанные = Компонента.ПолучитьСтраницу(х);
			Если ДвоичныеДанные <> Неопределено Тогда
				ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
				Область = Макет.ПолучитьОбласть("Изображение");
				Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
				Рисунок.Высота = 297;
				Рисунок.Ширина = 210;
				Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
				Рисунок.ГраницаСверху = Истина;
				Рисунок.ГраницаСнизу = Истина;
				Рисунок.ГраницаСправа = Истина;
				Рисунок.ГраницаСлева = Истина;
				
				Рисунок.Картинка = Новый Картинка(ДвоичныеДанные);
			
				ТабДок.Вывести(Область);
			КонецЕсли;
		
		КонецЦикла;

Также в архиве есть обработка с примером работы с этой компонентой

 

 

Компонента есть под win64 и Win86

Тестировалась на платформе 8.3.22. Работать должно в любых конфигурациях, главное, чтобы платформа поддерживала работу с Native компонентами (все что выше 8.3, должно работать).

native pdf конвертер картинки из текст

См. также

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    37321    116    128    

117

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    78013    73    280    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    29375    139    100    

92

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47847    125    66    

68

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2889    bayselonarrend    14    

50

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5712    kovalevdmv    26    

78

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1382    3    4    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. info1i 239 25.01.23 23:55 Сейчас в теме
Только для операционной системы Windows?
5. bmk74 243 26.01.23 15:28 Сейчас в теме
(1)Да там написано что только для windows.
2. rusmil 263 26.01.23 06:55 Сейчас в теме
Подскажите, а когда сохраняется текст из PDF, сохраняется ли порядок в текстовом файле таким же как выглядит текст в PDF файле? В какой кодировке извлекается текст?
4. bmk74 243 26.01.23 15:27 Сейчас в теме
(2)В PDF текст может располагаться блоками. Т.е. Половина слева, половина справа...например... Вот в какой последовательности...он его извлечет сказать трудно но скорее всего правило будет сверху вниз и слева направо.
По поводу кодировки...Unicode text string from the page, это из описания извлечения текста..из библиотеки pfdium,судя по всему это UTF16, так как при передаче строки в 1С преобразовывать строку не пришлось. а 1С оперирует именно кодировкой UTF16 так же как и windows. Пробовал специально читать PDF с русскими символами...все корректно читает и показывает в 1С.
3. ixijixi 2005 26.01.23 08:32 Сейчас в теме
Наконец-то годнота на сайте!
6. silverr 13 27.01.23 10:19 Сейчас в теме
Доброго дня! А как насчет таблиц? Может-ли конвертор, или с помощью оного, преобразовать ПечФорму документа в XLS таблицу. Понимаю что напрямую это не получится. Мне пока не удавалось корректно это сделать на многостраничном документе, т.к. на 2-ой и последующих страницах колонки как правило немного смещены относительно шапки на первой странице. Может у кого-нибудь есть свой, более удачный опыт в данном направлении, поделитесь пожалуйста.
7. утюгчеловек 42 09.02.23 17:18 Сейчас в теме
Спасибо за вашу работу!

Планируется ли выложить код, чтобы можно было собрать самостоятельно?
8. bmk74 243 12.02.23 16:16 Сейчас в теме
(7) Добрый день. К сожалению исходники на С не планировал выкладывать... там код не причесан, а такой код не люблю показывать всем :)
17. утюгчеловек 42 13.11.24 17:29 Сейчас в теме
(8) О, обработка стала платной)
Я правильно понимаю что теперь по кнопке скачивания-таки положены исходники компоненты?

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. ...
9. FeliceYa 5 17.04.23 15:13 Сейчас в теме
Добрый день )
После преобразования в картинку штрихкод искажается до нечитаемости (
Даже визуально видно, что некоторые линии теряются (указано стрелками на скрине), и у некоторых линий меняется толщина.
Может добавить дополнительный параметр, например Масштаб, к методам Загрузки PDF или Получения/Сохранения страницы ?
Прикрепленные файлы:
10. bmk74 243 15.05.23 13:27 Сейчас в теме
(9)Вы когда получаете картинку из двоичных данных...то после этого стандартными средствами 1С можете узнать ее размер.
11. FeliceYa 5 18.05.23 14:48 Сейчас в теме
(10) Вы отвечаете на какой-то другой вопрос, который не был задан... В вопросе было:
После преобразования в картинку штрихкод искажается до нечитаемости (

Речь о DPI конвертации, который нужно передавать как параметр. А разработчик сможет уже самостоятельно подобрать требующееся для его задач значение.
12. Zixxx 04.06.23 12:10 Сейчас в теме
Есть двоичные данные pdf из потока. Как из них получить картинку? Есть такой метод у компоненты? Очень нужно
13. bmk74 243 09.06.23 12:53 Сейчас в теме
(12)Добрый день, если у вас двоичные данные именно PDF документа, то вы можете просто сохранить их на диск, и после прочитать их через компоненту
14. Zixxx 09.06.23 14:36 Сейчас в теме
(13) Это понятно. Но как раз дело в том, что такой возможности нет
15. user1890563 26.10.23 19:40 Сейчас в теме
Спасибо за доработку , очень пригодилась . Получилось открыть файлы PDF в одном табличном документе
16. test_031090 23.05.24 10:10 Сейчас в теме
Добрый день. А как быть, если не срабатывает метод ПолучитьТекстСтраницы, хотя текстовый слой на пдф присутствует и копируется стандартными средствами?
При этом количество страниц определяется верно, а также срабатывает метод ПолучитьСтраницу (картинку при этом не вытягивает все равно - черный фон)
18. zeltyr 715 10.12.24 21:53 Сейчас в теме
Спасибо за доработку - пригодилась. Однако есть просьба проверить один момент:
Похоже метод Компонента.СохранитьКартинку(Номерстраницы,ПолныйПутьКФайлу) всегда сохраняет только первую страницу. Можно это проверить или подробнее рассказать как пользоваться данным методом. Попытка передавать номера страниц с 0 или 1 ни к чему не привели.
Оставьте свое сообщение