2007-12-01 02:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- contrib/pdflib
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
- Removed pdflib (not working, abandoned)
This commit is contained in:
@@ -8,6 +8,12 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2007-12-01 02:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
- contrib/pdflib
|
||||
* contrib/make_b32_all.bat
|
||||
* contrib/make_vc_all.bat
|
||||
- Removed pdflib (not working, abandoned)
|
||||
|
||||
2007-12-01 02:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
- contrib/htmllib
|
||||
* contrib/Makefile
|
||||
|
||||
@@ -22,7 +22,6 @@ if not "%FIREBIRD_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbfbird
|
||||
if not "%FREEIMAGE_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbfimage
|
||||
if not "%GD_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbgd
|
||||
if not "%MYSQL_DIR%" == "" set _HB_DIRS=%_HB_DIRS% mysql
|
||||
if not "%PDFLIB_DIR%" == "" set _HB_DIRS=%_HB_DIRS% pdflib
|
||||
if not "%PGSQL_DIR%" == "" set _HB_DIRS=%_HB_DIRS% pgsql
|
||||
if not "%ADS_DIR%" == "" set _HB_DIRS=%_HB_DIRS% rdd_ads
|
||||
for %%n in ( %_HB_DIRS% ) do %COMSPEC% /c make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
@@ -22,7 +22,6 @@ if not "%FIREBIRD_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbfbird
|
||||
if not "%FREEIMAGE_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbfimage
|
||||
if not "%GD_DIR%" == "" set _HB_DIRS=%_HB_DIRS% hbgd
|
||||
if not "%MYSQL_DIR%" == "" set _HB_DIRS=%_HB_DIRS% mysql
|
||||
if not "%PDFLIB_DIR%" == "" set _HB_DIRS=%_HB_DIRS% pdflib
|
||||
if not "%PGSQL_DIR%" == "" set _HB_DIRS=%_HB_DIRS% pgsql
|
||||
if not "%ADS_DIR%" == "" set _HB_DIRS=%_HB_DIRS% rdd_ads
|
||||
for %%n in ( %_HB_DIRS% ) do %COMSPEC% /c make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
ROOT = ../../
|
||||
|
||||
C_SOURCES= \
|
||||
pdfhbdoc.c \
|
||||
|
||||
PRG_SOURCES= \
|
||||
pdf1.prg \
|
||||
# pdfhbdocs.prg \
|
||||
|
||||
PRG_HEADERS=\
|
||||
pdf.ch \
|
||||
|
||||
LIBNAME=hbpdflib
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
LIBNAME = hbpdflib
|
||||
|
||||
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
|
||||
|
||||
PRG_HEADERS = \
|
||||
pdf.ch \
|
||||
|
||||
LIB_OBJS = \
|
||||
$(OBJ_DIR)\pdfhbdoc$(OBJEXT) \
|
||||
\
|
||||
# $(OBJ_DIR)\pdfhbdocs$(OBJEXT) \
|
||||
$(OBJ_DIR)\pdf1$(OBJEXT) \
|
||||
|
||||
all: \
|
||||
$(LIB_PATH) \
|
||||
@@ -1,21 +0,0 @@
|
||||
@echo off
|
||||
rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
if not "%PDFLIB_DIR%" == "" goto DIR_OK
|
||||
|
||||
echo ---------------------------------------------------------------
|
||||
echo IMPORTANT: You'll need PDFLIB sources and this envvar
|
||||
echo to be set to successfully build this library:
|
||||
echo set PDFLIB_DIR=C:\pdflib
|
||||
echo ---------------------------------------------------------------
|
||||
exit 1
|
||||
|
||||
:DIR_OK
|
||||
|
||||
set CFLAGS=-I%PDFLIB_DIR%\src\pdflib
|
||||
|
||||
call ..\mtpl_b32.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
set CFLAGS=
|
||||
@@ -1,21 +0,0 @@
|
||||
@echo off
|
||||
rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
if not "%PDFLIB_DIR%" == "" goto DIR_OK
|
||||
|
||||
echo ---------------------------------------------------------------
|
||||
echo IMPORTANT: You'll need PDFLIB sources and this envvar
|
||||
echo to be set to successfully build this library:
|
||||
echo set PDFLIB_DIR=C:\pdflib
|
||||
echo ---------------------------------------------------------------
|
||||
exit 1
|
||||
|
||||
:DIR_OK
|
||||
|
||||
set CFLAGS=-I%PDFLIB_DIR%\src\pdflib
|
||||
|
||||
call ..\mtpl_vc.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
set CFLAGS=
|
||||
@@ -1,234 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "fileio.ch"
|
||||
#include "common.ch"
|
||||
|
||||
#define CRLF chr(13)+chr(10)
|
||||
|
||||
#define NORMAL 0
|
||||
#define BOLD 1
|
||||
#define ITALIC 2
|
||||
#define BOLDITALIC 3
|
||||
|
||||
#define BOOKLEVEL 1
|
||||
#define BOOKTITLE 2
|
||||
#define BOOKPARENT 3
|
||||
#define BOOKPREV 4
|
||||
#define BOOKNEXT 5
|
||||
#define BOOKFIRST 6
|
||||
#define BOOKLAST 7
|
||||
#define BOOKCOUNT 8
|
||||
#define BOOKPAGE 9
|
||||
#define BOOKCOORD 10
|
||||
|
||||
#define FONTNAME 1 // font name
|
||||
#define FONTSIZE 2 // font size
|
||||
#define LPI 3 // lines per inch
|
||||
#define PAGESIZE 4 // page size
|
||||
#define PAGEORIENT 5 // page orientation
|
||||
#define PAGEX 6
|
||||
#define PAGEY 7
|
||||
#define REPORTWIDTH 8 // report width
|
||||
#define REPORTPAGE 9 // report page
|
||||
#define REPORTLINE 10 // report line
|
||||
#define FONTNAMEPREV 11 // prev font name
|
||||
#define FONTSIZEPREV 12 // prev font size
|
||||
#define PAGEBUFFER 13 // page buffer
|
||||
#define REPORTOBJ 14 // current obj
|
||||
#define DOCLEN 15 // document length
|
||||
#define TYPE1 16 // array of type 1 fonts
|
||||
#define MARGINS 17 // recalc margins ?
|
||||
#define HEADEREDIT 18 // edit header ?
|
||||
#define NEXTOBJ 19 // next obj
|
||||
#define PDFTOP 20 // top row
|
||||
#define PDFLEFT 21 // left & right margin in mm
|
||||
#define PDFBOTTOM 22 // bottom row
|
||||
#define HANDLE 23 // handle
|
||||
#define PAGES 24 // array of pages
|
||||
#define REFS 25 // array of references
|
||||
#define BOOKMARK 26 // array of bookmarks
|
||||
#define HEADER 27 // array of headers
|
||||
#define FONTS 28 // array of report fonts
|
||||
#define IMAGES 29 // array of report images
|
||||
#define PAGEIMAGES 30 // array of current page images
|
||||
#define PAGEFONTS 31 // array of current page fonts
|
||||
#define FONTWIDTH 32 // array of fonts width's
|
||||
#define OPTIMIZE 33 // optimized ?
|
||||
#define CREATOR 34
|
||||
#define KEYWORD 35
|
||||
#define AUTHOR 36
|
||||
#define SUBJECT 37
|
||||
#define OVERLINE 38
|
||||
#define UNDERLINE 39
|
||||
#define PDFCOMPLVL 40
|
||||
#define PARAMLEN 40 // number of report elements
|
||||
|
||||
#define ALIGN_LEFT 1
|
||||
#define ALIGN_CENTER 2
|
||||
#define ALIGN_RIGHT 3
|
||||
#define ALIGN_JUSTIFY 4
|
||||
|
||||
#define IMAGE_WIDTH 1
|
||||
#define IMAGE_HEIGHT 2
|
||||
#define IMAGE_XRES 3
|
||||
#define IMAGE_YRES 4
|
||||
#define IMAGE_BITS 5
|
||||
#define IMAGE_FROM 6
|
||||
#define IMAGE_LENGTH 7
|
||||
|
||||
#define BYTE 1
|
||||
#define ASCII 2
|
||||
#define SHORT 3
|
||||
#define LONG 4
|
||||
#define RATIONAL 5
|
||||
#define SBYTE 6
|
||||
#define UNDEFINED 7
|
||||
#define SSHORT 8
|
||||
#define SLONG 9
|
||||
#define SRATIONAL 10
|
||||
#define FLOAT 11
|
||||
#define DOUBLE 12
|
||||
|
||||
#define pdf_ALICEBLUE "F0F8FF"
|
||||
#define pdf_ANTIQUEWHITE "FAEBD7"
|
||||
#define pdf_AQUA "00FFFF"
|
||||
#define pdf_AQUAMARINE "7FFFD4"
|
||||
#define pdf_AZURE "F0FFFF"
|
||||
#define pdf_BEIGE "F5F5DC"
|
||||
#define pdf_BISQUE "FFE4C4"
|
||||
#define pdf_BLACK "000000"
|
||||
#define pdf_BLANCHEDALMOND "FFEBCD"
|
||||
#define pdf_BLUE "0000FF"
|
||||
#define pdf_BLUEVIOLET "8A2BE2"
|
||||
#define pdf_BROWN "A52A2A"
|
||||
#define pdf_BURLYWOOD "DEB887"
|
||||
#define pdf_CADETBLUE "5F9EA0"
|
||||
#define pdf_CHARTREUSE "7FFF00"
|
||||
#define pdf_CHOCOLATE "D2691E"
|
||||
#define pdf_CORAL "FF7F50"
|
||||
#define pdf_CORNFLOWERBLUE "6495ED"
|
||||
#define pdf_CORNSILK "FFF8DC"
|
||||
#define pdf_CRIMSON "DC143C"
|
||||
#define pdf_CYAN "00FFFF"
|
||||
#define pdf_DARKBLUE "00008B"
|
||||
#define pdf_DARKCYAN "008B8B"
|
||||
#define pdf_DARKGOLDENROD "B8860B"
|
||||
#define pdf_DARKGRAY "A9A9A9"
|
||||
#define pdf_DARKGREEN "006400"
|
||||
#define pdf_DARKKHAKI "BDB76B"
|
||||
#define pdf_DARKMAGENTA "8B008B"
|
||||
#define pdf_DARKOLIVEGREEN "556B2F"
|
||||
#define pdf_DARKORANGE "FF8C00"
|
||||
#define pdf_DARKORCHID "9932CC"
|
||||
#define pdf_DARKRED "8B0000"
|
||||
#define pdf_DARKSALMON "E9967A"
|
||||
#define pdf_DARKSEAGREEN "8FBC8F"
|
||||
#define pdf_DARKSLATEBLUE "483D8B"
|
||||
#define pdf_DARKSLATEGRAY "2F4F4F"
|
||||
#define pdf_DARKTURQUOISE "00CED1"
|
||||
#define pdf_DARKVIOLET "9400D3"
|
||||
#define pdf_DEEPPINK "FF1493"
|
||||
#define pdf_DEEPSKYBLUE "00BFFF"
|
||||
#define pdf_DIMGRAY "696969"
|
||||
#define pdf_DODGERBLUE "1E90FF"
|
||||
#define pdf_FIREBRICK "B22222"
|
||||
#define pdf_FLORALWHITE "FFFAF0"
|
||||
#define pdf_FORESTGREEN "228B22"
|
||||
#define pdf_FUCHSIA "FF00FF"
|
||||
#define pdf_GAINSBORO "DCDCDC"
|
||||
#define pdf_GHOSTWHITE "F8F8FF"
|
||||
#define pdf_GOLD "FFD700"
|
||||
#define pdf_GOLDENROD "DAA520"
|
||||
#define pdf_GRAY "808080"
|
||||
#define pdf_GREEN "008000"
|
||||
#define pdf_GREENYELLOW "ADFF2F"
|
||||
#define pdf_HONEYDEW "F0FFF0"
|
||||
#define pdf_HOTPINK "FF69B4"
|
||||
#define pdf_INDIANRED "CD5C5C"
|
||||
#define pdf_INDIGO "4B0082"
|
||||
#define pdf_IVORY "FFFFF0"
|
||||
#define pdf_KHAKI "F0E68C"
|
||||
#define pdf_LAVENDER "E6E6FA"
|
||||
#define pdf_LAVENDERBLUSH "FFF0F5"
|
||||
#define pdf_LAWNGREEN "7CFC00"
|
||||
#define pdf_LEMONCHIFFON "FFFACD"
|
||||
#define pdf_LIGHTBLUE "ADD8E6"
|
||||
#define pdf_LIGHTCORAL "F08080"
|
||||
#define pdf_LIGHTCYAN "E0FFFF"
|
||||
#define pdf_LIGHTGOLDENRODYELLOW "FAFAD2"
|
||||
#define pdf_LIGHTGREEN "90EE90"
|
||||
#define pdf_LIGHTGREY "D3D3D3"
|
||||
#define pdf_LIGHTPINK "FFB6C1"
|
||||
#define pdf_LIGHTSALMON "FFA07A"
|
||||
#define pdf_LIGHTSEAGREEN "20B2AA"
|
||||
#define pdf_LIGHTSKYBLUE "87CEFA"
|
||||
#define pdf_LIGHTSLATEGRAY "778899"
|
||||
#define pdf_LIGHTSTEELBLUE "B0C4DE"
|
||||
#define pdf_LIGHTYELLOW "FFFFE0"
|
||||
#define pdf_LIME "00FF00"
|
||||
#define pdf_LIMEGREEN "32CD32"
|
||||
#define pdf_LINEN "FAF0E6"
|
||||
#define pdf_MAGENTA "FF00FF"
|
||||
#define pdf_MAROON "800000"
|
||||
#define pdf_MEDIUMAQUAMARINE "66CDAA"
|
||||
#define pdf_MEDIUMBLUE "0000CD"
|
||||
#define pdf_MEDIUMORCHID "BA55D3"
|
||||
#define pdf_MEDIUMPURPLE "9370DB"
|
||||
#define pdf_MEDIUMSEAGREEN "3CB371"
|
||||
#define pdf_MEDIUMSLATEBLUE "7B68EE"
|
||||
#define pdf_MEDIUMSPRINGGREEN "00FA9A"
|
||||
#define pdf_MEDIUMTURQUOISE "48D1CC"
|
||||
#define pdf_MEDIUMVIOLETRED "C71585"
|
||||
#define pdf_MIDNIGHTBLUE "191970"
|
||||
#define pdf_MINTCREAM "F5FFFA"
|
||||
#define pdf_MISTYROSE "FFE4E1"
|
||||
#define pdf_MOCCASIN "FFE4B5"
|
||||
#define pdf_NAVAJOWHITE "FFDEAD"
|
||||
#define pdf_NAVY "000080"
|
||||
#define pdf_OLDLACE "FDF5E6"
|
||||
#define pdf_OLIVE "808000"
|
||||
#define pdf_OLIVEDRAB "6B8E23"
|
||||
#define pdf_ORANGE "FFA500"
|
||||
#define pdf_ORANGERED "FF4500"
|
||||
#define pdf_ORCHID "DA70D6"
|
||||
#define pdf_PALEGOLDENROD "EEE8AA"
|
||||
#define pdf_PALEGREEN "98FB98"
|
||||
#define pdf_PALETURQUOISE "AFEEEE"
|
||||
#define pdf_PALEVIOLETRED "DB7093"
|
||||
#define pdf_PAPAYAWHIP "FFEFD5"
|
||||
#define pdf_PEACHPUFF "FFDAB9"
|
||||
#define pdf_PERU "CD853F"
|
||||
#define pdf_PINK "FFC0CB"
|
||||
#define pdf_PLUM "DDADDD"
|
||||
#define pdf_POWDERBLUE "B0E0E6"
|
||||
#define pdf_PURPLE "800080"
|
||||
#define pdf_RED "FF0000"
|
||||
#define pdf_ROSYBROWN "BC8F8F"
|
||||
#define pdf_ROYALBLUE "4169E1"
|
||||
#define pdf_SADDLEBROWN "8B4513"
|
||||
#define pdf_SALMON "FA8072"
|
||||
#define pdf_SANDYBROWN "F4A460"
|
||||
#define pdf_SEAGREEN "2E8B57"
|
||||
#define pdf_SEASHELL "FFF5EE"
|
||||
#define pdf_SIENNA "A0522D"
|
||||
#define pdf_SILVER "C0C0C0"
|
||||
#define pdf_SKYBLUE "87CEEB"
|
||||
#define pdf_SLATEBLUE "6A5ACD"
|
||||
#define pdf_SLATEGRAY "708090"
|
||||
#define pdf_SNOW "FFFAFA"
|
||||
#define pdf_SPRINGGREEN "00FF7F"
|
||||
#define pdf_STEELBLUE "4682B4"
|
||||
#define pdf_TAN "D2B48C"
|
||||
#define pdf_TEAL "008080"
|
||||
#define pdf_THISTLE "D8BFD8"
|
||||
#define pdf_TOMATO "FF6347"
|
||||
#define pdf_TURQUOISE "40E0D0"
|
||||
#define pdf_VIOLET "EE82EE"
|
||||
#define pdf_WHEAT "F5DEB3"
|
||||
#define pdf_WHITE "FFFFFF"
|
||||
#define pdf_WHITESMOKE "F5F5F5"
|
||||
#define pdf_YELLOW "FFFF00"
|
||||
#define pdf_YELLOWGREEN "9ACD32"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,965 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* PDF low level Api for HBDOC
|
||||
*
|
||||
* Copyright 2000-2004 Luiz Rafael Culik <culikr /at/ brturbo.com>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
|
||||
#define HB_OS_WIN_32_USED
|
||||
|
||||
#include <hbapi.h>
|
||||
#include <hbapiitm.h>
|
||||
#include "pdflib.h"
|
||||
|
||||
PDF *szPDFFile;
|
||||
#define FONTBOLD "Courier-Bold"
|
||||
#define FONTNORMAL "Courier"
|
||||
#define FONTSIZE 10.0/*10.0*/
|
||||
#define FONTSIZEBOLD 15.0
|
||||
#define FONTSIZESMALL 10.0 /*10.0*/
|
||||
#define FONTSIZETABLE 8.5
|
||||
#define LEAD ((int) (FONTSIZESMALL * 1.0))
|
||||
#define LEADLINK ((int) (FONTSIZESMALL * 1.3))
|
||||
#define LEADTABLE ((int) (FONTSIZESMALL * 1.2))
|
||||
|
||||
static float fRow = 800;
|
||||
static float fOldPos;
|
||||
static float iWidth;
|
||||
static float fCol;
|
||||
static int sziFontBold = 0;
|
||||
static int sziFont = 0;
|
||||
static int iPage = 1;
|
||||
static ULONG uiLen;
|
||||
static ULONG uiCount;
|
||||
static BOOL bTItems;
|
||||
static BOOL bFItems;
|
||||
#if 0
|
||||
static float fRow = 0
|
||||
#endif
|
||||
static float fCurCol = 0, fCurLastCol, fLastRow;
|
||||
static float fStartCol, fStartCol2;
|
||||
static PHB_ITEM pArray = NULL;
|
||||
static BOOL bInitArray = 0;
|
||||
static float hb_checkStringWidth( const char * szString );
|
||||
static float hb_pdfGetHeight( const char *szText );
|
||||
static void hb_ProcessTableItem( PHB_ITEM p1, PHB_ITEM p2, PHB_ITEM p3, PHB_ITEM p4 );
|
||||
float getText( PDF *p, const char *szText, int iFont, float frow, float fcol, float iw);
|
||||
void setText( PDF *p, const char *szText, float frow, float fcol, float h, float iw);
|
||||
|
||||
HB_FUNC(HB_PDFNEW)
|
||||
{
|
||||
const char *szFileResult;
|
||||
szFileResult= ( char * ) hb_parc( 1 );
|
||||
|
||||
if ( szPDFFile == NULL)
|
||||
{
|
||||
szPDFFile = PDF_new();
|
||||
PDF_set_value( szPDFFile, "compress", ( float ) 9);
|
||||
}
|
||||
|
||||
if ( PDF_open_file( szPDFFile, szFileResult ) == -1 )
|
||||
{
|
||||
hb_retl( 1 );
|
||||
}
|
||||
|
||||
PDF_set_info( szPDFFile, "Keywords", "XHarbour compiler" );
|
||||
PDF_set_info( szPDFFile, "Subject" , "XHarbour" ) ;
|
||||
PDF_set_info( szPDFFile, "Title" , "XHarbour doc guide" );
|
||||
PDF_set_info( szPDFFile, "Creator" , "HBDOC XHarbour Document Extractor" );
|
||||
PDF_set_info( szPDFFile, "Author" , "Luiz Rafael Culik" );
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0);
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0);
|
||||
hb_retl( 0 );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFNEWPAGE)
|
||||
{
|
||||
const char *szTitleT;
|
||||
fCurCol = 0;
|
||||
szTitleT= ( char * ) hb_parc( 1 );
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height ); /* start a new page */
|
||||
PDF_setfont( szPDFFile, sziFontBold, FONTSIZEBOLD );
|
||||
PDF_show_xy( szPDFFile, szTitleT, 50, fRow -= LEAD );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFENDPAGE)
|
||||
{
|
||||
fRow = 800;
|
||||
PDF_end_page( szPDFFile ); /* close page */
|
||||
iPage ++ ;
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFWRITEBOLDTEXT)
|
||||
{
|
||||
const char *szTextT;
|
||||
szTextT = ( char * ) hb_parc( 1 );
|
||||
|
||||
if ( fRow<=40)
|
||||
{
|
||||
fRow=800;
|
||||
PDF_end_page( szPDFFile );
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0 );
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0 );
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height ); /* start a new page */
|
||||
iPage ++ ;
|
||||
}
|
||||
|
||||
PDF_setfont( szPDFFile, sziFontBold, FONTSIZESMALL );
|
||||
|
||||
PDF_show_xy( szPDFFile, szTextT, 25, fRow -= LEAD );
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZESMALL );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFWRITEBOLDTEXT1)
|
||||
{
|
||||
const char *szTextT;
|
||||
szTextT = ( char * ) hb_parc( 1 );
|
||||
|
||||
if ( fRow <= 40 )
|
||||
{
|
||||
fRow = 800;
|
||||
PDF_end_page( szPDFFile );
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height ); /* start a new page */
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0);
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0);
|
||||
iPage ++;
|
||||
}
|
||||
|
||||
PDF_setfont( szPDFFile, sziFontBold, FONTSIZEBOLD );
|
||||
PDF_show_xy( szPDFFile, szTextT, 25, fRow -= LEAD );
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZESMALL );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFWRITETEXT)
|
||||
{
|
||||
const char *szTextT;
|
||||
szTextT = ( char * ) hb_parc( 1 );
|
||||
|
||||
if ( fRow <= 40 )
|
||||
{
|
||||
fRow=800;
|
||||
PDF_end_page( szPDFFile );
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0);
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0);
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height); /* start a new page */
|
||||
iPage ++;
|
||||
}
|
||||
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZESMALL );
|
||||
PDF_show_xy( szPDFFile, szTextT, 25, fRow -= LEAD);
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFCLOSE)
|
||||
{
|
||||
hb_itemClear( pArray );
|
||||
PDF_close( szPDFFile ); /* close PDF document */
|
||||
PDF_delete( szPDFFile ); /* delete the PDF object */
|
||||
szPDFFile=NULL;
|
||||
sziFontBold=0;
|
||||
sziFont=0;
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFWRITEARG)
|
||||
{
|
||||
const char *szTextT;
|
||||
const char *szBTextT;
|
||||
|
||||
szTextT = ( char * ) hb_parc( 2 );
|
||||
szBTextT = ( char * ) hb_parc( 1 );
|
||||
|
||||
if ( fRow <= 40 )
|
||||
{
|
||||
fRow = 800;
|
||||
PDF_end_page( szPDFFile );
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0);
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0);
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height); /* start a new page */
|
||||
iPage ++;
|
||||
}
|
||||
|
||||
PDF_setfont( szPDFFile, sziFontBold, FONTSIZESMALL );
|
||||
PDF_show_xy( szPDFFile, szBTextT, 25, fRow -= LEAD );
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZESMALL );
|
||||
PDF_show( szPDFFile, szTextT );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFADDLINK)
|
||||
{
|
||||
int iPagetoGo = hb_parni( 2 ) - 1;
|
||||
const char *szLink;
|
||||
|
||||
szLink = ( char * ) hb_parc( 1 );
|
||||
if (fRow <= 40 )
|
||||
{
|
||||
fRow = 800;
|
||||
PDF_end_page( szPDFFile );
|
||||
sziFont = PDF_findfont( szPDFFile, FONTNORMAL, "host", 0 );
|
||||
sziFontBold = PDF_findfont( szPDFFile, FONTBOLD, "host", 0 );
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height ); /* start a new page */
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZESMALL );
|
||||
iPage ++;
|
||||
}
|
||||
|
||||
fCol = ( float ) fRow;
|
||||
iWidth = hb_checkStringWidth( szLink );
|
||||
|
||||
// New Page, so curCol is 0
|
||||
if ( fCurCol == 0)
|
||||
{
|
||||
fCurCol = 60 ;
|
||||
fLastRow = ( fRow - LEADLINK );
|
||||
fCurLastCol = ( fCol - LEAD );
|
||||
fStartCol = 49 ;
|
||||
fStartCol2 = 50 ;
|
||||
|
||||
}
|
||||
|
||||
if ( fCurCol + iWidth + 10 <= a4_width )
|
||||
{
|
||||
PDF_set_border_color( szPDFFile, ( float ) 1 ,( float ) 1 ,( float ) 1 );
|
||||
PDF_add_locallink( szPDFFile, fStartCol, fLastRow, fCurCol + iWidth, fCol, iPagetoGo, "fitwidth");
|
||||
PDF_setrgbcolor( szPDFFile, ( float ) 0, ( float ) 0, ( float ) 1 );
|
||||
PDF_set_parameter( szPDFFile, "underline", "true" );
|
||||
PDF_show_xy( szPDFFile, szLink, fStartCol2, fCurLastCol );
|
||||
PDF_setrgbcolor( szPDFFile, ( float ) 0, ( float ) 0, ( float ) 0);
|
||||
PDF_set_parameter( szPDFFile, "underline", "false");
|
||||
fCurCol += 10 + iWidth;
|
||||
fStartCol += iWidth;
|
||||
fStartCol2 += iWidth;
|
||||
|
||||
|
||||
if( fCurCol > a4_width )
|
||||
{
|
||||
fCurCol = 00 ;
|
||||
fStartCol = 49 ;
|
||||
fStartCol2 = 50 ;
|
||||
fRow -= LEADLINK;
|
||||
fCol -= LEAD;
|
||||
|
||||
}
|
||||
}
|
||||
iWidth = 0 ;
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFINITBOOK)
|
||||
{
|
||||
PHB_ITEM pItems;
|
||||
pItems = hb_param( 1, HB_IT_ARRAY );
|
||||
uiLen = hb_arrayLen( pItems );
|
||||
|
||||
if ( !bInitArray )
|
||||
{
|
||||
pArray = hb_itemNew( NULL );
|
||||
hb_arrayNew( pArray, 0 );
|
||||
bInitArray = 1;
|
||||
}
|
||||
|
||||
for ( uiCount = 1 ; uiCount <= uiLen ; uiCount++ )
|
||||
{
|
||||
const char *szBook = ( char * ) hb_arrayGetCPtr( pItems, uiCount );
|
||||
int iLevel;
|
||||
PHB_ITEM TempArray = hb_itemNew( NULL );
|
||||
PHB_ITEM Temp = hb_itemNew( NULL );
|
||||
|
||||
hb_arrayNew( TempArray, 2 );
|
||||
iLevel = PDF_add_bookmark( szPDFFile, szBook, 0, 0 );
|
||||
hb_arraySetForward( TempArray, 1, hb_itemPutC( Temp, hb_arrayGetCPtr( pItems, uiCount ) ) );
|
||||
hb_arraySetForward( TempArray, 2, hb_itemPutNI( Temp, iLevel) );
|
||||
hb_arraySetForward( pArray, uiCount, TempArray );
|
||||
|
||||
hb_itemRelease( Temp );
|
||||
hb_itemRelease( TempArray );
|
||||
}
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFBOOKMARK)
|
||||
{
|
||||
const char *szBook1 =( char * )hb_parc( 2 );
|
||||
ULONG uiPos;
|
||||
PHB_ITEM TempArray = hb_itemNew( NULL );
|
||||
int iParent = 0;
|
||||
PHB_ITEM pBlock = hb_param( 3, HB_IT_BLOCK );
|
||||
|
||||
uiPos = hb_arrayScan( pArray, pBlock, NULL, NULL, FALSE );
|
||||
|
||||
if ( uiPos > 0 )
|
||||
{
|
||||
if ( hb_arrayGet( pArray, uiPos, TempArray ) )
|
||||
{
|
||||
iParent = hb_arrayGetNI( TempArray, 2 );
|
||||
hb_itemClear( TempArray );
|
||||
}
|
||||
}
|
||||
|
||||
PDF_add_bookmark(szPDFFile, szBook1, iParent, 0);
|
||||
|
||||
hb_itemRelease( TempArray );
|
||||
}
|
||||
|
||||
HB_FUNC(HB_GETPAGE)
|
||||
{
|
||||
hb_retni( iPage );
|
||||
}
|
||||
|
||||
#if 0
|
||||
static BOOL hb_checkRow( float iLine )
|
||||
{
|
||||
if ( iLine <= 20 )
|
||||
{
|
||||
fRow = 800;
|
||||
PDF_end_page( szPDFFile );
|
||||
PDF_begin_page( szPDFFile, a4_width, a4_height); /* start a new page */
|
||||
iPage ++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
static float hb_checkStringWidth(const char *szString)
|
||||
{
|
||||
float fReturn;
|
||||
fReturn = PDF_stringwidth( szPDFFile, szString, sziFont, FONTSIZESMALL);
|
||||
return fReturn;
|
||||
}
|
||||
|
||||
HB_FUNC(HB_PDFTABLE)
|
||||
{
|
||||
PHB_ITEM pTableItem ;
|
||||
PHB_ITEM pTableItem1 ;
|
||||
PHB_ITEM pTableItem2 ;
|
||||
PHB_ITEM pTableItem3 ;
|
||||
ULONG ulPos;
|
||||
|
||||
pTableItem = hb_param( 1, HB_IT_ARRAY );
|
||||
pTableItem1 = hb_param( 2, HB_IT_ARRAY );
|
||||
pTableItem2 = hb_param( 3, HB_IT_ARRAY );
|
||||
pTableItem3 = hb_param( 4, HB_IT_ARRAY );
|
||||
|
||||
if ( pTableItem2 != NULL)
|
||||
{
|
||||
bTItems = TRUE;
|
||||
}
|
||||
|
||||
if ( pTableItem3 != NULL )
|
||||
{
|
||||
bFItems = TRUE;
|
||||
bTItems = FALSE;
|
||||
}
|
||||
|
||||
fRow -= LEAD;
|
||||
|
||||
for ( ulPos = 1 ; ulPos <= hb_arrayLen( pTableItem ) ; ulPos ++ )
|
||||
{
|
||||
PHB_ITEM TempArray = hb_itemNew( NULL );
|
||||
PHB_ITEM TempArray1 = hb_itemNew( NULL );
|
||||
|
||||
fCol = fRow;
|
||||
hb_arrayGet( pTableItem, ulPos, TempArray );
|
||||
hb_arrayGet( pTableItem1, ulPos, TempArray1 );
|
||||
|
||||
if ( !bTItems && !bFItems)
|
||||
{
|
||||
hb_ProcessTableItem( TempArray, TempArray1, NULL, NULL);
|
||||
hb_itemClear( TempArray );
|
||||
hb_itemClear( TempArray1 );
|
||||
}
|
||||
|
||||
if ( bTItems && !bFItems)
|
||||
{
|
||||
PHB_ITEM TempArray2 = hb_itemNew( NULL );
|
||||
|
||||
hb_arrayGet( pTableItem2 , ulPos, TempArray2 );
|
||||
hb_ProcessTableItem( TempArray, TempArray1, TempArray2, NULL );
|
||||
hb_itemClear( TempArray );
|
||||
hb_itemClear( TempArray1 );
|
||||
hb_itemClear( TempArray2 );
|
||||
|
||||
hb_itemRelease( TempArray2 );
|
||||
}
|
||||
|
||||
if (!bTItems && bFItems)
|
||||
{
|
||||
PHB_ITEM TempArray2 = hb_itemNew( NULL );
|
||||
PHB_ITEM TempArray3 = hb_itemNew( NULL );
|
||||
|
||||
hb_arrayGet( pTableItem2, ulPos, TempArray2 );
|
||||
hb_arrayGet( pTableItem3, ulPos, TempArray3 );
|
||||
hb_ProcessTableItem( TempArray, TempArray1, TempArray2, TempArray3 );
|
||||
hb_itemClear( TempArray );
|
||||
hb_itemClear( TempArray1 );
|
||||
hb_itemClear( TempArray2 );
|
||||
hb_itemClear( TempArray3 );
|
||||
|
||||
hb_itemRelease( TempArray2 );
|
||||
hb_itemRelease( TempArray3 );
|
||||
}
|
||||
}
|
||||
|
||||
bTItems=FALSE;
|
||||
bFItems=FALSE;
|
||||
fOldPos=0;
|
||||
}
|
||||
|
||||
static void hb_ProcessTableItem( PHB_ITEM p1, PHB_ITEM p2, PHB_ITEM p3, PHB_ITEM p4)
|
||||
{
|
||||
ULONG ulTempPos;
|
||||
ULONG ulLen;
|
||||
float iitem, iitem1, iitem2,iitem3;
|
||||
|
||||
ulLen = hb_arrayLen( p1 );
|
||||
|
||||
for ( ulTempPos = 1 ; ulTempPos <= ulLen ; ulTempPos ++ )
|
||||
{
|
||||
const char *szTemp = ( char * ) hb_arrayGetCPtr( p1, ulTempPos );
|
||||
const char *szTemp1 = ( char * ) hb_arrayGetCPtr( p2, ulTempPos );
|
||||
|
||||
if (!bTItems && !bFItems)
|
||||
{
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZETABLE);
|
||||
iitem = getText( szPDFFile, szTemp1, sziFont, 293, fRow, 261);
|
||||
iitem1 = getText( szPDFFile, szTemp, sziFont, 27, fRow, 261);
|
||||
if ( iitem < iitem1)
|
||||
{
|
||||
setText( szPDFFile, szTemp1, 293, fRow, iitem1, 261);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem1, 261);
|
||||
fRow -= iitem1;
|
||||
}
|
||||
else
|
||||
{
|
||||
setText( szPDFFile, szTemp1, 293, fRow, iitem, 261);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem, 261);
|
||||
fRow -= iitem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (bTItems && !bFItems)
|
||||
{
|
||||
const char * szTemp2=( char * ) hb_arrayGetCPtr( p3, ulTempPos );
|
||||
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZETABLE);
|
||||
iitem = getText( szPDFFile, szTemp2, sziFont, 381, fRow, 173);
|
||||
iitem1 = getText( szPDFFile, szTemp1, sziFont, 204, fRow, 172);
|
||||
iitem2 = getText( szPDFFile, szTemp, sziFont, 27, fRow, 172);
|
||||
|
||||
if ( iitem > iitem1 && iitem > iitem2)
|
||||
{
|
||||
setText( szPDFFile, szTemp2, 381, fRow, iitem, 173);
|
||||
setText( szPDFFile, szTemp1, 204, fRow, iitem, 172);
|
||||
setText( szPDFFile, szTemp , 27, fRow, iitem, 172);
|
||||
fRow -= iitem;
|
||||
}
|
||||
|
||||
if ( iitem2 > iitem && iitem2 >iitem1)
|
||||
{
|
||||
setText( szPDFFile, szTemp2, 381, fRow, iitem2, 173);
|
||||
setText( szPDFFile, szTemp1, 204, fRow, iitem2, 172);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem2, 172);
|
||||
fRow -= iitem2;
|
||||
}
|
||||
|
||||
if ( iitem1 > iitem && iitem1 > iitem2 )
|
||||
{
|
||||
setText( szPDFFile, szTemp2, 381, fRow, iitem1, 173);
|
||||
setText( szPDFFile, szTemp1, 204, fRow, iitem1, 172);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem1, 172);
|
||||
fRow -= iitem1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( !bTItems && bFItems )
|
||||
{
|
||||
const char * szTemp2 = ( char * ) hb_arrayGetCPtr( p3, ulTempPos );
|
||||
const char * szTemp3 = ( char * ) hb_arrayGetCPtr( p4, ulTempPos );
|
||||
|
||||
PDF_setfont( szPDFFile, sziFont, FONTSIZETABLE);
|
||||
iitem1 = getText( szPDFFile, szTemp3, sziFont, 426, fRow, 128 );
|
||||
iitem2 = getText( szPDFFile, szTemp2, sziFont, 293, fRow, 128 );
|
||||
iitem = getText( szPDFFile, szTemp1, sziFont, 160, fRow, 128 );
|
||||
iitem3 = getText( szPDFFile, szTemp, sziFont, 27, fRow, 128 );
|
||||
if (iitem > iitem1 && iitem > iitem2 && iitem > iitem3)
|
||||
{
|
||||
setText( szPDFFile, szTemp3, 426, fRow, iitem, 128);
|
||||
setText( szPDFFile, szTemp2, 293, fRow, iitem, 128);
|
||||
setText( szPDFFile, szTemp1, 160, fRow, iitem, 128);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem, 128);
|
||||
fRow -= iitem;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iitem2 > iitem && iitem2 > iitem1 && iitem2 > iitem3)
|
||||
{
|
||||
setText( szPDFFile, szTemp3, 426, fRow, iitem2, 128);
|
||||
setText( szPDFFile, szTemp2, 293, fRow, iitem2, 128);
|
||||
setText( szPDFFile, szTemp1, 160, fRow, iitem2, 128);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem2, 128);
|
||||
fRow -= iitem2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( iitem1 > iitem && iitem1 > iitem2 && iitem1 > iitem3)
|
||||
{
|
||||
setText( szPDFFile, szTemp3, 426, fRow, iitem1, 128);
|
||||
setText( szPDFFile, szTemp2, 293, fRow, iitem1, 128);
|
||||
setText( szPDFFile, szTemp1, 160, fRow, iitem1, 128);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem1, 128);
|
||||
fRow -= iitem1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( iitem3 > iitem && iitem3 > iitem2 && iitem3 > iitem)
|
||||
{
|
||||
setText( szPDFFile, szTemp3, 426, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp2, 293, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp1, 160, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem3, 128);
|
||||
fRow -= iitem3;
|
||||
}
|
||||
else
|
||||
{
|
||||
setText( szPDFFile, szTemp3, 426, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp2, 293, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp1, 160, fRow, iitem3, 128);
|
||||
setText( szPDFFile, szTemp, 27, fRow, iitem3, 128);
|
||||
fRow -= iitem3;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float getText( PDF *p, const char *szText, int iFont, float frow, float fcol, float iw )
|
||||
{
|
||||
float h;
|
||||
int c;
|
||||
h = FONTSIZETABLE * 2;
|
||||
PDF_setfont( p, iFont, 7.0);
|
||||
|
||||
c = PDF_show_boxed( p, szText, frow, fcol, iw, h, "justify", "blind" );
|
||||
|
||||
while ( c > 0)
|
||||
{
|
||||
h += FONTSIZETABLE;
|
||||
c = PDF_show_boxed(p, szText, frow, fcol, iw, h, "justify", "blind" );
|
||||
}
|
||||
|
||||
return h;
|
||||
}
|
||||
|
||||
void setText( PDF *p, const char *szText, float frow, float fcol, float h, float iw )
|
||||
{
|
||||
PDF_show_boxed( p, szText, frow, fcol, iw, h, "justify", "" );
|
||||
PDF_rect( p, frow, fcol, iw + 5, h );
|
||||
PDF_stroke( p );
|
||||
}
|
||||
|
||||
const char szFontTable[ ] = {
|
||||
"\xfa\0\xfa\0\xfa\0\xfa\0\x4d\x01\x4d\x01\x4d\x01\x85\x01"
|
||||
"\x98\x01\x2b\x02\xa4\x01\x2b\x02\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\x41\x03\xe8\x03\x41\x03\x41\x03"
|
||||
"\x0a\x03\x41\x03\x0a\x03\x0a\x03\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\x34\x02\x3a\x02\xa3\x02\x3a\x02"
|
||||
"\xfa\0\xfa\0\xfa\0\xfa\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\xfa\0\xfa\0\xfa\0\xfa\0\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\x16\x01\x4d\x01\x4d\x01\x4d\x01\x16\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x34\x02\x3a\x02\xa3\x02\x3a\x02\x34\x02\x3a\x02\xa3\x02\x3a\x02"
|
||||
"\x34\x02\x3a\x02\xa3\x02\x3a\x02\xbc\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\x99\x03\xa2\x03\x98\x03\x40\x03\xd2\x02\xd2\x02\x63\x02\x9b\x02"
|
||||
"\x9b\x02\x9b\x02\x63\x02\x9b\x02\x9b\x02\xd2\x02\x9b\x02\x9b\x02"
|
||||
"\xd2\x02\xd2\x02\xd2\x02\xd2\x02\x63\x02\x9b\x02\x63\x02\x9b\x02"
|
||||
"\x2c\x02\x63\x02\x63\x02\x9b\x02\xd2\x02\x0a\x03\xd2\x02\xd2\x02"
|
||||
"\xd2\x02\x0a\x03\xd2\x02\x0a\x03\x4d\x01\x85\x01\x4d\x01\x85\x01"
|
||||
"\x85\x01\xf4\x01\xbc\x01\xf4\x01\xd2\x02\x0a\x03\x9b\x02\x9b\x02"
|
||||
"\x63\x02\x9b\x02\x2c\x02\x63\x02\x79\x03\xb0\x03\x41\x03\x79\x03"
|
||||
"\xd2\x02\xd2\x02\x9b\x02\xd2\x02\xd2\x02\x0a\x03\xd2\x02\xd2\x02"
|
||||
"\x2c\x02\x63\x02\x63\x02\x63\x02\xd2\x02\x0a\x03\xd2\x02\xd2\x02"
|
||||
"\x9b\x02\xd2\x02\x63\x02\x9b\x02\x2c\x02\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\x63\x02\x9b\x02\x2c\x02\x63\x02\xd2\x02\xd2\x02\xd2\x02\xd2\x02"
|
||||
"\xd2\x02\xd2\x02\x63\x02\x9b\x02\xb0\x03\xe8\x03\x41\x03\x79\x03"
|
||||
"\xd2\x02\xd2\x02\x63\x02\x9b\x02\xd2\x02\xd2\x02\x2c\x02\x63\x02"
|
||||
"\x63\x02\x9b\x02\x2c\x02\x63\x02\x4d\x01\x4d\x01\x85\x01\x4d\x01"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x4d\x01\x4d\x01\x85\x01\x4d\x01"
|
||||
"\xd5\x01\x45\x02\xa6\x01\x3a\x02\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\xbc\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xbc\x01\xbc\x01\xbc\x01\xbc\x01"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xbc\x01\xbc\x01\xbc\x01\xbc\x01"
|
||||
"\x4d\x01\x4d\x01\x16\x01\x4d\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\x2c\x02\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\x16\x01\x4d\x01\x16\x01\x16\x01\xf4\x01\x2c\x02\xbc\x01\xf4\x01"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x0a\x03\x41\x03\xd2\x02\x0a\x03"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xf4\x01\x2c\x02\xf4\x01\xf4\x01"
|
||||
"\x4d\x01\xbc\x01\x85\x01\x85\x01\x85\x01\x85\x01\x85\x01\x85\x01"
|
||||
"\x16\x01\x4d\x01\x16\x01\x16\x01\xf4\x01\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\xf4\x01\xf4\x01\xbc\x01\xbc\x01\xd2\x02\xd2\x02\x9b\x02\x9b\x02"
|
||||
"\xf4\x01\xf4\x01\xbc\x01\xf4\x01\xf4\x01\xf4\x01\xbc\x01\xbc\x01"
|
||||
"\xbc\x01\xbc\x01\x85\x01\x85\x01\xe0\x01\x8a\x01\x90\x01\x5c\x01"
|
||||
"\xc8\0\xdc\0\x13\x01\xdc\0\xe0\x01\x8a\x01\x90\x01\x5c\x01"
|
||||
"\x1d\x02\x08\x02\x1d\x02\x3a\x02\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x85\x01\x85\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xa7\0\xa7\0\xa7\0\xa7\0\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xb4\0\x16\x01\xd6\0\x16\x01"
|
||||
"\xbc\x01\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x2c\x02\x2c\x02\xf4\x01\x2c\x02\x2c\x02\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\0\0\0\0\0\0\0\0\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xfa\0\xfa\0\xfa\0\xfa\0\0\0\0\0\0\0\0\0"
|
||||
"\xc5\x01\x1c\x02\x0b\x02\xf4\x01\x5e\x01\x5e\x01\x5e\x01\x5e\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\xbc\x01\xf4\x01\x2c\x02\xf4\x01"
|
||||
"\xbc\x01\xf4\x01\x2c\x02\xf4\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xe8\x03\xe8\x03\x79\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03"
|
||||
"\0\0\0\0\0\0\0\0\xbc\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\0\0\0\0\0\0\0\0"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\xe8\x03\xe8\x03\x79\x03\xe8\x03\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x79\x03\xe8\x03\x79\x03\xb0\x03"
|
||||
"\0\0\0\0\0\0\0\0\x14\x01\x2c\x01\x14\x01\x0a\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\x63\x02\x9b\x02\x2c\x02\x63\x02\xd2\x02\x0a\x03\xd2\x02\xd2\x02"
|
||||
"\x79\x03\xe8\x03\xb0\x03\xb0\x03\x36\x01\x4a\x01\x36\x01\x2c\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x9b\x02\xd2\x02\x9b\x02\xd2\x02"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\xf4\x01\xf4\x01\xf4\x01\xf4\x01"
|
||||
"\xd2\x02\xd2\x02\x9b\x02\xd2\x02\xf4\x01\x2c\x02\xf4\x01\xf4\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x4d\x01\x16\x01\x4d\x01"
|
||||
"\x63\x01\xda\x01\x63\x01\xda\x01\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x79\x03\x79\x03\x79\x03\x79\x03"
|
||||
"\x9b\x02\xd2\x02\x9b\x02\xd2\x02\xde\0\x16\x01\xde\0\x16\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x85\x01\x85\x01\x85\x01\x85\x01\x48\x02\x48\x02\x48\x02\x48\x02"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x16\x01\x4d\x01\x16\x01\x4d\x01\x16\x01\x4d\x01\x16\x01\x4d\x01"
|
||||
"\x48\x02\x48\x02\x48\x02\x48\x02\x48\x02\x48\x02\x48\x02\x48\x02"
|
||||
"\x48\x02\x48\x02\x48\x02\x48\x02\x2c\x02\x63\x02\x2c\x02\x63\x02"
|
||||
"\xf7\x03\xcf\x03\xf7\x03\xcf\x03\x9b\x02\xd2\x02\x9b\x02\xd2\x02"
|
||||
"\x9b\x02\xd2\x02\x9b\x02\xd2\x02\xd2\x02\xd2\x02\xd2\x02\xd2\x02"
|
||||
"\xd2\x02\xd2\x02\xd2\x02\xd2\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02"
|
||||
"\x63\x02\x63\x02\x63\x02\x63\x02\x0a\x03\x0a\x03\x0a\x03\x0a\x03"
|
||||
"\xd2\x02\xd2\x02\xd2\x02\xd2\x02\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\x2c\x02\x9b\x02\xd2\x02\x9b\x02\xd2\x02"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\x41\x03\x41\x03\x41\x03\x41\x03"
|
||||
"\xd2\x02\xd2\x02\xd2\x02\xd2\x02\x0a\x03\x0a\x03\x0a\x03\x0a\x03"
|
||||
"\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x0a\x03\x0a\x03\x0a\x03\x0a\x03"
|
||||
"\xd2\x02\xd2\x02\xd2\x02\xd2\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02"
|
||||
"\x63\x02\x63\x02\x63\x02\x63\x02\xd2\x02\xd2\x02\xd2\x02\xd2\x02"
|
||||
"\x9b\x02\x9b\x02\x9b\x02\x9b\x02\xb0\x03\xb0\x03\xb0\x03\xb0\x03"
|
||||
"\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02"
|
||||
"\x63\x02\x63\x02\x63\x02\x63\x02\x16\x01\x4d\x01\x16\x01\x4d\x01"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\x16\x01\x4d\x01\x16\x01\x4d\x01"
|
||||
"\xd5\x01\x48\x02\xd5\x01\x48\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\xde\0\x16\x01\xde\0\x16\x01\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\xf4\x01\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x16\x01\x4d\x01\x16\x01\x4d\x01\x2c\x02\x63\x02\x2c\x02\x63\x02"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\xde\0\x16\x01\xde\0\x16\x01"
|
||||
"\xde\0\x16\x01\xde\0\x16\x01\xf4\x01\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\xde\0\x16\x01\xde\0\x16\x01\x41\x03\x79\x03\x41\x03\x79\x03"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\x2c\x02\x63\x02\x2c\x02\x63\x02"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\x2c\x02\x63\x02\x2c\x02\x63\x02"
|
||||
"\x4d\x01\x85\x01\x4d\x01\x85\x01\xf4\x01\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\x16\x01\x4d\x01\x16\x01\x4d\x01\x2c\x02\x63\x02\x2c\x02\x63\x02"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\x2c\x02\xd2\x02\x0a\x03\xd2\x02\x0a\x03"
|
||||
"\xf4\x01\x2c\x02\xf4\x01\x2c\x02\xf4\x01\x2c\x02\xf4\x01\x2c\x02"
|
||||
"\xf4\x01\xf4\x01\xf4\x01\xf4\x01\x4e\x01\x85\x01\x4e\x01\x85\x01"
|
||||
"\x04\x01\x18\x01\x04\x01\x18\x01\x4e\x01\x85\x01\x4e\x01\x85\x01"
|
||||
"\x48\x02\x48\x02\x48\x02\x48\x02\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\xa7\0\xa7\0\xa7\0\xa7\0\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\xbf\0\xee\0\xbf\0\xee\0"
|
||||
"\x4d\x01\xf4\x01\x4d\x01\xf4\x01\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\xf4\x01\x63\x02\xf4\x01\x63\x02\xf4\x01\x63\x02\xf4\x01\x63\x02"
|
||||
"\0\0\0\0\0\0\0\0\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\x16\x01\x16\x01\x16\x01\x16\x01\0\0\0\0\0\0\0\0"
|
||||
"\x19\x02\x2c\x02\x19\x02\x2c\x02\x5e\x01\x5e\x01\x5e\x01\x5e\x01"
|
||||
"\xde\0\x16\x01\xde\0\x16\x01\x4d\x01\xf4\x01\x4d\x01\xf4\x01"
|
||||
"\x4d\x01\xf4\x01\x4d\x01\xf4\x01\x2c\x02\x2c\x02\x2c\x02\x2c\x02"
|
||||
"\xe8\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03\xe8\x03"
|
||||
"\0\0\0\0\0\0\0\0\x63\x02\x63\x02\x63\x02\x63\x02"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\0\0\0\0\0\0\0\0"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\0\0\0\0\0\0\0\0\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01\x4d\x01"
|
||||
"\xe8\x03\xe8\x03\xe8\x03\xe8\x03\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\xe8\x03\xe8\x03\xe8\x03\xe8\x03"
|
||||
"\0\0\0\0\0\0\0\0\x72\x01\x72\x01\x72\x01\x72\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\x2c\x02\x63\x02\x2c\x02\x63\x02\x0a\x03\x0a\x03\x0a\x03\x0a\x03"
|
||||
"\xe8\x03\xe8\x03\xe8\x03\xe8\x03\x6d\x01\x6d\x01\x6d\x01\x6d\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x79\x03\x79\x03\x79\x03\x79\x03"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\x16\x01\x16\x01\x16\x01\x16\x01"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\xde\0\x16\x01\xde\0\x16\x01\x63\x02\x63\x02\x63\x02\x63\x02"
|
||||
"\xb0\x03\xb0\x03\xb0\x03\xb0\x03\x63\x02\x63\x02\x63\x02\x63\x02"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
"\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02\x58\x02"
|
||||
};
|
||||
|
||||
const int szFontTable_size = 5376 ;
|
||||
|
||||
HB_FUNC( CALCDATA )
|
||||
{
|
||||
int rowsperstrip = hb_parnd( 1 );
|
||||
float y = hb_parnd( 2 );
|
||||
float h = hb_parnd( 3 );
|
||||
int row, res;
|
||||
int p;
|
||||
|
||||
for( row = 0 ; row < h ; row += rowsperstrip )
|
||||
{
|
||||
int height = row + rowsperstrip > h ? h - row :rowsperstrip;
|
||||
|
||||
p = ( h - row - height );
|
||||
res = y + 1 * p;
|
||||
}
|
||||
|
||||
hb_retni( res );
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* Defines */
|
||||
#define FONTBOLD "Courier-Bold"
|
||||
#define FONTNORMAL "Courier"
|
||||
#define FONTSIZEBOLD 15.0
|
||||
#define FONTSIZETABLE 8.5
|
||||
#define LEADLINK ( (fontSizePoints * 1.3))
|
||||
#define LEADTABLE ( (fontSizePoints * 1.2))
|
||||
#define a0_width 2380.0
|
||||
#define a0_height 3368.0
|
||||
#define a1_width 1684.0
|
||||
#define a1_height 2380.0
|
||||
#define a2_width 1190.0
|
||||
#define a2_height 1684.0
|
||||
#define a3_width 842.0
|
||||
#define a3_height 1190.0
|
||||
#define a4_width 595.0
|
||||
#define a4_height 842.0
|
||||
#define a5_width 421.0
|
||||
#define a5_height 595.0
|
||||
#define a6_width 297.0
|
||||
#define a6_height 421.0
|
||||
#define b5_width 501.0
|
||||
#define b5_height 709.0
|
||||
#define letter_width 612.0
|
||||
#define letter_height 792.0
|
||||
#define legal_width 612.0
|
||||
#define legal_height 1008.0
|
||||
#define ledger_width 1224.0
|
||||
#define ledger_height 792.0
|
||||
#define p11x17_width 792.0
|
||||
#define p11x17_height 1224.0
|
||||
@@ -1,936 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* PDF api Api for multiple porpurse
|
||||
*
|
||||
* Copyright 2000-2004 Luiz Rafael Culik <culikr /at/ brturbo.com>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "pdfhbdoc.ch"
|
||||
#include "common.ch"
|
||||
#INCLUDE "pdf.ch"
|
||||
|
||||
/*Variaveis Staticas */
|
||||
STATIC lLandScape := .F.
|
||||
STATIC fontSizePoints := 10.0 /*10.0*/
|
||||
STATIC NumofRows
|
||||
STATIC LEAD := 10
|
||||
STATIC iRow := 800
|
||||
STATIC fCurrentRowSetting := 800
|
||||
STATIC fOldPos
|
||||
STATIC iWidth
|
||||
STATIC iCol
|
||||
STATIC sziFontBold := 0
|
||||
STATIC fFootBottom := 40
|
||||
STATIC fColumn := 10
|
||||
STATIC sziFont := 0
|
||||
STATIC fPageWidth := a4_width
|
||||
STATIC fPageHeigth := a4_height
|
||||
STATIC iPage := 1
|
||||
STATIC uiLen
|
||||
STATIC uiCount
|
||||
STATIC bTItems
|
||||
STATIC bFItems
|
||||
STATIC szUserpass
|
||||
STATIC iLastLinkPos := 0
|
||||
STATIC oPdf
|
||||
|
||||
FUNCTION pdf_GetLandScape()
|
||||
RETURN lLandScape
|
||||
|
||||
STATIC FUNCTION setBox( irow, icol, h, iw )
|
||||
|
||||
opdf:PDF_RECT( irow, icol, h, iw )
|
||||
|
||||
opdf:PDF_STROKE()
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION HB_PDFNEW( szFileResult, fontsize, iStartRow, iBottom, iStartCol, iEndBottom, szMasterPass, szPass )
|
||||
|
||||
DEFAULT fontsize TO fontSizePoints
|
||||
DEFAULT iStartRow TO fPageWidth
|
||||
DEFAULT iBottom TO fPageHeigth
|
||||
DEFAULT iStartCol TO fColumn
|
||||
DEFAULT iEndBottom TO fFootBottom
|
||||
DEFAULT szMasterPass TO ""
|
||||
DEFAULT szPass TO ""
|
||||
szFileResult := Lower( szFileResult )
|
||||
|
||||
oPdf := TPdf():New( szFileResult,, iStartRow, iBottom )
|
||||
IF oPdf == NIL
|
||||
RETURN .f.
|
||||
ENDIF
|
||||
|
||||
fColumn := iStartCol
|
||||
oPdf:SetTop( iRow ) // top
|
||||
oPdf:SetLeft( fColumn ) // left & right
|
||||
oPdf:SetBottom( iEndBottom )
|
||||
|
||||
fPageWidth := iStartRow
|
||||
fPageHeigth := iBottom
|
||||
|
||||
fontSizePoints := fontsize
|
||||
LEAD := fontSizePoints
|
||||
|
||||
/* Ajusta Coluna inicial/rodapé e o numero atual de linhas por pagina */
|
||||
|
||||
iRow := iStartRow - iEndBottom
|
||||
fCurrentRowSetting := iRow
|
||||
fFootBottom := iEndBottom
|
||||
fColumn := iStartCol
|
||||
NumofRows := iRow / fontSizePoints
|
||||
|
||||
RETURN .T.
|
||||
|
||||
FUNCTION HB_PDFENDPAGE
|
||||
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:PDFCLOSEpage() /* close page */
|
||||
iPage ++
|
||||
iLastLinkPos := 0
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION HB_PDFNEWPAGE( szTitleT, szFile )
|
||||
|
||||
oPdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 0 )
|
||||
IF Ischaracter( szFile )
|
||||
IF lLandScape .OR. opdf:aReport[ PAGEORIENT ] == "L"
|
||||
oPdf:pdfImage( szFile, 490 / 0.4, 60, 126, 126,, 0.4, 0.4 )
|
||||
ELSE
|
||||
oPdf:pdfImage( szFile, 755 / 0.4, 20, 126, 126,, 0.4, 0.4 )
|
||||
ENDIF
|
||||
ENDIF
|
||||
oPdF:PDFsetfont( "Courier", 1, FONTSIZEBOLD )
|
||||
oPdf:pdfAtSay( szTitleT, iRow -= 15, fColumn, .T. )
|
||||
|
||||
RETURN nil
|
||||
|
||||
FUNC HB_PDFWRITETEXT( cText )
|
||||
|
||||
IF ( iRow <= fFootBottom )
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:PDFCLOSEpage()
|
||||
//PDF_begin_page(szPDFFile, fPageWidth, fPageHeigth) /* start a new page */
|
||||
oPdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 0 )
|
||||
iLastLinkPos := 0
|
||||
iPage ++
|
||||
ENDIF
|
||||
|
||||
opdf:PDFsetfont( FONTNORMAL, 0, fontSizePoints )
|
||||
|
||||
opdf:pdfAtSay( cText, iRow -= LEAD, fColumn, .T. )
|
||||
RETURN nil
|
||||
|
||||
FUNC HB_PDFWRITEBOLDTEXT( ctext )
|
||||
|
||||
IF ( iRow <= fFootBottom )
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:PDFCLOSEpage()
|
||||
//PDF_begin_page(szPDFFile, fPageWidth, fPageHeigth) /* start a new page */
|
||||
oPdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 1 )
|
||||
iLastLinkPos := 0
|
||||
iPage ++
|
||||
ENDIF
|
||||
|
||||
opdf:PDFsetfont( FONTNORMAL, 1, fontSizePoints )
|
||||
opdf:pdfAtSay( cText, iRow -= LEAD, fColumn, .T. )
|
||||
|
||||
RETURN nil
|
||||
|
||||
FUNC HB_PDFWRITETEXTBOLD1( cText )
|
||||
|
||||
IF ( iRow <= fFootBottom )
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:PDFCLOSEpage()
|
||||
//PDF_begin_page(szPDFFile, fPageWidth, fPageHeigth) /* start a new page */
|
||||
oPdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 1 )
|
||||
iLastLinkPos := 0
|
||||
iPage ++
|
||||
ENDIF
|
||||
|
||||
opdf:PDFsetfont( FONTNORMAL, 1, FONTSIZEBOLD )
|
||||
opdf:pdfAtSay( cText, iRow -= LEAD, fColumn, .T. )
|
||||
// PDFsetfont(FONTNORMAL,0, fontSizePoints)
|
||||
|
||||
RETURN nil
|
||||
|
||||
FUNCTION HB_PDFCLOSE
|
||||
|
||||
opdf:pdfclose()
|
||||
fontSizePoints := 10.0 /*10.0*/
|
||||
LEAD := 10
|
||||
iRow := 800
|
||||
fCurrentRowSetting := 800
|
||||
lLandScape := .F.
|
||||
|
||||
RETURN nil
|
||||
|
||||
/* FUNCAO PDFMAXLINES()
|
||||
Essa funcao retorna o numero maximo de linhas por pagina de
|
||||
acordo com a fonte setada.
|
||||
*/
|
||||
|
||||
FUNCTION PDFMAXLINES
|
||||
|
||||
RETURN NumofRows
|
||||
|
||||
/* FUNCAO PDFMAXCOLS()
|
||||
|
||||
Essa funcao retorna o numero maximo de colunas por pagina de
|
||||
acordo com a fonte setada.
|
||||
*/
|
||||
|
||||
FUNCTION PDFMAXCOLS
|
||||
|
||||
RETURN ( ( fPageWidth - 2 * fColumn ) / fontSizePoints )
|
||||
|
||||
FUNCTION PDFWRITETEXTAT( cText, iThisRow, iThisCol )
|
||||
|
||||
LOCAL currow
|
||||
iThisRow := Iif( Isnumber( iThisRow ), fCurrentRowSetting - RowtoPoint( iThisRow ), iRow )
|
||||
iThisCol := RowtoPoint( iThisCol )
|
||||
currow := iRow
|
||||
opdf:PDFsetfont( FONTNORMAL, 0, fontSizePoints )
|
||||
opdf:pdfAtSay( cText, iThisRow, iThisCol, .T. )
|
||||
|
||||
RETURN Nil
|
||||
|
||||
FUNCTION POINTTOROW( iPt )
|
||||
|
||||
LOCAL thisRow
|
||||
|
||||
thisRow := iPt / FONTSIZEPOINTS
|
||||
|
||||
RETURN NUMOFROWS - thisRow
|
||||
|
||||
FUNCTION ROWTOPOINT( ThisRow )
|
||||
|
||||
RETURN thisRow * FONTSIZEPOINTS
|
||||
|
||||
/* FUNCAO PDFWRITETABLE(nRow, nCol , aTableCols, aLenCol,nNumLines, nStyle)
|
||||
Parametros
|
||||
nRow -> Linha onde tabela inicia
|
||||
nCol -> Coluna onde tabela inicia
|
||||
aTableCols -> Array de Items da coluna
|
||||
aLenCol -> Array com as larguras da coluna
|
||||
nNumLines -> Numero de linhas da tabela
|
||||
nStyle -> Stilo da tabela
|
||||
*/
|
||||
|
||||
FUNCTION PDFWRITETABLE( nRow, nCol, pArray, pCol, fNumLines, nStyle )
|
||||
|
||||
LOCAL ulTempPos
|
||||
LOCAL ulTempPos1
|
||||
LOCAL fRow := GraphRowtoPoint( nRow ) - 0.5 * fontSizePoints
|
||||
LOCAL fCol := RowtoPoint( nCol )
|
||||
LOCAL nNumLines := fNumLines
|
||||
LOCAL fThisRow := RowtoPoint( nRow )
|
||||
LOCAL fCurRow := fNumLines + 0.5 * fontSizePoints
|
||||
LOCAL fLinesDiff := fNumLines - fRow
|
||||
|
||||
LOCAL DiffFromRow := fRow - iRow
|
||||
LOCAL fLen := 0
|
||||
LOCAL fCurrRow := fRow
|
||||
LOCAL fTemp
|
||||
LOCAL fOldCol := fCol
|
||||
LOCAL pTemp
|
||||
LOCAL nLineGen
|
||||
LOCAL fBoxSize
|
||||
LOCAL fLastRow
|
||||
LOCAL cItem
|
||||
|
||||
DEFAULT pArray TO NIL
|
||||
|
||||
SWITCH( nStyle )
|
||||
|
||||
CASE 0
|
||||
|
||||
FOR Each pTemp in pCol
|
||||
fLen += RowtoPoint( pTemp )
|
||||
|
||||
NEXT
|
||||
|
||||
setBox( fCol, fRow, fLen, - fCurRow )
|
||||
|
||||
FOR EACH pTemp IN pArray
|
||||
fRow -= LEAD
|
||||
|
||||
IF Isarray( pTemp )
|
||||
fCol := fOldCol
|
||||
FOR each cItem IN pTemp
|
||||
ultempPos1 := hb_enumindex()
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
|
||||
EXIT
|
||||
|
||||
CASE 1
|
||||
|
||||
fTemp := - fCurRow
|
||||
|
||||
fCol := fOldCol
|
||||
|
||||
FOR each pTemp in pCol
|
||||
setBox( fCol, fRow, RowtoPoint( pTemp ), - fCurRow + ( 1 * fontSizePoints ) )
|
||||
fCol += RowtoPoint( pTemp )
|
||||
|
||||
NEXT
|
||||
|
||||
FOR each pTemp IN pArray
|
||||
|
||||
IF Isarray( pTemp )
|
||||
fRow -= LEAD
|
||||
fCol := fOldCol
|
||||
|
||||
FOR each cItem in pTemp
|
||||
ulTempPos1 := hb_enumindex()
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
NEXT
|
||||
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
|
||||
EXIT
|
||||
|
||||
CASE 2
|
||||
|
||||
nLineGen := 0
|
||||
fBoxSize := 0
|
||||
fLastRow := fRow
|
||||
|
||||
fTemp := - fCurRow
|
||||
fLen := fRow
|
||||
|
||||
FOR each pTemp in pCol
|
||||
fBoxSize += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
|
||||
WHILE ( nLineGen < nNumLines )
|
||||
|
||||
setBox( fCol, fLen, fBoxSize, - fontSizePoints * 1.5 )
|
||||
fLen -= fontSizePoints * 1.5
|
||||
nLineGen += 2
|
||||
ENDDO
|
||||
|
||||
fRow := fCurrRow
|
||||
fLen := fRow
|
||||
nLineGen := 0
|
||||
|
||||
FOR EACH pTemp IN pCol
|
||||
|
||||
WHILE ( nLineGen < nNumLines )
|
||||
|
||||
setBox( fCol, fLen, RowtoPoint( pTemp ), - fontSizePoints * 1.5 )
|
||||
fLen -= fontSizePoints * 1.5
|
||||
nLineGen += 2
|
||||
|
||||
ENDDO
|
||||
|
||||
fCol += RowtoPoint( pTemp )
|
||||
fLen := fRow
|
||||
nLineGen := 0
|
||||
NEXT
|
||||
|
||||
fCol := fOldCol
|
||||
|
||||
fRow := fLastRow
|
||||
fRow -= LEAD
|
||||
|
||||
FOR EACH pTemp in pArray
|
||||
ulTempPos := hb_enumindex()
|
||||
|
||||
IF Isarray( pTemp )
|
||||
|
||||
//if ( hb_arrayGet(pArray, ulTempPos,pTemp))
|
||||
|
||||
fCol := fOldCol
|
||||
|
||||
FOR each cItem in pTemp
|
||||
|
||||
// PDF_show_xy( szPDFFile, hb_arrayGetCPtr( pTemp , ulTempPos1 ), fCol+1 , fRow )
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
fCol += RowtoPoint( pCol[ hb_enumindex() ] )
|
||||
NEXT
|
||||
|
||||
fRow -= LEAD
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow += LEAD / 2
|
||||
ELSE
|
||||
fRow -= LEAD / 2
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow -= LEAD
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
EXIT
|
||||
|
||||
CASE 3
|
||||
|
||||
fBoxSize := 0
|
||||
fLastRow := fRow
|
||||
|
||||
fTemp := - fCurRow
|
||||
fLen := fRow
|
||||
|
||||
FOR EACH pTemp in pCol
|
||||
fBoxSize += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
|
||||
fTemp := - fCurRow
|
||||
setBox( fCol, fRow, fBoxSize, - ( 1.5 * fontSizePoints ) )
|
||||
fTemp := fCurRow
|
||||
fNumLines -= RowtoPoint( 3 )
|
||||
fCurRow := fNumLines + 0.5 * fontSizePoints
|
||||
setBox( fCol, fRow - 1.5 * fontSizePoints, fBoxSize, - fCurRow + ( 1.0 * fontSizePoints ) )
|
||||
fRow := fCurrRow
|
||||
fCol := fOldCol
|
||||
|
||||
FOR EACH pTemp In pCol
|
||||
|
||||
// if (ulTempPos == 1 ||ulTempPos == 2 )
|
||||
setBox( fCol, fRow, RowtoPoint( pTemp ), - ( 1.5 * fontSizePoints ) )
|
||||
// else
|
||||
setBox( fCol, fRow - 1.5 * fontSizePoints, RowtoPoint( pTemp ), - fCurRow + ( 1.0 * fontSizePoints ) )
|
||||
|
||||
fCol += RowtoPoint( pTemp )
|
||||
|
||||
NEXT
|
||||
|
||||
fRow -= LEAD
|
||||
|
||||
FOR EACH pTemp in pArray
|
||||
ulTempPos := hb_enumindex()
|
||||
|
||||
IF Isarray( ptemp )
|
||||
|
||||
fCol := fOldCol
|
||||
|
||||
FOR each cItem in pTemp
|
||||
ulTempPos1 := hb_enumindex()
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
ELSE
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
ENDIF
|
||||
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
|
||||
NEXT
|
||||
|
||||
fRow -= LEAD
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow += LEAD / 2
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow -= LEAD
|
||||
ENDIF
|
||||
NEXT
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
|
||||
EXIT
|
||||
|
||||
CASE 4
|
||||
|
||||
// printf("estou case 3 \n")
|
||||
fBoxSize := 0
|
||||
fLastRow := fRow
|
||||
|
||||
fTemp := - fCurRow
|
||||
FOR each pTemp in pCol
|
||||
fBoxSize += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
|
||||
setBox( fCol, fRow, fBoxSize, - ( fontSizePoints * 1.5 ) )
|
||||
setBox( fCol, fRow - ( fNumLines + 0.5 * fontSizePoints ) + ( 1.5 * fontSizePoints ), fBoxSize, + ( fontSizePoints * 1.5 ) )
|
||||
fCol := fOldCol
|
||||
|
||||
FOR EACH pTemp IN pCol
|
||||
setBox( fCol, fRow, RowtoPoint( pTemp ), - fCurRow + ( 1.5 * fontSizePoints ) )
|
||||
fCol += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
|
||||
FOR each pTemp in pArray
|
||||
ulTempPos := hb_enumindex()
|
||||
|
||||
IF Isarray( pTemp )
|
||||
fRow -= LEAD
|
||||
fCol := fOldCol
|
||||
FOR each cItem in pTemp
|
||||
ulTempPos1 := hb_enumindex()
|
||||
IF ulTempPos == Len( pTemp )
|
||||
opdf:pdfAtSay( cItem, fRow - ( 0.5 * fontSizePoints ), fCol + 1, .T. )
|
||||
ELSEIF ulTempPos == 1
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
ELSE
|
||||
opdf:pdfAtSay( cItem, fRow - ( 0.5 * fontSizePoints ), fCol + 1, .T. )
|
||||
ENDIF
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
NEXT
|
||||
fRow -= LEAD
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
EXIT
|
||||
|
||||
CASE 5
|
||||
|
||||
fBoxSize := 0
|
||||
FOR each pTemp in pCol
|
||||
fBoxSize += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
setBox( fCol, fRow, fBoxSize, - ( 1.5 * fontSizePoints ) )
|
||||
|
||||
fNumLines -= RowtoPoint( 3 )
|
||||
fCurRow := fNumLines + 0.5 * fontSizePoints
|
||||
setBox( fCol, fRow - 1.5 * fontSizePoints, fBoxSize, - fCurRow + ( 2 * fontSizePoints ) )
|
||||
fRow -= LEAD
|
||||
|
||||
FOR EACH pTemp in pArray
|
||||
|
||||
ulTempPos := hb_enumindex()
|
||||
|
||||
IF Isarray( ptemp )
|
||||
|
||||
fCol := fOldCol
|
||||
FOR each cItem in pTemp
|
||||
ulTempPos1 := hb_enumindex()
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
NEXT
|
||||
fRow -= LEAD
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow += LEAD / 2
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow -= LEAD
|
||||
ENDIF
|
||||
NEXT
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
EXIT
|
||||
|
||||
CASE 6
|
||||
|
||||
nLineGen := 0
|
||||
fBoxSize := 0
|
||||
|
||||
fTemp := - fCurRow
|
||||
fLen := fRow
|
||||
|
||||
FOR each pTemp in pCol
|
||||
fBoxSize += RowtoPoint( pTemp )
|
||||
NEXT
|
||||
WHILE ( nLineGen < nNumLines )
|
||||
|
||||
setBox( fCol, fLen, fBoxSize, - fontSizePoints * 1.5 )
|
||||
fLen -= fontSizePoints * 1.5
|
||||
nLineGen += 2
|
||||
ENDDO
|
||||
|
||||
fRow -= LEAD
|
||||
|
||||
FOR each pTemp in pArray
|
||||
ulTempPos := hb_enumindex()
|
||||
|
||||
IF Isarray( ptemp )
|
||||
|
||||
fCol := fOldCol
|
||||
|
||||
FOR each cItem in pTemp
|
||||
|
||||
ulTempPos1 := hB_enumIndex()
|
||||
opdf:pdfAtSay( cItem, fRow, fCol + 1, .T. )
|
||||
|
||||
fCol += RowtoPoint( pCol[ ulTempPos1 ] )
|
||||
NEXT
|
||||
|
||||
fRow -= LEAD
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow += LEAD / 2
|
||||
ELSE
|
||||
fRow -= LEAD / 2
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ( ulTempPos == 1 )
|
||||
fRow -= LEAD
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
iRow -= fNumLines + fontSizePoints
|
||||
EXIT
|
||||
|
||||
END
|
||||
RETURN 0
|
||||
|
||||
FUNCTION GraphRowtoPoint( thisRow )
|
||||
|
||||
RETURN fCurrentRowSetting - ( thisRow * fontSizePoints )
|
||||
|
||||
STATIC FUNCTION inverty( y )
|
||||
|
||||
RETURN fCurrentRowSetting - y
|
||||
|
||||
FUNCTION PDFTEXTBOXED2( pText, pEnd, pStart, lDecRow, lBold )
|
||||
|
||||
LOCAL iSize
|
||||
LOCAL sLastSize := 0
|
||||
LOCAL ulTempPos := 0
|
||||
LOCAL cText
|
||||
DEFAULT lBold TO .F.
|
||||
|
||||
iSize := PdfMaxBoxSize( pText, Iif( lBold, 1, 0 ), pEnd, iRow, pStart )
|
||||
|
||||
FOR each cText in pText
|
||||
setText( cText, pStart[ hb_enumindex() ], iRow, iSize, pEnd[ hb_enumindex() ], lBold )
|
||||
NEXT
|
||||
|
||||
IF ( lDecRow )
|
||||
iRow -= iSize
|
||||
ENDIF
|
||||
|
||||
RETURN nil
|
||||
|
||||
/* FUNCAO PDFNEW( Nome,Tamanho fonte,largura pagina, altura pagina,coluna inicial,linha final,Senhamestre,SenhaNormal, aInfo)
|
||||
Parametros:
|
||||
Nome -> Nome do arquivo a ser criado
|
||||
Tamanho fonte -> Tamanho da fonte a ser usada nesse documento
|
||||
largura pagina -> Tamanho da largura da pagina
|
||||
altura paginas -> Tamanho da altura da pagina
|
||||
coluna inicial -> Coluna inicial do texto
|
||||
linha final -> Linha final do texto (
|
||||
Senhamestre -> senha mestre de protecao
|
||||
SenhaNormal -> senha do arquivo
|
||||
aInfo -> Array de caracteres contendo informacoes do arquivo
|
||||
Array nesse Formato -> { Keywords,Subject,Title,Creator,Author}
|
||||
retorna verdadeiro se o arquivo foi criado, senao falso
|
||||
*/
|
||||
|
||||
FUNCTION Pdfnew( szFileresult, fontsize, iStartRow, iBottom, iStartCol, iEndBottom, szMasterPass, szPass, ainfo )
|
||||
|
||||
DEFAULT fontsize TO fontSizePoints
|
||||
DEFAULT iStartRow TO fPageWidth
|
||||
DEFAULT iBottom TO fPageHeigth
|
||||
DEFAULT iStartCol TO fColumn
|
||||
DEFAULT iEndBottom TO fFootBottom
|
||||
DEFAULT szMasterPass TO Nil
|
||||
DEFAULT szPass TO Nil
|
||||
|
||||
oPdf := TPdf():New( szFileResult,, iStartRow, iBottom )
|
||||
IF oPdf == NIL
|
||||
RETURN 0
|
||||
ENDIF
|
||||
/* Ajusta fonte da geração e numero de linhas para pulos */
|
||||
fontSizePoints := fontsize
|
||||
LEAD := fontSizePoints
|
||||
|
||||
/* Ajusta Coluna inicial/rodapé e o numero atual de linhas por pagina */
|
||||
fPageWidth := iStartRow
|
||||
fPageHeigth := iBottom
|
||||
|
||||
iRow := iStartRow - iEndBottom
|
||||
IF ( iRow > 800 )
|
||||
iRow := 800
|
||||
ENDIF
|
||||
NumofRows := iRow / fontSizePoints
|
||||
fCurrentRowSetting := iRow
|
||||
fFootBottom := iEndBottom
|
||||
fColumn := iStartCol
|
||||
|
||||
IF Isarray( aInfo )
|
||||
opdf:PDFINFO( aInfo[ 1 ], aInfo[ 5 ], aInfo[ 2 ], aInfo[ 4 ] )
|
||||
ENDIF
|
||||
RETURN 1
|
||||
|
||||
FUNCTION PDFEND
|
||||
|
||||
opdf:PDFclose() /* close PDF document */
|
||||
|
||||
fontSizePoints := 10.0 /*10.0*/
|
||||
LEAD := 10
|
||||
iRow := 800
|
||||
fCurrentRowSetting := 800
|
||||
sziFontBold := 0
|
||||
fFootBottom := 40
|
||||
fColumn := 10
|
||||
sziFont := 0
|
||||
fPageWidth := a4_width
|
||||
fPageHeigth := a4_height
|
||||
iPage := 1
|
||||
lLandScape := .F.
|
||||
|
||||
RETURN nil
|
||||
|
||||
/* PDFSETUNDERLINE( lUnder )
|
||||
Parametros
|
||||
lUnder -> Flag the informa se e para usar underline ou nao
|
||||
retorna o ultimo setting
|
||||
*/
|
||||
|
||||
FUNCTION PDFSETUNDERLINE( lSet )
|
||||
|
||||
RETURN opdf:SetUnderline( lSet )
|
||||
/* PDFSETOVERLINE( lUnder )
|
||||
Parametros
|
||||
lUnder -> Flag the informa se e para usar overline ou nao
|
||||
retorna o ultimo setting
|
||||
*/
|
||||
FUNCTION PDFSETOVERLINE( l )
|
||||
|
||||
RETURN opdf:SetOverline( l )
|
||||
|
||||
/* FUNCAO PDFSTARTPAGE( aHead,llShowHeader)
|
||||
PARAMETROS
|
||||
aHead -> Array que contem os cabecalhos das colunas
|
||||
llShowHeader -> flag que indica de e para criar uma nova pagina
|
||||
*/
|
||||
|
||||
FUNCTION PDFSTARTPAGE( aPage, bOpenPage )
|
||||
|
||||
LOCAL cItem
|
||||
LOCAL i
|
||||
DEFAULT bOpenPage TO .f.
|
||||
|
||||
IF ( bOpenPage )
|
||||
opdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 0 )
|
||||
ENDIF
|
||||
FOR each citem in aPage
|
||||
i := hb_enumindex()
|
||||
|
||||
IF ( i == 1 )
|
||||
opdf:PDFsetfont( "Courier", 1, FONTSIZEBOLD )
|
||||
opdf:pdfAtSay( cItem, iRow -= 15, fColumn, .T. )
|
||||
|
||||
ELSE
|
||||
|
||||
opdf:PDFsetfont( "Courier", 0, fontSizePoints )
|
||||
opdf:pdfAtSay( cItem, iRow -= LEAD, fColumn, .T. )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN nil
|
||||
|
||||
/* FUNCAO PDFDRAWPAGE( aPage)
|
||||
Parametros
|
||||
aPage -> Array com items a escrever na PDF
|
||||
bOnNewPage -> Code block para evaluar se pagina acabar
|
||||
*/
|
||||
|
||||
FUNCTION PDFDRAWPAGE( aPage, bOnNewPage )
|
||||
|
||||
LOCAL cItem
|
||||
|
||||
FOR each cItem in aPage
|
||||
|
||||
/* testa se a pagina acabou */
|
||||
IF ( iRow <= fFootBottom )
|
||||
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:pdfClosePage()
|
||||
iLastLinkPos := 0
|
||||
opdf:pdfNewPage( "A4", Iif( fPageHeigth < fPageWidth, "P", "L" ),, "Courier", 0 )
|
||||
iPage ++
|
||||
IF isblock( bOnNewPage )
|
||||
Eval( bOnNewPage )
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
opdf:PDFsetfont( "Courier", 0, fontSizePoints )
|
||||
opdf:pdfAtSay( cItem, iRow -= LEAD, fColumn, .T. )
|
||||
|
||||
NEXT
|
||||
|
||||
RETURN nil
|
||||
|
||||
/* FUNCAO PDFENDPAGE()
|
||||
fecha a pagina em criacao
|
||||
*/
|
||||
|
||||
FUNCTION PDFENDPAGE
|
||||
|
||||
iRow := fCurrentRowSetting
|
||||
opdf:PDFclosepage() /* close page */
|
||||
iPage ++
|
||||
iLastLinkPos := 0
|
||||
RETURN nil
|
||||
|
||||
STATIC FUNCTION SetText( szText, irow, icol, h, iw, bBold )
|
||||
|
||||
opdf:PDFsetfont( "Courier", Iif( bBold, 1, 0 ), fontSizePoints )
|
||||
opdf:PDF_rect( irow, icol, iw + 5, h )
|
||||
opdf:PDF_stroke()
|
||||
// PDF_show_boxed(p, szText, irow, icol, iw, h, "center", "")
|
||||
opdf:pdfText( szText, iRow, iCol, iw, 0, 2 )
|
||||
RETURN nil
|
||||
|
||||
FUNCTION getText( szText, iFont, irow, icol, iw )
|
||||
|
||||
LOCAL h
|
||||
LOCAL c
|
||||
|
||||
HB_SYMBOL_UNUSED( iFont )
|
||||
|
||||
h := fontSizePoints * 2.1
|
||||
c := opdf:pdfTextCount( szText, irow, icol, iw, 0, 2 )
|
||||
h += fontSizePoints * c
|
||||
RETURN h
|
||||
|
||||
FUNCTION PdfMaxBoxSize( pText, iFont, pEnd, iw, pStart )
|
||||
|
||||
LOCAL fMax := 0
|
||||
LOCAL fCurrentSize
|
||||
LOCAL ulTempPos
|
||||
|
||||
HB_SYMBOL_UNUSED( iw )
|
||||
|
||||
FOR ulTempPos := 1 TO Len( pText )
|
||||
|
||||
fCurrentSize := getText( pText[ ulTempPos ], iFont, pStart[ ulTempPos ], iRow, pEnd[ ulTempPos ] )
|
||||
fMax := Iif( fCurrentSize > fMax, fCurrentSize, fMax )
|
||||
NEXT
|
||||
RETURN fMax
|
||||
|
||||
FUNCTION PDFHR( fPos, fStart )
|
||||
|
||||
DEFAULT fPos TO Iif( lLandScape, fPageWidth - fColumn, fPageHeigth - fColumn )
|
||||
DEFAULT fStart TO fColumn
|
||||
opdf:PDFmoveto( fStart * fontSizePoints, iRow - LEAD / 2 )
|
||||
opdf:PDFlineto( fPos * fontSizePoints, iRow - LEAD / 2 )
|
||||
iRow -= LEAD
|
||||
opdf:PDF_stroke( )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*
|
||||
FUNCAO PDFPAGENUMBER()
|
||||
Retorna o numero da pagina atual sendo construida
|
||||
*/
|
||||
|
||||
FUNCTION PDFPAGENUMBER
|
||||
|
||||
RETURN iPage
|
||||
|
||||
/* FUNCAO PDFCURRENTLINE()
|
||||
retorna a linha atual
|
||||
*/
|
||||
FUNCTION PDFCURRENTLINE
|
||||
|
||||
RETURN PointtoRow( iRow )
|
||||
|
||||
/* FUNCAO PDFNEWLINE()
|
||||
incremanta a linha atual
|
||||
*/
|
||||
|
||||
PROCEDURE PDFNEWLINE
|
||||
|
||||
iRow -= LEAD
|
||||
RETURN
|
||||
FUNCTION PDFPLACEIMAGE( szfile, row, col, scale_y )
|
||||
|
||||
// int image;
|
||||
LOCAL scale_x
|
||||
row := RowtoPoint( row )
|
||||
col := RowtoPoint( col )
|
||||
col := inverty( col )
|
||||
|
||||
scale_x := 0.40
|
||||
scale_y := Iif( Isnumber( scale_y ), scale_y / 100, 0.40 )
|
||||
|
||||
opdf:PdfImage( szfile, row / scale_y, col )
|
||||
|
||||
RETURN nil
|
||||
FUNCTION HB_SETLANDSCAPE( lLand )
|
||||
|
||||
lLandScape := lLand
|
||||
// oPdf:pdfPageOrient( Iif( lLand, "L", "P" ) )
|
||||
RETURN nil
|
||||
|
||||
FUNCTION Pdfcomplevel( X )
|
||||
|
||||
opdf:PdfCompLevel( x )
|
||||
RETURN NIL
|
||||
|
||||
/*FUNCAO PDFBOXCOLOR(nRed,nGreen,nBlue)
|
||||
Parametros
|
||||
nRed -> Quantidade de vermelho na composicao da cor ( valor entre 0 a 255)
|
||||
nGreen -> Quantidade de verde na composicao da cor ( valor entre 0 a 255)
|
||||
nBlue -> Quantidade de azul na composicao da cor ( valor entre 0 a 255)
|
||||
*/
|
||||
|
||||
FUNCTION PDFBOXCOLOR( R, G, B )
|
||||
|
||||
oPdf:PDFsetrgbcolor( R / 255, G / 255, B / 255 )
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION PDFTEXTCOLOR( R, G, B )
|
||||
|
||||
oPdf:PDFsetrgbcolor( R / 255, G / 255, B / 255 )
|
||||
RETURN NIL
|
||||
Reference in New Issue
Block a user