На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
В этом разделе можно создавать темы, которые относятся к поколению 32-битных компиляторов.
Здесь решаются вопросы портирования кода из старого доброго Турбо Паскаля в FPC, TMT, VP, GPC компиляторы, а также особенностей программирования на них для Windows/Linux и других ОС.
Указывайте тип компилятора, его версию, а также платформу (Windows/Linux/..) компиляции, другими словами, Target.
Модераторы: volvo877
  
> Подскажите компонент редактора / браузера , Lazarus
    Хочется написать простенькую программу, способную отображать и распечатывать документы (бланки).
    Условие: программа должна быть кроссплатформенной, написанной на Lazarus.
    Пока нашёл два компонента, более-менее удовлетворяющих обоим условиям:
    RichView, написанный Сергеем Ткаченко
    http://wiki.lazarus.freepascal.org/RichView
    http://www.trichview.com/
    И стандартный компонент TIpHTMLPanel на вкладке IPro
    Оба компонента пока не совсем доработаны, кроме того для текстовых документов требуется задавать ширину страницы (подразумевается, что бланки должны печататься на листах формата А4 - причём, как в портретной, так и в альбомной ориентации). Как можно решить подобную задачу?

    Разумеется, можно создать файл в формате RTF / ODT / HTML и открыть его сторонними средствами. Но хотелось бы, чтобы программа сама предоставляла подобную функциональность.

    Заранее благодарен.
      Предлагаю работать с документом типа PDF, так как он является открытым стандартом для электронных документов.

      Можно использовать библиотеки, использующие API для создания PDF документов напрямую или же посредством посреднических слоёв, таких как известная библиотека векторной графики Cairo (вывод текста и графических примитивов), в том числе позволяющей экспортировать изображения в PS, PDF. Если речь идёт от направлении на печать, то лучше PS. Если же нужен документ, то лучше PDF.
        Да я не против, можно и PS, и PDF - вопрос только в том, чтобы отобразить документ на экране с кнопочкой печати, а потом жмакнуть на неё и получить хардкопи один в один - типа WYSIWYG. Я не про форматы спрашиваю, а про то, какие компоненты имеются в Лазаре для корректного отображения этих форматов. Нет, я понимаю - при желании можно и TImage использовать, вот только подгонка того, что видишь на экране с подгонкой того, что будет при распечатке - занятие не тривиальное.

        З.Ы. И было бы неплохо иметь средства для простого редактирования форм таких бланков. В шаблонный бланк данные вставить несложно, шаблоны тоже легко хранить в любой БД. Самая большая сложность - проверить правильность введённых данных и корректно их распечатать. Потому я и смотрел в сторону HTML - ИМХО, проще тегов ничего нет. Вот только с корректной распечаткой таких данных может получиться затык.

        В Дельфи есть подобные примеры с компонентом TRichEdit. Но в Лазаре такого компонента нет.

        З.З.Ы. Возможно применение внешних средств, в том числе библиотеки Cairo, так что за подсказку спасибо. Попробую покурить мануалы. Просто хотелось бы найти наиболее лёгкий и логичный путь.
        Сообщение отредактировано: ManDrake -
          Пользователь будет заполнять форму на VCL со всеми проверками, а данные будут использоваться при генерации вёрстки бланка средствами Каиро. Потом тот же layout направляешь на PDF. Вектор тем и хорош, что с пропорциями нет проблем. Перед печатью покажешь воссозданное изображение PNG той же Cairo.

          Добавлено
          Кстати, у Каиро есть также возможность вывода верстки на печать в Win32...
            Да-да, это и интересует. Спасибки, буду смотреть как Lazarus работает с Cairo.
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0340 ]   [ 15 queries used ]   [ Generated: 14.05.24, 11:10 GMT ]