Русское сообщество AutoIt

  • Май 22, 2012, 13:08:09 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Вы новичок? Хотите начать изучение AutoIt и не знаете с чего начать?

Для начала ознакомьтесь с темой Быстрый старт для работы с AutoIt.
Затем осмотрите раздел Инструменты и помощь по AutoIt.

Реклама

Автор Тема: формирование и печать документов-бланков  (Прочитано 2388 раз)

0 Пользователей и 1 Гость смотрят эту тему.

PS_ [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 4
  • Версия AutoIt: 3.3.6.1
    • Награды
Версия AutoIt: 3.3.6.1

Описание:

Стал вопрос формировать и печатать документ-бланк. и так сказать в легком ступоре как это реализовать. Главная задача сформировать и отправить на печать бланк лист формата А4. Думал реализовать и через OLE (например word), но вдруг на компьютере не будет установлен word. И тогда печать не сработает, чего бы не хотелось.

думаю надо генерить картинку и её печатать. BMP любой комп понимает.

в принципе мысли еще вместо word использовать IE, он ведь тоже на любом компе есть.

что посоветуете, куда двигаться?
« Последнее редактирование: Июль 06, 2011, 15:28:22 от Kaster »



  Записан

PS_ [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 4
  • Версия AutoIt: 3.3.6.1
    • Награды
Спасибо за совет (стол заказов), но хотелось бы сделать самому. Нужна идея как это лучше реализовать.




  Записан

Kaster [?]

  • Глобальный модератор
  • *
  • *****
  • Репутация: 502
  • Online Online
  • Пол: Мужской
  • Сообщений: 3286
  • Версия AutoIt: 3.3.8.1
  • Мой Аватар, он лучший самый
    • Награды
PS_  [?]
Цитата
но хотелось бы сделать самому
разница раздела для новичков от стола заказов в том, что тут тебе надо предоставит наработки кода, в котором ты испытываешь затруднения в дальнейшей реализации для достижения конечной цели. если таковые имеются, не стесняйся выкладывать. в противном случае – стол заказов.
с чего то надо начинать.
пока ты решаешь, где лучше разместить тему, несколько уточняющих вопросов по теме
1. что такое документ готовый к печати? как мне известно, любой документ можно распечатать. то есть по идее они все уже готовы. да и потом, документ документу рознь. что за формат? doc? xls? pdf? т.к. в зависимости от формата файла, возможно, будет необходимо использовать различные инструменты печати.
2. что за окно предпросмотра? как отдельное приложение, опять же по моей памяти, такого нет. есть таковые как часть другого приложения, типа word, excel и иже с ними.




  Записан
Конференция посвященная AutoIt на jabber.ru - autoit@conference.jabber.ru
Как попасть на конференцию читаем тут
Файлы можете качать сюда - Файловая область
Продолжать дискуссию в теме отмеченной как "Решенная" - моветон.
Банхамером не обладаю, так что расслабьтесь ;)
Банхамером обладаю, так что не расслабляться :Ban:

PS_ [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 4
  • Версия AutoIt: 3.3.6.1
    • Награды
Понял, что тему не там создал, перенесите. Заранее спс.

Делал кое что на AutoIT. Щас стал вопрос формировать и печатать документ-бланк. и так сказать в легком ступоре как это реализовать. В принципе пред просмотр это просто хотелка (не объязательная). Самое главное сформировать и отправить на печать бланк, и чтоб он был на листе А4. Можно было бы реализовать и через OLE (word), но вдруг на компьютере не будет установлен word. И тогда печать не сработает, чего бы не хотелось. 

думаю надо генерить картинку и её печатать. BMP любой комп понимает.

что посоветуете?




  Записан

axlwor [?]

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




  Записан

Redline [?]

  • AutoIt Гуру
  • *****
  • Репутация: 278
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 425
  • Версия AutoIt: 3.3.6.1
    • Награды
Как идея - создать GUI, в котором поля расположены в определенном порядке.
1. пользователь заполняет нужные поля
2. жмет "печать"
3. все поля превращаются в "Label", чтобы при печати не было видно рамок
4. делаем скриншот окна без рамки
5. отправляем на печать
Набросок по первым 4-м пунктам прилагаю:

Вторая идея - задействовать RichText, правда для его работы нужна махонькая библиотека, зато и возможности огромные:
Создаем в WordPade или в каком другом редакторе заготовку документа и сохраняем в файл .rtf
Содержимое файла пихаем в скрипт, вставляем в нужные позиции наш текст (если Windows чисто английский, то текст придется вставлять в UTF-кодировке тут есть заготовка как переводить русские буквы в rtf-код).
Код: AutoIt [Выделить]
$oRP = ObjCreate('RICHTEXT.RichtextCtrl.1')
If Not IsObj($oRP) Then
    FileInstall('c:\richtx32.ocx', @SystemDir & '\richtx32.ocx', 1)
    RunWait(@SystemDir & '\regsvr32 /s richtx32.ocx')
    RegWrite('HKEY_CLASSES_ROOT\Licenses', '', 'REG_SZ', 'Licensing: Copying the keys may be a violation of established copyrights.')
    RegWrite('HKEY_CLASSES_ROOT\Licenses\DB4C0D00-400B-101B-A3C9-08002B2F49FB', '', 'REG_SZ', 'mgkgtgnnmnmninigthkgogggvmkhinjggnvm')
    RegWrite('HKEY_CLASSES_ROOT\Licenses\7BC20EDC-4A42-101B-A3C9-08002B2F49FB', '', 'REG_SZ', 'gifblihbhiiihbciocfbkifbqcfcdiebbiqh')
    Sleep(250)
    $oRP = ObjCreate('RICHTEXT.RichtextCtrl.1')
EndIf
$oCommDlg = ObjCreate('mscomdlg.commondialog')
$sFirm = 'ОАО Рога и Копыта'
$sRTF = "{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}}" & _
"{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\lang1033\f0\fs20\tab\tab\tab\lang1049\f1\fs48" & $sFirm & "\par" & _
"\par" & _
"\fs24\'cf\'ee\'eb\'e5 \'ed\'ee\'ec\'e5\'f0 1\par" & _
"\ul\'cf\'ee\'eb\'e5 \'ed\'ee\'ec\'e5\'f0 2\par" & _
"\'cf\'ee\'eb\'e5 \'ed\'ee\'ec\'e5\'f03\ulnone\fs20\par" & _
"}"
$oRP.TextRTF = $sRTF
$oCommDlg.Flags = 265
$oCommDlg.ShowPrinter
$oRP.SelPrint($oCommDlg.hdc)
 




  Записан
Приму в дар инвайт на dirty

ynbIpb [?]

  • Продвинутый
  • ***
  • Репутация: 84
  • Online Online
  • Пол: Мужской
  • Сообщений: 339
  • Версия AutoIt: 3.3.8.1
    • Награды
Вам нужно это: FASTREPORT® for COM/ActiveX
Чудная вещь, куча возможностей.
Автоит с COM объектами работать умеет, так что дерзайте.

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




  Записан

Garrett [?]

  • Локальный модератор
  • *
  • *****
  • Репутация: 548
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 2056
  • Версия AutoIt: 3.3.6.1
    • Награды
ynbIpb  [?]
Цитата
Вам нужно это: FASTREPORT® for COM/ActiveX

httр://www.fast-report.com
Цитата
FASTREPORT® for COM/ActiveX скачать

Здесь можно бесплатно скачать пробную версию FastReport® for COM/ActiveX.
Ограничения:

можно распечатать не более 5 страниц отчета
на странице печатается надпись "FastReport - unregistered".


Добавлено: Июль 09, 2011, 22:43:35
FastReport for COM/ActiveX Single License - 6770р.




  Записан

--------------------------------------------------------------------------------------------------
Все стандарты Document Object Model HTML
--------------------------------------------------------------------------------------------------
«Жизнь – цепь, а мелочи в ней – звенья. Нельзя звену не придавать значения!»

Redline [?]

  • AutoIt Гуру
  • *****
  • Репутация: 278
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 425
  • Версия AutoIt: 3.3.6.1
    • Награды
axlwor  [?]
Цитата
если не сложные документы - html подойдет, но печать html головняк
Вот сделал, в принципе ничего сложного:
Код: AutoIt [Выделить]
#include <IE.au3>
$sFirm = 'ОАО Рога и Копыта'
$sP1 = 'правый пункт'
$sP2 = 'левый пункт'
$sHTML = '<html><head></head><body>' & _
'<div style="text-align=center;font-size=20pt">' & $sFirm & '</div>' & _
'<div style="text-align=left;color=red;font-size=10pt">' & $sP1 & '</div>' & _
'<div style="text-align=right;color=green;font-size=10pt">' & $sP2 & '</div>' & _
'</body></html>'
$oIE = _IECreate()
_IEBodyWriteHTML($oIE, $sHTML)
_IEAction($oIE, 'print') ; печать с выбором принтера
;~ $oIE.execWB(6,2) ; печать на принтере "по умолчанию"




  Записан

ynbIpb [?]

  • Продвинутый
  • ***
  • Репутация: 84
  • Online Online
  • Пол: Мужской
  • Сообщений: 339
  • Версия AutoIt: 3.3.8.1
    • Награды
Garrett, ну это уже его проблемы. Искать крякнутый компонент или купить. Но он того стоит.
з.ы.
А пока можно потренироваться и на демо версии: http://www.fast-report.com/pbc_download/fr_studio_trial.msi
(Оказывается в FastReport Studio тоже есть поддержка COM и стоит дешевле 2170р)

Устанавливаем FastReport Studio, копируем из папки C:\Program Files\FastReports\FastReport Studio\Bin 2 файла: fastreport3.dll и Russian.frc ну и какойнибудь пример отчёта *.fr3. Всё это кидаем в папку с нашим скриптом. Студию можно удалять (если не надо рисовать отчёты).
Код: AutoIt [Выделить]
$sFasrReport_dll = @SystemDir & "\fastreport3.dll" ; путь к установленной библиотеке
If FileExists ($sFasrReport_dll) = 0 Then ; если файл не существует
    FileCopy (@ScriptDir & "\fastreport3.dll", $sFasrReport_dll, 1) ; копируем в системную папку
    RunWait(@SystemDir & '\regsvr32.exe /s ' & $sFasrReport_dll) ; регистрируем компонент в системе
EndIf

$sReportFile = @ScriptDir & "\my.fr3"
$sLanguage = @ScriptDir & "\Russian.frc"
$fr = ObjCreate("FastReport.TfrxReport")
$res = $fr.Resources
$res.LoadLanguageResourcesFromFile($sLanguage)
$fr.LoadReportFromFile($sReportFile)

$fr.ShowReport

While 1
    sleep (100)
WEnd
« Последнее редактирование: Июль 10, 2011, 12:57:19 от ynbIpb »



  Записан

PS_ [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 4
  • Версия AutoIt: 3.3.6.1
    • Награды
Всем откликнувшимся спасибо.

FastReport отпадает т.к. платный, кряки и патчи это не приемлемо.

формировать в IE тоже не гуд. т.к. печатать надо мелкие бланки с линиями и рамками, мелким текстом в рамках (на A4 надо печатать 3 бланка). а в IE с этим проблема.

наверно попробую что советует: Redline




  Записан

Vlasssov [?]

  • Новичок
  • *
  • Репутация: 14
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 316
  • Версия AutoIt: v3.3.6.1
  • Гопломах
    • Награды
Кстати, а может кто подскажет бесплатный ocx, который эмулирует лист excel - чтобы формулы можно было вписывать и ячейки разным цветом раскрашивать.




  Записан

XpycT [?]

  • Продвинутый
  • ***
  • Репутация: 92
  • Online Online
  • Пол: Мужской
  • Сообщений: 285
  • Версия AutoIt: 3.3.8.1 / 3.3.9.4 Beta
  • Награды Первое место конкурса
    • Награды
Vlasssov
Есть Office 2003 Office Web Components

« Последнее редактирование: Август 25, 2011, 10:26:45 от XpycT »



  Записан
Рожденный летать, висеть не может.

Джедаям запрещено участвовать в любых предприятиях, ставящих целью получение прибыли. Мы не можем извлекать выгоду из помощи, которую оказываем.

Vlasssov [?]

  • Новичок
  • *
  • Репутация: 14
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 316
  • Версия AutoIt: v3.3.6.1
  • Гопломах
    • Награды
Отлично! А помощь по ним есть где-нибудь?




  Записан

XpycT [?]

  • Продвинутый
  • ***
  • Репутация: 92
  • Online Online
  • Пол: Мужской
  • Сообщений: 285
  • Версия AutoIt: 3.3.8.1 / 3.3.9.4 Beta
  • Награды Первое место конкурса
    • Награды
Vlasssov
В пакете установки компонента есть справка очень понятная, и еще есть примеры на офф форуме




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Формирование меню из переменных
AutoIt для новичков
r35p3ct 5 1508 Последний ответ Декабрь 30, 2009, 17:35:24
от r35p3ct
[RegExp] универсальный парсер документов (для регулярных выражений)
Регулярные выражения и прочее
damien2008 0 1687 Последний ответ Сентябрь 12, 2010, 11:08:09
от damien2008
Печать Множества Файлов
AutoIt для новичков
HelpMe 29 2168 Последний ответ Декабрь 21, 2011, 16:12:49
от Isn
Как получить список документов с этого сайта (достать из html?)
Стол заказов
Suppir 2 967 Последний ответ Март 02, 2011, 15:20:42
от madmasles
[Данные, строки] Чтение файл-списка и формирование переменных.
AutoIt для новичков
gora 10 1128 Последний ответ Март 04, 2011, 18:19:33
от gora
ShellExecute и печать результата в файл
AutoIt для новичков
Suppir 3 856 Последний ответ Март 24, 2011, 23:10:22
от Kaster
[Элементы GUI] Формирование таблицы в GUI
GUI - Графический интерфейс пользователя
cobra2029 9 443 Последний ответ Март 05, 2012, 13:37:07
от cobra2029
Перенесено: [Элементы GUI] Формирование таблицы в GUI
AutoIt для новичков
CreatoR 0 113 Последний ответ Март 03, 2012, 14:45:14
от CreatoR
[Автоматизация] Печать содержимого переменной (строки)
Стол заказов
Core2Duo76 8 395 Последний ответ Март 05, 2012, 17:35:26
от Yuriy
Печать книгой
AutoIt для новичков
damien2008 4 407 Последний ответ Апрель 11, 2012, 02:06:06
от damien2008


Реклама

* Последние сообщения на форуме
post Re: Смена IP адресса
[AutoIt для новичков] Zaramot Сегодня в 13:04:33
post Re: Авторизация в одноклассниках
[Автоматизация IE и Web-интерфейса] Александр Сегодня в 12:59:21
post Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] madmasles Сегодня в 12:23:31
post [Мышь, клавиатура] Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] Nurgazy Сегодня в 12:09:36
post Re: Объясните плз, как работать с массивами ArrayAdd и прочее...
[AutoIt для новичков] madmasles Сегодня в 12:08:03
post Объясните плз, как работать с массивами ArrayAdd и прочее...
[AutoIt для новичков] webmonster Сегодня в 12:03:38
post Re: Как заменить метку времени файла на севере
[Автоматизация IE и Web-интерфейса] ---Zak--- Сегодня в 11:39:56
post Как заменить метку времени файла на севере
[Автоматизация IE и Web-интерфейса] eropov Сегодня в 11:26:37
post Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] madmasles Сегодня в 11:13:16
post [Мышь, клавиатура] Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] Nurgazy Сегодня в 10:56:29

* Пользователи онлайн
  • Dot Гостей: 131
  • Dot Скрыт: 1
  • Dot Пользователей: 27
  • Dot Пользователи Online: