Имя: Пароль:
1C
1С v8
Снова PDF и 1С
,
0 retributor
 
02.06.15
17:10
1С 8.3. Конфигурация Комплексная автоматизация, но это и неважно.
Так получилось, что поставили в дурацкую ситуацию. Есть pdf с доступными полями, в которые надо вписать данные. Сделать это надо программно из 1C. При этом, есть только OpenOffice (который бесполезен в данном вопросе), 1С и Adobe Reader. Другого софта не влепить. Итог, есть только Adobe Reader для целей.
Есть такая вот книжка (тоже на форуме где-то нашел): http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/reader_overview.pdf
Может, кто сталкивался, очень прошу, подскажите пожалуйста, как можно хотя бы просто обратиться из 1с к объектам Document и Field. Желательно COM, но можно и через скрипт.
70 Господин ПЖ
 
03.06.15
10:00
(45) >все клиенты (банк или биллинг) что видел

ты видел не все
71 retributor
 
03.06.15
12:36
(64) увы, не помогло. Я перепроверил методы из API, ни один не срабатывает. Более того, по реестру посмотрел иные варианты AcroExch.[]. Ни по одному не сработало.
Похоже, нужен AcroExch.App или AcroExch.AVDoc, а они недоступны для ридера.
72 retributor
 
03.06.15
13:18
В общем, наконец удалось уговорить на сторонний софт для выполнения цели. Но он должен быть бесплатным. Foxit или какой аналог. Есть подсказки?
73 Garykom
 
гуру
03.06.15
13:43
(70) так не спорю что могут быть клиенты с "только в pdf"

но скажем откуда то данные же для pdf берутся...и гораздо проще им (владельцу клиента) в "нормальный" формат экспорт добавить чем писать некий распознаватель-конвертер
74 Бубка Гоп
 
03.06.15
13:48
(72) см (9)
75 retributor
 
03.06.15
13:56
(74) Не годится. Я из 1С с ней программно не поработаю.
76 Garykom
 
гуру
03.06.15
14:26
77 Бубка Гоп
 
03.06.15
14:30
(75) http://habrahabr.ru/post/112707/
там подборка библиотек для c#
я бы попробовал создать свою компоненту на основе одной из тех библиотек, и обращался бы к ней из 1с
78 Бубка Гоп
 
03.06.15
14:34
(77) + потом вывесил на инфостарте ;)
79 Гёдза
 
03.06.15
14:38
Ты вообще кто в компании? Фикси или фри?
80 Гёдза
 
03.06.15
14:40
Подходишь к директору и говоришь: для решения данной хитро..опой задачи нужно то-то и то-то. Стоит это то-то столько-то.
Иначе никак нельзя
81 spectre1978
 
03.06.15
14:48
(78) +1. Бесплатные компоненты под C# есть вроде как, вопрос их обернуть чтобы из-под 1С вызвать можно было. Либо поискать activex, который сам по себе из 1С работать будет. Вы неправильно работаете с вашим руководством. Надо сразу было объяснить что задача нестандартная и могут понадобиться платные компоненты для ее решения.
82 spectre1978
 
03.06.15
14:48
Обращение из поста было к (0)
83 beaver1971
 
03.06.15
14:53
(0)Adobe Reader - не прокатит.....
То API, которое есть в нем (как я понял из всего, что перечитал на эту тему) всего лишь доступ к стандартным функциям меню Reader. Нужен полноценный Acrobat, который платный.
84 retributor
 
03.06.15
15:04
(77) у меня на это нет времени. Сроки того, истекли. Да и на чем ВК писать-то?
(80) задача-то изначально такой хитрозадой не представлялась. Да и платный софт покупать никто не будет.
(81) тоже самое. предполагалось, что ридер работает сходно с вордом или, в крайнем случае, с опенофисом. О том, что это полная двуховальная конструкция мысли не приходило.
85 Garykom
 
гуру
03.06.15
15:07
(84) образец своих PDF для заполнения и печати выложить можешь?
86 retributor
 
03.06.15
15:09
(85) к сожалению, нет. Но я готов описать все технические детали, какие надо.
87 Господин ПЖ
 
03.06.15
15:11
>предполагалось, что ридер работает сходно с вордом или, в крайнем случае, с опенофисом.

откуда у вас эти ассоциации...

шуруповертом зубы не сверлят хотя все "сходно"
88 spectre1978
 
03.06.15
15:13
(84) очевидно, это будет ВК на C#, которая будет дергать нужные вызовы из приложенной тут же DLL
89 Бубка Гоп
 
03.06.15
15:15
(88) именно. и не так уж долго это пишется. вангую сейчас автор начнет жаловаться что у него и студии нет...
90 Господин ПЖ
 
03.06.15
15:16
SharpDevelop пусть ставит
91 retributor
 
03.06.15
15:23
(87) Это очень очевидная ассоциация и слишком очевидное решение. И я очень удивлен, что Adobe этого не сделала. И прекращайте, пожалуйста, форсировать этот вопрос.
(88) C# это не ко мне.
(89) я даже отвечать на это не буду.
(90) решение с написанием собственной компоненты не подходит.
92 Бубка Гоп
 
03.06.15
15:25
(91) покупать акробат - не подходит. написать своё - тоже не подходит. патовая ситуация
93 Garykom
 
гуру
03.06.15
15:26
(86) отлично, для начала:

а в какой версии формата pdf ваши секретные файлики?
94 retributor
 
03.06.15
15:29
(93)
Производитель PDF: Corel PDF Engine Version 16.4.0.1280
Версия PDF: 1.6 (Acrobat 7.x)
95 spectre1978
 
03.06.15
15:31
(91) адобе все сделала. Но адобе за свои программы хочет денег. Странно, да?
96 spectre1978
 
03.06.15
15:32
(91) что ж, может кто-то сможет предложить другие варианты. Мне больше ничего не видится пока.
97 retributor
 
03.06.15
15:33
(95) Не все, как показывает практика. Они вполне могли сделать вменяемый межпрограммный интерфейс для ридера.
98 retributor
 
03.06.15
15:35
(96) Честное слово, они сделали ActiveX, но не сделали программного интерфейса. И вопрос, где логика?
99 Господин ПЖ
 
03.06.15
15:36
>Они вполне могли сделать вменяемый межпрограммный интерфейс для ридера.

покупайте полный адоб и пользуйте - кто не дает...
100 retributor
 
03.06.15
15:38
(99) Вы, батенька, провокатор. Решаю насчет покупок не я. Приходится иметь дело с тем, что есть. И по всей логике нормальной фирмы, они вполне могли это сделать. Именно для ридера. Именно так, как оно сейчас.
101 Господин ПЖ
 
03.06.15
15:39
в описании все написано:

Adobe® Reader® представляет собой инструмент для открытия файлов PDF, созданных в Adobe Acrobat®, и
работы с ними. Несмотря на то, что в Adobe Reader отсутствует возможность создания файлов PDF, это
приложение очень удобно для просмотра, печати и работы с файлами такого формата. Сразу после открытия
файла PDF в Reader становятся доступными различные инструменты быстрого поиска информации. При
получении PDF-формы ее можно интерактивно заполнить и передать в электронном виде. При получении
приглашения к рецензированию документа PDF используйте для работы инструменты комментирования и
вставки пометок. Для воспроизведения видео и музыки в документе PDF используются инструменты
мультимедиа Reader. Более того, если в документе PDF содержится конфиденциальная информация, его
можно подписать или сертифицировать с помощью цифрового удостоверения.

"спрашивать" у ПО функций в нем не заявленных - где логика?
102 retributor
 
03.06.15
15:40
(101) >>При получении PDF-формы ее можно интерактивно заполнить и передать в электронном виде.
Именно это я и пытаюсь сделать программно! Где незаявленный функционал??
103 Господин ПЖ
 
03.06.15
15:41
много тут особо хитрож.пых - закладываются на проприетарный формат, а платить за функционал не хотят
104 Господин ПЖ
 
03.06.15
15:41
интерактивно

какая буква в слове незнакома?
105 retributor
 
03.06.15
15:46
(104) у всех нормальных программ массового покроя, если есть программный интерфейс, он как минимум дублирует интерактивный функционал. А чаще - даже шире. И еще, это явный оффтоп.
106 Garykom
 
гуру
03.06.15
15:53
(94) ок, далее

как 1С должна определять в какие места нужно вставлять тексту/данные?
107 retributor
 
03.06.15
15:59
(106) документ являет собой векторную картинку с 3-мя полями для текста поверх нее. В поля можно заранее внести текстовые "параметры", чтобы знать, где какое поле. Это не так важно.
108 Господин ПЖ
 
03.06.15
16:00
>если есть программный интерфейс, он как минимум дублирует интерактивный функционал

в 1с полного соответствия нет например. в gui можно сделать такое что либо недоступно программно или делается криво
109 retributor
 
03.06.15
16:06
(108) В данном случае, это сравнение трактора со смартфоном. Неудачный пример. Пользователям в 1С недоступно 80% программного функционала.
110 Garykom
 
гуру
03.06.15
16:09
(107) тогда превратить этот вектор pdf в растровый png, нарисовать сверху из 1С что нуна, отправить на печать и не вы...
111 Garykom
 
гуру
03.06.15
16:10
(110)+ один хрен при выводе на печать (если принтер/дрова не PS конечно) будет преобразование в растр...
112 retributor
 
03.06.15
16:10
(110) ни в коем случае! Этот вектор потом пойдет в типографию. Вариант перевода в растр неприемлем ни в каком виде.
113 retributor
 
03.06.15
16:13
(110) я не говорил, но механизм в остальном-то реализован. И забраковал клиент именно из-за растровых искажений. Методов 5 уже было проверено, все пытались формировать pdf из 1С, каждый метод по-своему формировал pdf. Ни один не устроил. Потому и было принято решение использовать готовые формы pdf, чтобы просто их заполнять и отправлять.
114 Garykom
 
гуру
03.06.15
16:13
(112) у меня слов нету...

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

если вы не сами печатаете какого тогда?
115 retributor
 
03.06.15
16:15
(114) я причем? Такое ощущение, что это я придумал... забыл сказать, там еще один подвох, картинка сделана в CMYK, что из 1С вообще практически не выгрузить. Ну разве что через OpenOffice Draw. Но там тоже возникли проблемы, Draw, как оказалось, очень сильно искажает цвета. А с нуля на нем перерисовывать не выйдет.
116 Garykom
 
гуру
03.06.15
16:16
(113) еще лучше )) может просто нормальный метод формирования pdf сразу готовых из 1С использовать?

тот же java'ий Apache PDFBox он вроде ок все делает
117 Garykom
 
гуру
03.06.15
16:17
(115) эээ? какая картинка? какой CMYK ?

в курсе вообще что полиграфия дизайнер под печатное устройство цвета подбирает (цветовой профиль аппарата юзает) ?
118 retributor
 
03.06.15
16:20
(117) Фоновая картинка. В (107) я ж писал, что форма pdf для заполнения - это картинка с тремя текстовыми полями.
Как я понял, у них свои договоренности с типографией, они последняя просто печатает, что они ей подсунут, без доработки дизайнка. Фактически - у меня такая задача. Что еще с ней можно сделать - не знаю.
119 Garykom
 
гуру
03.06.15
16:22
(118) тогда я нифига уже не понял )) зачем вам "вектор pdf" если "картинка"?

т.е. "картинка" то по сути растровая (фото) или вектор (линии/дуги там разные и прочее)?
120 retributor
 
03.06.15
16:22
(119) векторная картинка ))))
121 Garykom
 
гуру
03.06.15
16:24
(120) в вектор можно засунуть растр... при масштабировании будет изврат если исходный растр "не очень"

есть такой формат TIFF там цвета прекрасно передаются и оно многостаничное
122 Господин ПЖ
 
03.06.15
16:25
распечатать, впечатать, отсканить, распознать/векторизовать, отдать!
123 Garykom
 
гуру
03.06.15
16:26
(122) для экономии бумаги печатать предлагаю на pdf принтер...
124 retributor
 
03.06.15
16:29
(121) на растр табу наложено. Клиент просто не примет.

(122) то есть, вместо того, чтобы вручную внести и сохранить, как это делается сейчас, народ будет после автоматизации туда-сюда бумагу дергать? Да еще и сканировать, что априори убивает любое качество изначального материала? Может, хватит вредных советов и очевидных вопросов?
125 Господин ПЖ
 
03.06.15
16:32
>Может, хватит вредных советов и очевидных вопросов?

полезные советы кончились еще в первой десятке - поставить/купить сторонний софт и не компостировать мозг задачами не имеющими решения в силу идиотизма налагаемых условий
126 retributor
 
03.06.15
16:34
(125) Это был не полезный совет. Это было решение, которое клиент попросту не примет, только и всего.
127 sapphire
 
03.06.15
16:35
(110) А вот не всегда такое возможно, например, заполнение форм страховых полисов компаний c отправкой страховщику.
128 Господин ПЖ
 
03.06.15
16:36
(127) сделать для него "нотариально заверенный скриншот"
129 sapphire
 
03.06.15
16:40
(128) Низьзя :)
Мы-то вышли из положения :)
130 sapphire
 
03.06.15
16:41
Хотя, победили или нет вызов js при WILL_PRINT не знаю :)
131 Бубка Гоп
 
03.06.15
16:43
(126) если четно, ужеб ВК написал, даже при отсутствии опыта в .net
132 Web00001
 
03.06.15
16:48
(105)Так ты напиши адобу, что же за безобразие у вас программа массового покроя а программный интерфейс не дублирует интерактивный функционал, непорядок! Исправляйте быстро кому сказал. А то у меня тут 4 кубика с буквами Ж, О, П, А. И надо сложить из них слово счастье.
133 spectre1978
 
03.06.15
16:58
(132) улыбнул :)
134 Garykom
 
гуру
03.06.15
17:05
(132)+ уточнение... пилить кубики низзя!
135 ДенисЧ
 
03.06.15
17:06
136 Garykom
 
гуру
03.06.15
17:08
(135) выходит можно посчитать скоко нужно аппаратов (каждый с 4 кубиками) чтобы вышло "счастье"
137 beaver1971
 
03.06.15
18:26
command = Новый Массив(3);
    OldFile = "C:\0\test.pdf";
    NewFile = "C:\0\main.pdf";
    AcroPDF = Новый COMОбъект("AcroPDF.PDF");
    Сообщить(AcroPDF);
    AcroPDF.LoadFile(OldFile);
    command[0] = "SaveAs";
    command[1] = 1;
    command[2] = NewFile;
    AcroPDF.execCommand(command);
    Сообщить(AcroPDF.GetVersions());

Странно как-то.... что-то работает, что-то не работает ((((
138 spectre1978
 
03.06.15
19:06
(0) вот тут https://helpx.adobe.com/reader/using/fill-forms.html в конце написано, что есть возможность импорта данных форм из файлов, в частности из БД. Может, помозговать в этом направлении?

Import or export form data (Reader application only, not browser)

In some workflows, individuals submit filled-in forms as data-only files in a format such as FDF or XML. In Acrobat Reader DC, you can import the data to view it in the context of the complete PDF:

    In the upper right of the window, click Extended, and then click Import Data.

Likewise, you can save the information in a completed PDF form as a data file in another format:

    In the upper right of the window, click Extended, and then click Export Data.

For more information, see Manage form data files in Acrobat DC Help.
139 spectre1978
 
03.06.15
19:20
Кстати, кто-нибудь разбирался что такое Acrobat Reader DC и чем он отличается от обычного адобе ридера? Скачивается тоже бесплатно.
140 shachneff
 
03.06.15
19:26
(0) pdftk
141 Garykom
 
гуру
03.06.15
19:26
142 spectre1978
 
03.06.15
19:49
(140) тоже интересная вешь
143 spectre1978
 
03.06.15
20:07
+ (142) ТС, мне кажется, это вам подойдет. Pdftk server - управляется из командной строки, ставится бесплатно, позволяет работать с формами.
144 retributor
 
04.06.15
15:41
Коллеги, есть такой вариант решения: в пень поля формы. Можно сделать два независимых pdf, один с картинкой, другой с текстом. И потом наложить их друг на друга. Одна проблема, Ghostscript мной изучен плохо. Как можно не добавить страницу, а наложить поверх?
145 retributor
 
04.06.15
15:43
(143) pdftk - замечательная вещь. Решила бы проблему, если б запускалась под x64.
146 spectre1978
 
04.06.15
15:45
(145) у меня х64. Вчера скачивал, смотрел. Все запускается и работает. А с какой стати ему не запускаться-то?
147 retributor
 
04.06.15
15:46
(146) у меня говорит, приложение несовместимо с текущей версией ОС.
148 spectre1978
 
04.06.15
15:47
Вот ссылка https://www.pdflabs.com/tools/pdftk-server/
Ставится, прописывает себя в PATH.
Дальше тупо из командной строки pdftk с параметрами.
149 retributor
 
04.06.15
15:47
(148) Не ставится. Я оттуда и качал. Говорит, приложение несовместимо
150 spectre1978
 
04.06.15
15:48
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-win-setup.exe.
Винда 8.1 х64.
Все встало. Вот такую фигню выдает при запуске без параметров
SYNOPSIS
       pdftk <input PDF files | - | PROMPT>
        [ input_pw <input PDF owner passwords | PROMPT> ]
        [ <operation> <operation arguments> ]
        [ output <output filename | - | PROMPT> ]
        [ encrypt_40bit | encrypt_128bit ]
        [ allow <permissions> ]
        [ owner_pw <owner password | PROMPT> ]
...
Что я делаю не так?
151 retributor
 
04.06.15
15:49
(150) Может дело в том, что винда Server 2008 R2&
152 retributor
 
04.06.15
15:50
Ghostscript на наложение способен?
153 spectre1978
 
04.06.15
15:51
(151) ну, есть и он под руками. Я могу попробовать поставить.
154 spectre1978
 
04.06.15
15:52
(152) не в курсе
155 retributor
 
04.06.15
15:53
(153) просто он-то на серваке стоит. И объединить два PDF-ника вышло. А вот чтоб не страницу добавил, а поверх слой наложил - хз как делается
156 spectre1978
 
04.06.15
15:56
По гостскрипту не помогу. Попробовать поставить на 2008 R2 х64 могу и отписаться что получится. Мне кажется, проблем быть не должно, это обычное Win32 приложение.
157 spectre1978
 
04.06.15
15:56
pdftk имеется в виду
158 retributor
 
04.06.15
15:58
(156) (157) ну ошибку несовместимости я не выдумал
159 retributor
 
04.06.15
16:04
блин, хром косячный... недокачал. Оттуда и ошибка
160 spectre1978
 
04.06.15
16:04
(158) Установил. Все встало абсолютно точно так же, как и на 8.1, запустилось и выдало точно такую же справку как в (150).
161 retributor
 
04.06.15
16:13
(160) Да, все заработало. Но проблемы не кончились. Надо научить 1С выгружать pdf с прозрачным фоном...
162 spectre1978
 
04.06.15
16:40
накой? У вас теперь есть механизм для заполнения форм. Делайте что собирались делать в (0)
163 spectre1978
 
04.06.15
16:45
все что осталось сделать - написать командную строку и произвести запуск приложения с этой строкой
164 retributor
 
04.06.15
17:12
(162) (163) увы. заказчик еще и хочет менять размер шрифта текста в полях по необходимости в этих документах. Плюс, там вариант, либо доки эти паролить после заполнения, чтобы никто уже ничего не поменял, либо убирать редактирование полей. Через XFPF это все сделать, боюсь, не получится.
165 Гёдза
 
04.06.15
17:50
(164) а что в пользовательском режиме можно менять размер шрифта?
166 retributor
 
04.06.15
17:56
(165) нет. Но выяснилось, что это нужно
167 Бубка Гоп
 
04.06.15
17:58
(166) Acrobat
168 spectre1978
 
04.06.15
20:01
(166) Вот тут http://visio.getbb.ru/viewtopic.php?f=6&t=754&st=0&sk=t&sd=a народ формирует колонтитулы и сливает их с имеющимся PDF средствами Ghostscript и pdftk. Может, натолкнет на какие мысли.
169 spectre1978
 
04.06.15
20:04
как я понимаю, на Postscript пишется этот самый прозрачный файлик, потом Ghostscript'ом компилится и накладывается на PDF