Конвертация PDF в 1С

20.11.20

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

COM-компонента для работы с PDF (32/64 bit)

Скачать файл

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

Наименование По подписке [?] Купить один файл
Конвертация PDF в 1С (x86 + x64):
.7z 15,62Mb ver:1.5
210
210 Скачать (4 SM) Купить за 2 750 руб.

Предлагаю вашему вниманию удобный инструмент для работы с PDF форматом.

Несмотря на то, что на ИС существует множество подобных вещей, но для универсальности и простоты пришлось собрать собственный велосипед.

Это обыкновенная COM-компонента под Win, позволяющая преобразовывать PDF файлы в изображения (с отличным качеством), изображения в PDF, а также разбивать PDF на более мелкие файлы и склеивать файлы PDF в единый документ, извлекать текст из PDF, имеющих текстовые слои, вставлять на страницы PDF водяные знаки, логотипы, печати.

Есть поддержка x86 и x64 платформ.

В основе движка лежат две мощные библиотеки: iTextSharp 5 и PdfiumViewer .

Как пользоваться:

сначала просто проинсталлировать в систему пакет "SetupArrowPDF.msi" (выбираем что-то одно: из папки "x86" или из "x64") -> необходимые библиотеки скопируются в программные файлы, а компонента зарегистрируется автоматически.

далее инициализируем:

Конвертер = Новый COMОбъект("ArrowPDF.Converter");

можно сразу посмотреть версию:

Сообщить(Конвертер.Version());

[пока] есть <8> прикладных методов:

1) для сборки изображений в единый PDF файл:

 
 IMG2PDF()

2) для конвертации страниц PDF в изображения:

 
 PDF2IMG()

3) для дробления PDF:

 
 SplitPDF()

4) для слияния PDF:

 
 MergePDF()

5) для извлечения текста из PDF:

 
 GetText()

6) для вставки в PDF логотипов, водяных знаков, печатей и штампов:

 
 AddWatermark()

7) для сжатия PDF файлов:

 
 Compress()

8) для защиты PDF файлов от печати и изменений:

 
 Protect()

Почти все свойства данной компоненты, за исключением диапазонов или номеров страниц, можно не указывать принудительно, тогда они будут выставлены по умолчанию.

 

Горизонты использования компоненты не ограничены только 1с. Можете использовать её аналогично и в других ЯП.

Если будут пожелания на расширение функционала - высказывайтесь. Вместе сделаем мир лучше )


P.S. Просьба не сообщать, что можно сделать подобное через ghostscript или другие библиотеки или приложения. Перепробовал несколько разных инструментов - либо оч. сложно, либо не то качество или удобство.

 

Так как публикация вызвала интерес у сообщества, буду развивать функционал по мере появления новых идей и свободного времени.

Upd. 03.04.2020 - v.1.1

Доработка регистрации библиотеки типов. Исправление ошибки COM-взаимодействия из других ЯП.

Upd. 04.04.2020 - v.1.2

Добавлены методы GetText() и AddWatermark(). Свойство ImgPages заменено на PdfPages, которое может использоваться в нескольких методах.

Upd. 19.05.2020 - v.1.3

Добавлено сжатие PDF файлов - метод Compress().

Upd. 08.07.2020 - v.1.4

Добавлена возможность установки пароля на PDF документ - метод Protect().

Upd. 20.11.2020 - v.1.5

Добавлена 64-х разрядная версия компоненты.

 

PDF COM внешняя компонента конвертация x64

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    53810    9    69    

46

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

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

2400 руб.

04.05.2018    46963    123    66    

66

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

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

3000 руб.

12.05.2020    28391    138    100    

90

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

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

2400 руб.

25.06.2024    959    2    3    

2

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

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3469    2    0    

4

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

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    18224    18    33    

22

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

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

3600 руб.

02.09.2010    77352    72    257    

191

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

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

04.12.2024    3652    kovalevdmv    26    

66
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Legavaz 706 31.03.20 13:19 Сейчас в теме
2. DarkAn 1095 01.04.20 17:27 Сейчас в теме
Большое спасибо! Обязательно попробую!
3. Xershi 1558 02.04.20 08:17 Сейчас в теме
Я своему клиенту просто рекомендовал поменять логику в работе 1с, чем делать, то что умеет компонента.
Если нужно предложение, то это переписать на нейтив. У многих сервер на линукс.
akR00b; cleaner_it; +2 Ответить
5. SerVer1C 817 02.04.20 10:58 Сейчас в теме
(3) К сожалению, у многих клиенты на Венде. А компонента прекрасно будет там работать.
7. Xershi 1558 02.04.20 11:05 Сейчас в теме
(5) ну как говорится и так сойдет)
Но чтобы проф уровень поднять вам, то (3) и (4) маст хев!
Понятно, что это другой уровень разработки, но зато сразу показывает уровень разработчика.
Я кстати хотел писать ВК для андроида, чтобы он генерировал баркод. И обязательно на джаве.
Руки так и не дошли. А у вас как с этим?
Плюс 1С уже это реализовала. Поэтому только из академического интереса такое делать.
8. SerVer1C 817 02.04.20 11:12 Сейчас в теме
(7) Вы с какой целью интересуетесь моим уровнем разработчика? Писать кросс-платформенную библиотеку для работы с pdf - это уже далеко выходит за рамки данной статьи да и данной площадки в целом...
11. Xershi 1558 02.04.20 12:15 Сейчас в теме
(8) почему же выходит?
Вы просили задел, я его вам дал.
Или речь шла о копипасте простых операций?
Цель приобрести новые знания и опыт.
30. compreSSor 10 15.10.20 14:49 Сейчас в теме
(7)
Плюс 1С уже это реализовала.

а можно подробнее ?
31. Xershi 1558 15.10.20 15:33 Сейчас в теме
(30) в мобильной БСП есть компонента, тестируй.
84. Detache 10.08.21 15:23 Сейчас в теме
(31) Мобильная БСП - это 1С:Библиотека подключаемого оборудования для мобильных приложений или что-то другое. Можете подробно рассказать где найти такой функционал?
85. Xershi 1558 10.08.21 16:21 Сейчас в теме
(84) на сайте ИТС. Я писал в 2019 в 1С, но они до сих пор 3 версию не выпустили.
86. Detache 10.08.21 17:37 Сейчас в теме
(85) по каким ключевым словам искать на ИТС? Не нашел.
4. duck 367 02.04.20 10:23 Сейчас в теме
Работа компоненты будет зависеть от разрядности сервера х32 или х64?
6. SerVer1C 817 02.04.20 11:01 Сейчас в теме
(4) Компонента 32-х битная, но в 64-х битном окружении отлично работает. В т. ч. будет работать и на клиенте. Если очень необходимо (для каких-то гиговых pdf), то могу реализовать полностью под х64.
9. SerVer1C 817 02.04.20 11:49 Сейчас в теме
(4) Не так вам ответил. Если вы хотите использовать данный COM-объект в 64-х битном приложении, то вам придется сделать для компоненты обёртку, иначе не заработает "как есть".
10. Xershi 1558 02.04.20 12:13 Сейчас в теме
(9) именно поэтому я отказался от COM решений!
32. SerVer1C 817 20.11.20 01:11 Сейчас в теме
(4) с версии 1.5 появилась поддержка 32-х и 64-х разрядных платформ.
12. cleaner_it 209 04.04.20 09:48 Сейчас в теме
Я клиенту посоветовал (и сам пользовался в схожей ситуации) виртуальным принтером PDF. А вообще - плюс, конечно)
13. SerVer1C 817 04.04.20 14:26 Сейчас в теме
(12) Да, можно в некоторых кейсах. Только вот pdf-принтеры не умеют конвертировать в графический формат...
14. chuff 07.04.20 09:51 Сейчас в теме
(13) Я бы не утверждал так категорично. PDFCreator прекрасно конвертирует. Несколько лет пользуюсь им для автоматического конвертирования документов из 1С в JPG
15. SerVer1C 817 07.04.20 10:12 Сейчас в теме
(14) Прямо вот так просто через виртуальный принтер?
17. chuff 07.04.20 12:16 Сейчас в теме
(15)Не помню, какие там ещё есть плюшки - типа соединения/дробления - не нужно было. Может и нет больше ничего. Но вот выгрузка табличных документов в JPG/PDF работает. Мне, в принципе, этого было достаточно.
16. chuff 07.04.20 12:10 Сейчас в теме
Если он предварительно настроен на определенный формат - то да, просто так.
Но если если подключить его через COM, то можно ещё и предварительно настройки конвертирования задавать из кода.
Формат, качество преобразования.
18. kirlog 132 18.05.20 22:19 Сейчас в теме
Здравствуйте!
А сжатие PDF реализовать не планируете?
19. SerVer1C 817 19.05.20 13:26 Сейчас в теме
(18) Сделал. В версии 1.3
20. kirlog 132 23.05.20 03:43 Сейчас в теме
21. greencom 09.06.20 12:46 Сейчас в теме
// разрешающая способность
//Конвертер.ImgDpiX = 1200;
//Конвертер.ImgDpiY = 1200;

Данные методы работают и какие значения поддерживаются?
22. SerVer1C 817 10.06.20 00:48 Сейчас в теме
(21) Методы работают. Значения могут быть произвольными (на ваш вкус).
23. KVIKS 427 19.06.20 03:04 Сейчас в теме
Не подключается компонента, пишет класс не зарегистрирован
1С 8,3,16, х32
windows 7 х64
переустановка не помогла, подскажите что можно сделать?
24. SerVer1C 817 19.06.20 07:51 Сейчас в теме
(23) Запустите установку от имени Администратора
78. user1296085 04.08.21 16:01 Сейчас в теме
(24) Добрый день! Запустила установку от имени администратора, но все равно появляется ошибка:

Ошибка при вызове конструктора (COMОбъект)
Конвертер = Новый COMОбъект("ArrowPDF.Converter");
по причине:
-2147221164(0x80040154): Класс не зарегистрирован
79. user1296085 04.08.21 16:08 Сейчас в теме
(78) Ошибка решилась. Надо было установить версию x86.
25. vex2865 70 26.06.20 16:54 Сейчас в теме
Добрый вечер!
Win 10 x64
Запускал установку от имени админа

Ошибка

Конвертер = Новый COMОбъект("ArrowPDF.Converter");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Подскажите, в чем может быть проблема?
26. SerVer1C 817 27.06.20 23:21 Сейчас в теме
(25) 1С должна быть 32-х битная. Если у вас так и есть, то тогда требуется дополнительная информация.
27. vex2865 70 28.06.20 11:19 Сейчас в теме
(26)Понял. К сожалению 1с x64.
33. SerVer1C 817 20.11.20 01:12 Сейчас в теме
(27) с версии 1.5 появилась поддержка x64 !
28. sp18s 17.09.20 16:42 Сейчас в теме
Здравствуйте! Задача следующая.
Есть несколько pdf файлов. Там изображения.
Необходимо получить новый pdf файл на 1 страницу с размещением в нём этих изображений в произвольном виде. Например, первый файл - слева, второй - справа сверху, третий - справа снизу.
Еще должен быть добавлен разный текст. Например, артикул, серия, модель товара и т.д.
Кроме того, результирующий файл должен быть в векторном виде. Для качественной печати.
Как пример такого - инструкция по сборке товара, собранная на основании нескольких pdf файлов.
Такое возможно сделать с Вашей компонентой?
29. SerVer1C 817 17.09.20 21:36 Сейчас в теме
(28) Данная компонента является по большей части конвертером, чем созидателем pdf файлов. Вы конечно можете извлечь изображения и расставить их в новом файле, поигравшись отступами, но возможности добавления текста в ней отсутствуют, если только вы не подготовите изображения со штрих-кодами и текстами. (Конечно, исходные библиотеки движка компоненты позволяют сделать запросто добавление чего-либо в pdf файл, но тогда придется дорабатывать компоненту.) Но вот векторный pdf вы всё равно не создадите. Вам лучше смотреть в сторону Inkscape и им подобным.
34. CanAll1C 16.12.20 11:09 Сейчас в теме
Добрый день.

Конвертер = Новый COMОбъект("ArrowPDF.Converter");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

64 ОС (Windows 10 Pro) и 64 1С, версия компоненты самая крайняя. Скачивали 16.12.2020.
35. SerVer1C 817 16.12.20 11:22 Сейчас в теме
(34) в архиве 2 варианта компоненты, вы точно установили 64-bit ? Если вы поставили 32-bit, то сначала обязательно удалите ее через панель управления, т. к. обе версии одновременно не могут существовать
36. CanAll1C 16.12.20 11:26 Сейчас в теме
Да, именно 64.
Могу визуально продемонстрировать по средствам teamviewer, anydesk.
37. SerVer1C 817 16.12.20 11:32 Сейчас в теме
(36) Я вам верю. Это частая ошибка при использовании COM-компонент. Однозначного решения проблемы нет, т. к. могут влиять многие факторы (настройки в ОС). Попробуйте проверить работоспособность компоненты на "чистой" системе.
38. SerVer1C 817 16.12.20 11:39 Сейчас в теме
(36) Кстати, устанавливали msi-пакет от имени администратора?
39. CanAll1C 16.12.20 11:41 Сейчас в теме
Только что это выполнили, ошибка такая же. Будем пробовать решить.
41. boltoff 20 28.01.21 11:39 Сейчас в теме
Вопрос по методу "AddWatermark"
По описанию - нужно передавать 2 файла PDF - 1 - сам документ, 2 - печать. Получаем 3-ий файл документ с печатью.
Вопрос, как подготовить 2-ой файл (печать). По описанию этот файл должен быть PDF-ом. Но у меня ничего не получается. Можно подробнее описать этот метод?
42. SerVer1C 817 28.01.21 16:02 Сейчас в теме
(41) Можно поступить следующим образом: вам надо сначала создать изображение водяного знака на листе, соответствующего размеру исходного PDF. Например, у вас исходная книга формата А4, и есть некоторый водяной знак, например 100*100 пикселей. Вам необходимо создать новое изображение (например, в формате PNG), соответствующее размеру исходной книги, поместить в какой-либо угол ваш водяной знак. Затем получившийся файл преобразовать в PDF (с помощью метода IMG2PDF()) - это и будет PDF с водяным знаком. Затем передать данный файл в метод AddWatermark()
43. boltoff 20 02.02.21 20:14 Сейчас в теме
44. boltoff 20 10.02.21 16:16 Сейчас в теме
Видимо у меня руки не из того места растут.

Код ниже.
Исходник и результат прикрепил.
Что я делаю не так?

&НаСервере
Функция СоздатьPDFСВодянымЗнаком()
Конвертер = Новый COMОбъект("ArrowPDF.Converter");
// ширина и высота создаваемого PDF
// т.к. для PDF дефолтный DPI = 72, то лист формата A4 будет 595*842 пикселей
Конвертер.PdfWidth = 842;
Конвертер.PdfHeight = 595;

// отступы от краёв
Конвертер.PdfLeftMargin = 0;
Конвертер.PdfRightMargin = 0;
Конвертер.PdfTopMargin = 0;
Конвертер.PdfBottomMargin = 0;

// пути к изображениям
изо1 = "D:\1\ЛаншафтКВ.png";

// пути добавим в массив
Изображения = Новый Массив;
Изображения.Добавить(изо1);

// преобразуем массив в безопасный
Если Изображения.Количество() <> 0 Тогда
Файлы = Новый COMSafeArray(Изображения, "VT_BSTR");
КонецЕсли;

// путь к создаваемому PDF
НовыйПДФ = "D:\1\new.pdf";

Результат = Конвертер.IMG2PDF(Файлы, НовыйПДФ);

Если НЕ ПустаяСтрока(Результат) Тогда
Сообщить(Результат);
КонецЕсли;
КонецФункции
Прикрепленные файлы:
new.pdf
45. boltoff 20 10.02.21 16:19 Сейчас в теме
Предыдущий метод не сработал. Сделал в ручную PDF а4 с печатью.

Передаю исходный пдф, пдф с водяным знаком - в новом пдф получается исходный (без печати), но размер чуть больше исходного.



&НаСервере
Функция СоздатьPDFСВодянымЗнаком(ИсходныйПДФ, ВодянойЗнак, НовыйПДФ)
Конвертер = Новый COMОбъект("ArrowPDF.Converter");
Конвертер.PdfPages = "1,2";

Результат = Конвертер.AddWatermark(ИсходныйПДФ, ВодянойЗнак, НовыйПДФ);
Возврат Результат;
КонецФункции
46. SerVer1C 817 10.02.21 17:25 Сейчас в теме
(45)
Предыдущий метод не сработал.

PDF файл создался же. Проверяйте пути и доступность файлов для учётки, под которой выполняется алгоритм. Компонента работает, ваш код правильный.
47. Warn1ng26ru 7 26.02.21 09:54 Сейчас в теме
Спасибо. Подскажите, метод Compress() имеет возможности настройки? (или подскажите принцип сжатия, по которому он работает) Например: у меня файл pdf размером 10 МБ, используя метод Compress() он уменьшается на 5 КБ. Но если воспользоваться методом PDF2IMG() (поиграться с настройками), а потом воспользоваться методом IMG2PDF(), pdf можно сжать 2, 3, 4 раза (в зависимости от настроек качества изображений).
48. SerVer1C 817 26.02.21 10:35 Сейчас в теме
(47) Метод Compress() [в версии 1.5 и более ранних] не имеет возможности настройки. Для сжатия используется библиотека iTextSharp с уровнем сжатия PdfStream.BEST_COMPRESSION . Не все файлы после сжатия могут значительно уменьшиться в размерах. Сжатие ещё зависит от версии PDF формата. Точный механизм не исследовал, возможно, в определенных случаях происходит реорганизация внутренних данных без сжатия изображений. В будущем подумаю над тем, чтобы улучшить метод сжатия и сделать его вариативным.
Warn1ng26ru; +1 Ответить
49. evg81 33 23.03.21 12:23 Сейчас в теме
Спасибо за компоненту.

Есть вопросы про вставку водяного знака (штампа, логотипа и т.п.).

Как в AddWatermark() поместить водяной знак (штамп) слоем поверх исходного PDF ?

В PDF с текстовым слоем видно вставленный водяной знак (штамп), хотя и перекрывается текстом.
В многостраничном PDF со сканами (картинки без текстового слоя) он помещается под картинку исходного PDF и его невидно.
При этом поиском на фоне ищется текст из вставленного PDF, т.е. по факту он вставляется и обнаруживается поиском.

Попробовал поменять местами параметры в AddWatermark(). Это только подтвердило факт вставки в фон. В этом случае наоборот в водяной знак вставляется на фон исходный PDF, и получается так как надо, НО водяной знак это одностраничный PDF и конечно же все остальные страницы исходного документа не добавляются в итоговый документ. Этого в общем-то и не нужно. Просто тест.

Может быть есть возможность указывать какой из файлов будет вставлен в фон, а какой поверх?

Неудобно подгонять водяной знак под размеры страницы исходного PDF.

Можно как-то указать положение для вставляемого PDF, кроме как подгонять его размер страницы под размер исходного PDF?

Разные страницы в PDF могут иметь разные размеры и тут подгонка под размер страницы исходного PDF не поможет.
50. SerVer1C 817 23.03.21 13:27 Сейчас в теме
(49) Через AddWatermark не получится поместить водяной знак верхним слоем. Как обходной вариант, разбирать PDF на картинки, самому навешивать водяной знак и снова перегонять в PDF. Подумаю над этой возможностью и над указанием положения водяного знака для каждой страницы (такого функционала тоже нет).
51. evg81 33 23.03.21 14:33 Сейчас в теме
(50) спасибо за ответ и за идею. Удалось слоем сверху вставить штампы на все страницы через SplitPDF() исходного PDF во временный каталог, затем вставить во все файлы внутри каталога штамп AddWatemark() с перестановкой первых двух параметров местами и через MergePDF() собрать всё обратно в PDF.

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

Пока только подгонка под ответ, но заранее я не могу знать какие файлы придут за штампами.
52. SerVer1C 817 23.03.21 15:12 Сейчас в теме
(51) Постараюсь в ближайшее время добавить метод для получения информации о страницах PDF файла.
53. Stackmann 23.03.21 19:01 Сейчас в теме
(50) Доброго времени суток.
Подскажите, нет возможности передавать водяной знак не как путь к файлу на диске, а как бинарные данные?
54. SerVer1C 817 23.03.21 21:24 Сейчас в теме
(53) Нет. Компонента сама считывает файл из файловой системы. Пишите двоичный данные в файл и передавайте путь. У вас же в водяном знаке, надеюсь, не секретные данные )
55. akR00b 24 01.04.21 15:18 Сейчас в теме
А скорость разделения одного pdf на множество png не замеряли? примерно
56. SerVer1C 817 01.04.21 21:17 Сейчас в теме
(55) Если конвертировать в JPG исходный PDF (1000+ страниц, 100+ МБ), то получается примерно следующее: если размер картинки на выходе 1500х2000, то ~9 страниц/сек, если размер 3000х4000, то ~4,5 страниц/сек. Замер на NVMe проводился.
57. akR00b 24 02.04.21 08:14 Сейчас в теме
(56)очень круто! а на гит хабе нет случайно вашей компоненты? за рублики скачать можно?
58. SerVer1C 817 02.04.21 09:01 Сейчас в теме
59. пользователь 02.04.21 10:00
Сообщение было скрыто модератором.
...
60. user925364 18.05.21 18:17 Сейчас в теме
недопустимая строка с указанием класса. Где регистировать компоненту если база серверная?
61. SerVer1C 817 18.05.21 22:20 Сейчас в теме
(60) Зависит от того, на чьей стороне вы будете использовать компоненту.
62. user925364 18.05.21 22:46 Сейчас в теме
Я проверил локально на файловой базе точно эта же ошибка. и компоненту установил локально
63. user925364 20.05.21 14:20 Сейчас в теме
как мне заставить ее работать?? никаком образом не работает
65. SerVer1C 817 20.05.21 16:53 Сейчас в теме
(63) сложно предположить, что происходит в вашей операционной системе... удалите утилиту, затем заново проинсталлируйте с админскими правами, компонента должна зарегистрироваться автоматически.
64. user925364 20.05.21 14:21 Сейчас в теме
другие com обьекты например для обмена с бухгалтерией работают прекрасно
66. user925364 20.05.21 17:18 Сейчас в теме
я правильно понимаю что если база серверная, то нужно ставить ее на сервер? битность та же что и битность сервера? х64
67. SerVer1C 817 20.05.21 22:00 Сейчас в теме
(66) Если будете конвертировать &НаСервере, то да, компоненту нужно инсталлировать на сервере. Если &НаКлиенте, то на конкретном клиенте. Битность согласно месту исполнения (если сервер x64, то 64-х разрядную компоннету, битность компоненты на клиенте зависит от версии клиента 1с)
68. kaliuzhnyi 135 27.05.21 15:15 Сейчас в теме
Вещь хорошая. С задачами справляется.
Но как сделать чтобы метод Конвертер.PDF2IMG сохранял файл с указанным именем а не просто 1.jpg?
69. SerVer1C 817 27.05.21 15:30 Сейчас в теме
(68) Из компоненты никак. Она именует изображение по номеру страницы. Используйте: move 1.jpg another_name.jpg
70. kaliuzhnyi 135 27.05.21 15:39 Сейчас в теме
(69) Досадно.
Тогда можете записать в книгу пожеланий - возможность передавать в метод PDF2IMG, какой-то префикс, например:
- У меня есть файл с именем v8_639D_b.pdf
- Я запускаю метод PDF2IMG("С:\Temp\Images\v8_639D_b.pdf", "С:\Temp\Images", "v8_639D_b_")
- У меня формируются файлы v8_639D_b_1.jpg, v8_639D_b_2.jpg, v8_639D_b_3.jpg и т.д.

Как по мне реализация такого варианта вызова была бы очень удобной.
При таком подходе можно через 1с потом обойти и прочитать все файлы(картинки) и сделать с ними все что нужно и потом подчистить за собой.

Спасибо. А за конвертер плюсую.
71. SerVer1C 817 27.05.21 16:25 Сейчас в теме
72. FReIM 9 13.07.21 10:56 Сейчас в теме
А исходный код обработки есть?
Просто чтобы отделу информационной безопасности его предоставить.
Или хоть что-нибудь что сможет их убедить что это не бекдор.
73. SerVer1C 817 13.07.21 14:22 Сейчас в теме
(72) Движок компоненты без исходников. Как вы их убедили, что в 1с и windows нет бэкдоров ?
74. FReIM 9 13.07.21 16:47 Сейчас в теме
(73)
Никак. Но им нужна бумажка прикрыть свои задницы.
Это было бы смешно, если бы не было так грустно.
Тут еще одельная статья покупки через инфостарт чего-либо за деньги, наш юр отдел это будет полгода согласовывать в результате выдаст что договор нам не подходит и в последствии только через санкции директора купим. Как-то так и живем.
116. stepan_s 22.02.22 10:43 Сейчас в теме
(72)ну про исходники понятно, а вот порядок использования... Вот есть у меня конвертер. Как частное лицо я его получил и использую. Но вот компания хочет применить себе... как это правильно использовать?
117. SerVer1C 817 22.02.22 10:52 Сейчас в теме
75. olezhanchik 28.07.21 13:30 Сейчас в теме
Добрый день!

Использую вашу разработку. Появилась необходимость указывать глубину цвета при сохранении PDF в картинки (PNG и JPG). Есть ли возможность добавить такой параметр?
76. SerVer1C 817 28.07.21 16:17 Сейчас в теме
(75) Здравствуйте! Учту в следующей версии.
77. m1_1976 13 03.08.21 08:27 Сейчас в теме
Вроде завелось. Будем мучить ее... Спасибо.
SerVer1C; +1 Ответить
80. user1296085 04.08.21 17:10 Сейчас в теме
Добрый день. А есть возможность запретить редактирование, но оставить возможность печати?
81. SerVer1C 817 04.08.21 21:01 Сейчас в теме
(80) Добрый день! В данной версии нет, но в будущем реализую.
82. user1296085 09.08.21 18:20 Сейчас в теме
(81) А есть возможность реализовать это в ближайшее время?
83. SerVer1C 817 09.08.21 18:36 Сейчас в теме
(82) Да, по мере свободного времени уже вношу доработки.
87. Igorjastiy 11.08.21 22:31 Сейчас в теме
Добрый день.
Не планируете ли вы к компоненте добавить функционал для работы с qr-кодом? Интересует чтение и распознавание.
Спасибо за компоненту, очень проста и функциональна.
90. SerVer1C 817 12.08.21 10:57 Сейчас в теме
(87) Такое пока не планировал. Не вижу связи PDF и QR-кодов. Вы хотите коммунальные платежки загружать в 1С ?
92. Igorjastiy 12.08.21 11:19 Сейчас в теме
(90) Нет, обрабатывать возвращаемые документы оригиналы, при печати помещаем QR-код с инф. о документе. Когда документы возвращаются, пользователь сканирует(на данный момент со сканером ШК), по УИН и доп информации, находим документ, устанавливаем признак оригинал и проверяем на изменения. Хотелось бы упростить работу, забрать с каталога PDF, распознать Qr-коды, проверить, обработать и прикрепить файлы к документам(Без парсинга).
88. Igorjastiy 12.08.21 10:49 Сейчас в теме
Добрый день, обнаружилась проблема при обращении к функции PDF2IMG.
Если указываю файл размером более 24Мб , компонента грохает 1С.
ошибка:
Имя сбойного приложения: 1cv8.exe, версия: 8.3.17.1851, метка времени: 0x5fb42a15
Имя сбойного модуля: Pdfium.dll, версия: 0.0.0.0, метка времени: 0x5ac96ab9
Код исключения: 0xc0000409
Смещение ошибки: 0x0095cae0
Идентификатор сбойного процесса: 0x71f8
Время запуска сбойного приложения: 0x01d78f45fd1d458a
Путь сбойного приложения: C:\Program Files (x86)\1cv8\8.3.17.1851\bin\1cv8.exe
Путь сбойного модуля: C:\Program Files (x86)\ArrowPDF\x86\Pdfium.dll
Идентификатор отчета: 904ed298-6bcf-44df-89bf-55761f433034
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:
С чем может быть связано?
89. SerVer1C 817 12.08.21 10:50 Сейчас в теме
(88) Вы уверены, что это из-за размера? Я тестировал на файлах 100+ Мб. (см. коммент #56) Проверьте на другой версии платформы.
91. Igorjastiy 12.08.21 11:12 Сейчас в теме
(89) На 100 процентов нет, но тестировал файлы с одного сканера с разными вариантами.
1) 200 страниц 23мб.
2) 170 страниц 25мб.
На втором файле 1С крашится. Может проблема кроется в формате файла.
Платформа стабильная, вылетов не наблюдал ранее. Попробую PDF со стороннего ресурса.
93. Igorjastiy 13.08.21 13:31 Сейчас в теме
(89) Проблема была в формате, указали в настройках МФУ другой стандарт PDF, большие файлы проходят теперь без ошибок.
Еще вопрос в догонку, у компоненты нет функции, возвращающей количество страниц в файле?
94. SerVer1C 817 13.08.21 19:48 Сейчас в теме
(93) Почти готова версия 1.6, в которой это будет.