On-line: гостей 4. Всего: 4 [подробнее..]
АвторСообщение
администратор




Пост N: 2758
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.03.13 18:00. Заголовок: PAGESCRIPT 32 FOR (X)HARBOUR


Пытаюсь прикрутить PageScript 32 к проге на Harbour и облом.
К проге на Xharbour прикрутил нормально (работает)
Есть в TPSCRIPT.PRG (поставляется вместе с библой)

 
#include "PScript.ch"
#include "FileIO.ch"

#ifdef __XHARBOUR__
// 02.06.2005 - IBTC - changed for xHarbour Builder:
#xtranslate Method <Classname>:<x> => Method <x>
#define DLL_STDCALL NIL

#include "hbclass.ch"
#else
#include "Xbp.ch"
#include "Dll.ch"
#endif



Harbour естественно не находит Xbp.ch , Dll.ch , не пойму что делать.

 
===============================================
PAGESCRIPT 32 FOR (X)HARBOUR
===============================================

This file contains important supplementary and
late-breaking information that may not appear
in the main product documentation. We recommend
that you read this file in its entirety.

In order to use PageScript 32 with (x)Harbour,
you'll need to distribute PSCRIPT.DLL with your
programs. We recommand that PSCRIPT.DLL be copied
in the application's folder in order to avoid
DLL versions conflicts.

Three files needs to be included in your (x)Harbour
projects :

1 - DLLCALL.C
2 - TPSCRIPT.PRG
3 - PSCRIPT.CH

DLLCALL.C gives PageScript a way to call DLL functions
in the same way as Xbase++ does. This interface is
contributed by Paul Tucker, Ontario, Canada. Many
thanks to him for this great contribution.

TPSCRIPT.PRG contains all the PageScript 32 functions
and one class, named TPageScript. You may either choose
to call PS functions or instantiate TPageScript and use
its methods. When you use functions, calling PSInit()
automaticaly instanciates a Static TPageScript object.

PSCRIPT.CH contains constants used by PageScript 32.



Что то не пойму она будет вообще с Hаrbour работать http://www.abeelabs.com/pagescript32/index.php
у меня версия 1.3.4.0

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 108 , стр: 1 2 3 4 5 6 All [только новые]







Пост N: 739
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 31.03.26 22:48. Заголовок: Dima пишет: можно ч..


Dima пишет:

 цитата:
можно чуть подробнее ?


Dima, если я правильно понял твой вопрос, вот мой класс EPDF:

Скрытый текст


Вот мой класс PS32:

Скрытый текст

В зависимости от того, что нужно юзеру в данный момент (просмотр/печать или pdf файл), я вызываю
либо oETF := PS32():New(...)
либо oETF := EPDF():New(...)
И дальше формирую документ только через методы oETF (extended text format - мое название переменной ).

Названия методов идентичные, но внутренности реализованы по своему. Вспомнил, что начал написание своего класса EPDF (extended pdf ) из-за дурацкого решения в HPDF, при котором координаты 0,0 - в левом нижнем углу страницы.

Если нужна была иная информация от меня - уточни.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8262
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.04.26 12:59. Заголовок: Sergy пишет: Если н..


Sergy пишет:

 цитата:
Если нужна была иная информация от меня - уточни.


Смотри есть у нас
 
PSTextBox(nTop, nLeft, nBottom, nRight, cText, nJustify, cFontName, nFontSize, nFontStyle, nFontFColor, nFontBColor, nThick)

Ближайший аналог в Hpdf
 
HPDF_Page_TextRect( hPage, nLeft, nTop, nRight, nBottom, cText, nAlign )

Я пока не понял как используя HPDF заюзать аналогичные параметры как в PS32
Про эти пишу: cFontName, nFontSize, nFontStyle, nFontFColor, nFontBColor, nThick
Есть идеи ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 740
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 02.04.26 13:44. Заголовок: Dima пишет: Есть ид..


Dima пишет:

 цитата:
Есть идеи ?


Сейчас не могу вспомнить почему, но я вообще не использовал эти функции в своем коде. Возможно потому, что я начинал с HPDF и его разметка с началом координат в левом нижнем углу меня не устраивала. А возможно потому, что мне нужно было динамическое уменьшение размера шрифта, чтобы точно его вписать в прямоугольник.

Поэтому написал такой код для HPDF:

Скрытый текст


а потом по аналогии, сделал его для PS32:

Скрытый текст


В принципе, если тебе нужно, я скину тебе эти два модуля - они к любому проекту должны прикрутиться без проблем.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 741
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 02.04.26 13:54. Заголовок: Если конкретно по шр..


Если конкретно по шрифтам, то я использую эти методы:
 
METHOD FontSet( cFontList ) // ==> hNewFont ready to use
METHOD FontSize( nNewSize ) // get old / set new font size (mm)
METHOD SetFontAndSize( hFont, nSize ) // set new font and its size

То есть - сначала передаю все шрифты в виде списка, а потом переключаю их по мере формирования документа.
В методы вывода текста
 
METHOD TextOut( x, y, cText, nOrigin, lKeepCP )
METHOD TextOutDyn( x, y, cText, nWide, nOrigin )
METHOD TextRect( cText, x, y, nWide, nHigh, cHAlign, cVAlign )
METHOD TextRectDyn( cText, x, y, nWide, nHigh, cHAlign, cVAlign )
METHOD TextStream( x, y, cText, nLineHeight, bAddPage )

Не передаю шрифт, они берут текущий по умолчанию.
Например, если мне нужен заголовок таблицы, я один раз делаю
SetFontAndSize( hFont, nSize )
После чего идет куча TextRect для заголовка
Потом снова один SetFontAndSize( hFont, nSize )
и куча уже TextRectDyn для ячеек таблицы - на случай, если что-то не влезет, размер будет автоматически уменьшен.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8269
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.04.26 14:11. Заголовок: Sergy Пасиб :sm36:..


Sergy
Пасиб
Уже проясняется у меня в голове
А что с фоном внутри прямоугольника делать , если надо залить каким то цветом ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8270
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.26 12:38. Заголовок: Sergy нашел кое чег..


Sergy
нашел кое чего ))
https://github.com/JoseQuintas/pdfclass

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 742
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 03.04.26 17:22. Заголовок: Dima пишет: А что с..


Dima пишет:

 цитата:
А что с фоном внутри прямоугольника делать , если надо залить каким то цветом ?



вот HPDF:

Скрытый текст


вот PS32:

Скрытый текст


в PS32 пришлось выдумывать чудеса с RGB. тк (h?)PDF цвета кодирутся значением от нуля до единицы.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8271
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.26 18:00. Заголовок: Пасиб, понял !..


Пасиб, понял !

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 108 , стр: 1 2 3 4 5 6 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 62
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет