PDFCreator и UIDoc.Print()

Тема в разделе "Lotus - Программирование", создана пользователем dobozy, 21 июл 2010.

  1. dobozy

    dobozy Гость

    Доброе время суток всем,

    Столкнулся с такой проблемой, может кто встречал, чтобы не копать сильно глубоко...

    Я использую PDFCreator COM для того чтобы программно PDF-ить лотус ноутс документы. Задача архивирования передо мной стои в общем.
    Всё было хорошо, всё прикурил, плюс iText для изменение метаданных и аттачей. Есть документ с полями RTF, в совершенно произвольно отформатированный контент и походу аттачи вставлены. Идея использования PDFCreator заключалась в том, чтобы максимально сохранить форматирование, расположение объектов в поле в результирующем PDF. Пробовал всякие тулзы типа n2dpf и Swing. Все они работают, но не всегда всё парсят и иногда недосчитываешься некоторый аттачей например. Решил я взять PDFCreator так он давал наилучший результат "визуальный слепок" документа. Он так и делает, если печатать документ через обычный Lotus Notes принт диалог, но проблемы иногда возникают, если печатаешь программно. Собственно грабли с которыми я сегодня познакомился:

    1. Есть документ, в нём РТФ поле с кучей аттачей по телу. Местами по несколько подряд.
    2. Если открываешь документ руцями, а потом говоришь Печать через меню, вылетает диалог, говоришь хочу печатать в PDFCreator и вуаля. PDF получаеться нормальный, все картинки для аттачей присутсвуют.
    3. Берешь делашь программно:

    ...
    Код (LotusScript):
    Set uidoc = uiws.EditDocument(False, doc)
    Call uidoc.Print(1)
    'Call uidoc.Print(1,0,0,False)
    В некоторых напечатанных документах, некоторые иконки приаттаченый файлов отсутсвуют. Что за хрень???
    Если пишешь

    Код (LotusScript):
    Call uidoc.Print()
    Вылетает принт даилог, пускаешь через него, всё путём.
    Я в шоке :)

    Что делать? Неужели опять через АPI идти.

    Спасибо!
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    здесь всё зависит от того - как индусы печать реализовали... (виндозную)
    печать и UI не явл. сильными сторонами нотусов
     
  3. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
  4. dobozy

    dobozy Гость

    Всем привет!

    Разобрался!!!

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

    Так что тулза начала работать как и предпологалось.
    Получаются неплохие PDF-ы, если учитывать, что нужно уметь выгружать лубые формы из лубых приложений. Там бывает такая каша, типа в РТФ вставляю письма картинки аттачи и всякую хрень. Верстка оригинальная, не там кончено иногда страницы заканциваются, но зато ничего не теряется по пути, плюс аттачи леплю и метаданный пишу.
    Короче, надеюсь, что клиента устроит для архивирования.

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

    Всем спасибо!
     
  5. dobozy

    dobozy Гость

    Всем привет опять!

    Я бюл неправ, когда предположил, что это настройки принтера.
    Оказывается, что проблема исходит от того, что вызов
    Код (LotusScript):
    Set m_uidoc = m_uiws.EditDocument(False, doc)
    является частично асинхронным и код начитает топать дальше недождавшись пока прорисуются все иконка аттачей...

    Обошёл тем, что печатаю через
    Код (LotusScript):
    Call m_uiview.Print(1,0,0,"PDFCreator")
    С кучей извратов до и после :), чтобы печатать по одному выделенному документу, но главное что вроде нет такой проблемы...
     
  6. maliy

    maliy Well-Known Member

    Регистрация:
    20 мар 2007
    Сообщения:
    134
    Симпатии:
    0
    to dobozy, если не трудно скинь пример кода по использованию PDFCreator в лотусе...
     
Загрузка...
Похожие Темы - PDFCreator UIDoc Print()
  1. k85
    Ответов:
    12
    Просмотров:
    890
  2. Antigo
    Ответов:
    2
    Просмотров:
    902
  3. Shandrik
    Ответов:
    3
    Просмотров:
    1.049
  4. VladSh
    Ответов:
    10
    Просмотров:
    2.311
  5. Zeka
    Ответов:
    20
    Просмотров:
    6.337

Поделиться этой страницей