1685 lines
61 KiB
Plaintext
1685 lines
61 KiB
Plaintext
*!* Program: PDF Generator library
|
|
*!* Author: Dorin Vasilescu
|
|
*!* Date:
|
|
*!* Copyright: 2007 Dorin Vasilescu
|
|
*!* Description: PDF generator library, free libharu API wrapper
|
|
*!*
|
|
*!* Revision Information:
|
|
*!* 2007.05 - first beta release
|
|
|
|
|
|
*if commented, status_Assign will not be included, slightly faster code
|
|
*but no access to error messages from API
|
|
#define WITH_STATUS_ASSIGN 1
|
|
|
|
#include hpdf_consts.h
|
|
#include hpdf_types.h
|
|
|
|
#define FALSE .F.
|
|
#define TRUE .T.
|
|
#define CR CHR(13)
|
|
#define LF CHR(10)
|
|
#define chr0 Chr(0)
|
|
|
|
define class pdfGen as Custom && olepublic
|
|
|
|
doc = 0 && pdf document handle, returned by New()
|
|
name = "_pdf"
|
|
initialized = FALSE
|
|
pdfLibrary = IIF(TYPE("gcAppPath")<>'U',Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\],[])+"libhpdf.dll"
|
|
status = 0 &&last status 0 = HPDF_OK
|
|
errorMsg = '' &&error message
|
|
errors = .null. &&error messages
|
|
|
|
*info attributes
|
|
info_author = 'PDF' &&pdf info
|
|
info_creator = 'VFP9'
|
|
info_producer = 'PDF library'
|
|
info_title = ' '
|
|
info_subject = ' '
|
|
info_keywords = ' '
|
|
|
|
*encryption
|
|
owner_passwd = ''
|
|
user_passwd = ''
|
|
encrypt_mode = 'R3' && R2 or R3, R3 has 5 to 16 key length
|
|
key_length = 8
|
|
|
|
*permissions
|
|
enable_print = TRUE
|
|
enable_copy = TRUE
|
|
|
|
**************
|
|
procedure Init
|
|
with this
|
|
|
|
.Addproperty('aDeclaredDLLs[1,3]','')
|
|
.errors = NewObject('Collection')
|
|
|
|
if not this.initialized
|
|
.LoadDLLS()
|
|
.Declare_Dlls()
|
|
.InitializeErrCodes()
|
|
store TRUE to this.initialized
|
|
endif
|
|
.doc = .New()
|
|
endwith
|
|
endproc
|
|
|
|
procedure loadDLLS
|
|
local array aTemp[1,3]
|
|
aTemp = ''
|
|
if aDlls(aTemp) > 0
|
|
dimension this.aDeclaredDLLs[Alen(aTemp,1),3]
|
|
Acopy(aTemp,this.aDeclaredDLLs)
|
|
endif
|
|
endproc
|
|
|
|
procedure SetPDF
|
|
with this
|
|
.status = .SetInfoAttr( HPDF_INFO_AUTHOR , .info_author )
|
|
.status = .SetInfoAttr( HPDF_INFO_CREATOR , .info_creator )
|
|
.status = .SetInfoAttr( HPDF_INFO_PRODUCER , .info_producer )
|
|
.status = .SetInfoAttr( HPDF_INFO_TITLE , .info_title )
|
|
.status = .SetInfoAttr( HPDF_INFO_SUBJECT , .info_subject )
|
|
|
|
.SetPermission()
|
|
|
|
if not Empty(.owner_passwd) or not Empty(.user_passwd)
|
|
.SetPassword( .owner_passwd, .user_passwd )
|
|
endif
|
|
|
|
endwith
|
|
endproc
|
|
|
|
#IFDEF WITH_STATUS_ASSIGN
|
|
***********************
|
|
procedure status_assign
|
|
lparameters nErrorCode
|
|
if m.nErrorCode = this.status
|
|
return
|
|
endif
|
|
this.status = m.nErrorCode
|
|
if nErrorCode <> 0
|
|
this.errormsg = 'Unknown error.'
|
|
try
|
|
this.errormsg = this.errors.Item(Transform( m.nErrorCode))
|
|
catch
|
|
endtry
|
|
endif
|
|
endproc
|
|
#ENDIF
|
|
|
|
*!*************************************************************************
|
|
*!* main PDF document handling functions
|
|
*!*************************************************************************
|
|
procedure New
|
|
if this.HasDoc()
|
|
this.FreeDoc()
|
|
endif
|
|
*this.SetPDF()
|
|
return HPDF_New(0,0)
|
|
endproc
|
|
|
|
procedure Free( )
|
|
this.status = HPDF_Free(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure NewDoc()
|
|
local pdf
|
|
pdf = this.doc
|
|
this.status = HPDF_NewDoc(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
*revoke document but keeps allocated resources (images, encodings, fonts) for reuse
|
|
*
|
|
procedure FreeDoc()
|
|
this.status = HPDF_FreeDoc(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
*revoke document and all allocated resources (images, encodings, fonts)
|
|
*
|
|
procedure FreeDocAll()
|
|
this.status = HPDF_FreeDocAll(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure HasDoc(pdf)
|
|
return not HPDF_HasDoc(pdf) = 0
|
|
endproc
|
|
|
|
procedure SaveToStream()
|
|
this.status = HPDF_SaveToStream(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure GetStreamSize()
|
|
return HPDF_GetStreamSize(this.doc )
|
|
endproc
|
|
|
|
procedure ReadFromStream
|
|
Parameters buf,size
|
|
return HPDF_ReadFromStream(this.doc, @m.buf, m.size )
|
|
endproc
|
|
|
|
procedure ResetStream()
|
|
this.status = HPDF_ResetStream(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure SaveToFile( filename ) as HPDF_Status
|
|
this.status = HPDF_SaveToFile(this.doc,m.filename)
|
|
return this.status
|
|
endproc
|
|
|
|
*returns last error code of pdf object
|
|
procedure GetError()
|
|
return HPDF_GetError(this.doc)
|
|
endproc
|
|
|
|
procedure ResetError()
|
|
this.status = HPDF_ResetError(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure GetPageByIndex(index)
|
|
this.status = this.GetError()
|
|
return HPDF_GetPageByIndex(this.doc,m.index)
|
|
endproc
|
|
|
|
procedure GetPageLayout()
|
|
return HPDF_GetPageLayout(this.doc)
|
|
endproc
|
|
|
|
procedure SetPageLayout(layout)
|
|
this.status = HPDF_SetPageLayout(this.doc, m.layout)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure GetPageMode()
|
|
return HPDF_GetPageMode(this.doc)
|
|
endproc
|
|
|
|
procedure SetPageMode(mode)
|
|
this.status = HPDF_SetPageMode(this.doc,m.mode)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure GetViewerPreference()
|
|
return HPDF_GetViewerPreference(this.doc)
|
|
endproc
|
|
|
|
procedure SetViewerPreference(prefv)
|
|
this.status = HPDF_SetViewerPreference(this.doc,m.prefv)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure SetOpenAction(open_action)
|
|
this.status = HPDF_SetOpenAction(this.doc,m.open_action)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document pages handling functions
|
|
*!*************************************************************************
|
|
|
|
procedure GetCurrentPage()
|
|
return HPDF_GetCurrentPage(this.doc)
|
|
endproc
|
|
|
|
procedure AddPage()
|
|
return HPDF_AddPage(this.doc)
|
|
endproc
|
|
|
|
procedure InsertPage(page)
|
|
return HPDF_InsertPage(this.doc,page)
|
|
endproc
|
|
|
|
procedure Page_SetWidth(page,value)
|
|
this.status = HPDF_Page_SetWidth(m.page,m.value)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Page_SetHeight(page,value)
|
|
this.status = HPDF_Page_SetHeight(m.page,m.value)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Page_SetHeight(page,value)
|
|
this.status = HPDF_Page_SetHeight(m.page,m.value)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Page_SetSize(page,size,direction)
|
|
this.status = HPDF_Page_SetSize(m.page,m.size,m.direction)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Page_SetRotate(page,angle)
|
|
this.status = HPDF_Page_SetRotate(m.page,m.angle)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Page_GetCurrentPos(page)
|
|
local point as Empty
|
|
local cPoint as String
|
|
cPoint = Replicate(Chr(0),8)
|
|
point = Newobject('Empty')
|
|
this.status = HPDF_Page_GetCurrentPos2(m.page,@m.cPoint)
|
|
Addproperty(point,'x',Ctobin(Left(cPoint,4),'N'))
|
|
Addproperty(point,'y',Ctobin(Right(cPoint,4),'N'))
|
|
return point
|
|
endproc
|
|
|
|
procedure Page_GetCurrentPos2(page)
|
|
local point as Empty
|
|
local cPoint as String
|
|
cPoint = Replicate(Chr(0),8)
|
|
point = Newobject('Empty')
|
|
this.status = HPDF_Page_GetCurrentPos2(m.page,@m.cPoint)
|
|
Addproperty(point,'x',Ctobin(Left(m.cPoint,4),'N'))
|
|
Addproperty(point,'y',Ctobin(Right(m.cPoint,4),'N'))
|
|
return point
|
|
endproc
|
|
|
|
procedure Page_GetCurrentTextPos(page)
|
|
local point as Empty
|
|
local cPoint as String
|
|
cPoint = Replicate(Chr(0),8)
|
|
point = Newobject('Empty')
|
|
this.status = HPDF_Page_GetCurrentTextPos2(m.page, @m.cPoint)
|
|
Addproperty(point,'x',Ctobin(Left(m.cPoint,4),'N'))
|
|
Addproperty(point,'y',Ctobin(Right(m.cPoint,4),'N'))
|
|
return point
|
|
endproc
|
|
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document font handling functions
|
|
*!*************************************************************************
|
|
|
|
procedure GetFont(font_name,encoding_name)
|
|
return HPDF_GetFont(this.doc,m.font_name,m.encoding_name)
|
|
endproc
|
|
|
|
procedure LoadType1FontFromFile(afm_file_name, data_file_name)
|
|
return HPDF_LoadType1FontFromFile(this.doc,m.afm_file_name,m.data_file_name)
|
|
endproc
|
|
|
|
procedure LoadTTFontFromFile(file_name, embedding)
|
|
return HPDF_LoadTTFontFromFile(this.doc, m.file_name, m.embedding)
|
|
endproc
|
|
|
|
procedure LoadTTFontFromFile2(file_name, index, embedding)
|
|
return HPDF_LoadTTFontFromFile2(this.doc, m.file_name, m.index, m.embedding)
|
|
endproc
|
|
|
|
procedure AddPageLabel(page_num,style,first_page,prefix)
|
|
return HPDF_AddPageLabel(this.doc,m.page_num,m.style,m.first_page,m.prefix)
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document outline handling functions
|
|
*!*************************************************************************
|
|
|
|
procedure CreateOutline(parent,title,encoder)
|
|
return HPDF_CreateOutline(this.doc,m.parent,m.title,m.encoder)
|
|
endproc
|
|
|
|
procedure Outline_SetOpened(outline as HPDF_Outline, opened as HPDF_BOOL) as HPDF_STATUS
|
|
return HPDF_Outline_SetOpened(m.outline,m.opened)
|
|
endproc
|
|
|
|
procedure Outline_SetDestination(outline as HPDF_Outline, dst as HPDF_Outline) as HPDF_STATUS
|
|
return HPDF_Outline_SetDestination(m.outline,m.dst)
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document destinations handling functions
|
|
*!*************************************************************************
|
|
|
|
procedure Page_CreateDestination(page as HPDF_Page) as HPDF_Destination
|
|
pagedst = HPDF_Page_CreateDestination(m.page)
|
|
if pagedst = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return pagedst
|
|
endproc
|
|
|
|
procedure Destination_SetXYZ(dst as HPDF_Destination ;
|
|
,left as HPDF_Destination ;
|
|
,top as HPDF_Destination ;
|
|
,zoom as HPDF_Destination ) as HPDF_STATUS
|
|
|
|
this.status = HPDF_Destination_SetXYZ(m.dst,m.left,m.top,m.zoom)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
|
|
procedure Destination_SetFit(dst as HPDF_Destination) as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFit(m.dst)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
|
|
procedure Destination_SetFitH(dst as HPDF_Destination ;
|
|
,top as HPDF_Destination) ;
|
|
as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFitH(m.dst , m.top )
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Destination_SetFitV( dst as HPDF_Destination ;
|
|
,left as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFitV(m.dst,m.left)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Destination_SetFitR(dst as HPDF_Destination ;
|
|
,left as HPDF_REAL ;
|
|
,bottom as HPDF_REAL ;
|
|
,right as HPDF_REAL ;
|
|
,top as HPDF_REAL ) as HPDF_STATUS
|
|
|
|
this.status = HPDF_Destination_SetFitR(m.dst,m.left,m.bottom,m.right)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Destination_SetFitB(dst as HPDF_Destination) as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFitB(m.dst)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Destination_SetFitBH(dst as HPDF_Destination ;
|
|
,top as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFitBH(m.dst,m.top)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Destination_SetFitBV(dst as HPDF_Destination ;
|
|
,left as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Destination_SetFitBV(m.dst,m.left)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document encoder functions
|
|
*!*************************************************************************
|
|
|
|
procedure GetEncoder(encoding_name as String) as HPDF_Encoder
|
|
return HPDF_GetEncoder(this.doc,m.encoding_name)
|
|
endproc
|
|
|
|
procedure GetCurrentEncoder() as HPDF_Encoder
|
|
return HPDF_GetCurrentEncoder (this.doc)
|
|
endproc
|
|
|
|
procedure SetCurrentEncoder(encoding_name) as HPDF_STATUS
|
|
this.status = HPDF_SetCurrentEncoder(this.doc,m.encoding_name)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure Encoder_GetType(encoder as HPDF_Encoder) as HPDF_EncoderType
|
|
return HPDF_Encoder_GetType(m.encoder)
|
|
endproc
|
|
|
|
procedure Encoder_GetByteType(encoder as HPDF_Encoder ;
|
|
,text as String ;
|
|
,index as HPDF_UINT ) as HPDF_ByteType
|
|
return HPDF_Encoder_GetByteType (m.encoder,m.text,m.index)
|
|
endproc
|
|
|
|
procedure Encoder_GetUnicode(encoder as HPDF_Encoder ;
|
|
,code as HPDF_UINT16) as HPDF_UNICODE
|
|
return HPDF_Encoder_GetUnicode(m.encoder,m.code)
|
|
endproc
|
|
|
|
procedure Encoder_GetWritingMode (encoder as HPDF_Encoder) as HPDF_WritingMode
|
|
return HPDF_Encoder_GetWritingMode(m.encoder)
|
|
endproc
|
|
|
|
procedure UseJPEncodings() as HPDF_STATUS
|
|
this.status = HPDF_UseJPEncodings(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure UseKREncodings() as HPDF_STATUS
|
|
this.status = HPDF_UseKREncodings(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure UseCNSEncodings() as HPDF_STATUS
|
|
this.status = HPDF_UseCNSEncodings(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure UseCNTEncodings() as HPDF_STATUS
|
|
this.status = HPDF_UseCNTEncodings(this.doc)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document annotations functions
|
|
*!*************************************************************************
|
|
|
|
procedure Page_CreateTextAnnot( page as HPDF_Page ;
|
|
,rect as HPDF_Rect ;
|
|
,text as String ;
|
|
,encoder as HPDF_Encoder ) as HPDF_Annotation
|
|
retval = HPDF_Page_CreateTextAnnot(m.page,m.rect,m.text,m.encoder)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure Page_CreateLinkAnnot(page as HPDF_Page ;
|
|
,rect as HPDF_Rect ;
|
|
,dst as HPDF_Destination ) as HPDF_Annotation
|
|
m.retval = HPDF_Page_CreateLinkAnnot (m.page,m.rect,m.dst)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return retval
|
|
endproc
|
|
|
|
procedure Page_CreateURILinkAnnot(page as HPDF_Page ;
|
|
,rect as HPDF_Rect ;
|
|
,url as String) as HPDF_Annotation
|
|
retval = HPDF_Page_CreateURILinkAnnot(m.page,m.rect,m.url)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return retval
|
|
endproc
|
|
|
|
procedure LinkAnnot_SetHighlightMode(annot as HPDF_Annotation ;
|
|
,mode as HPDF_AnnotHighlightMode) as HPDF_STATUS
|
|
this.status = HPDF_LinkAnnot_SetHighlightMode(m.annot,m.mode)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure LinkAnnot_SetBorderStyle(annot as HPDF_Annotation ;
|
|
,width as HPDF_REAL ;
|
|
,dash_on as HPDF_UINT16 ;
|
|
,dash_off as HPDF_UINT16) as HPDF_STATUS
|
|
this.status = HPDF_LinkAnnot_SetBorderStyle(m.annot,m.width,m.dash_on,m.dash_off)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure TextAnnot_SetIcon( annot as HPDF_Annotation ;
|
|
,icon as HPDF_Annotation) as HPDF_STATUS
|
|
this.status = HPDF_TextAnnot_SetIcon(m.annot,m.icon)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
procedure extAnnot_SetOpened(annot as HPDF_Annotation ;
|
|
,opened as HPDF_BOOL ) as HPDF_STATUS
|
|
this.status = HPDF_TextAnnot_SetOpened(m.annot,m.opened)
|
|
return this.status = HPDF_OK
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document image handling functions
|
|
*!*************************************************************************
|
|
procedure LoadPngImageFromFile(filename as string) as HPDF_Image
|
|
retval = HPDF_LoadPngImageFromFile(this.doc,m.filename)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure LoadPngImageFromFile2(filename as string) as HPDF_Image
|
|
m.retval = HPDF_LoadPngImageFromFile2(this.doc, m.filename)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure LoadJpegImageFromFile(filename AS String ) as HPDF_Image
|
|
retval = HPDF_LoadJpegImageFromFile(this.doc, m.filename)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure LoadRawImageFromFile(filename as String ;
|
|
,width as HPDF_UINT ;
|
|
,height as HPDF_UINT ;
|
|
,color_space as HPDF_ColorSpace) as HPDF_Image
|
|
retval = HPDF_LoadRawImageFromFile(this.doc,m.filename,m.width,m.height,m.color_space)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure LoadRawImageFromMem(buf as HPDF_BYTE ;
|
|
,width as HPDF_UINT ;
|
|
,height as HPDF_UINT ;
|
|
,color_space as HPDF_ColorSpace ;
|
|
,bits_per_component as HPDF_UINT) as HPDF_Image
|
|
retval = HPDF_LoadRawImageFromMem(this.doc,m.buf,m.width,m.height,m.color_space,m.bits_per_component)
|
|
if m.retval = 0
|
|
this.status = this.GetError()
|
|
endif
|
|
return m.retval
|
|
endproc
|
|
|
|
procedure Image_GetWidth(image as HPDF_Image) as HPDF_UINT
|
|
return HPDF_Image_GetWidth(m.image)
|
|
endproc
|
|
|
|
procedure Image_GetHeight(image as HPDF_Image) as HPDF_UINT
|
|
return HPDF_Image_GetHeight(m.image)
|
|
endproc
|
|
|
|
procedure Image_GetBitsPerComponent(image as HPDF_Image ) as HPDF_UINT
|
|
return HPDF_Image_GetBitsPerComponent(m.image)
|
|
endproc
|
|
|
|
procedure Image_GetColorSpace(image as HPDF_Image) as string
|
|
return HPDF_Image_GetColorSpace (m.image)
|
|
endproc
|
|
|
|
procedure Image_SetColorMask(image as HPDF_Image ;
|
|
,rmin as HPDF_UINT ;
|
|
,rmax as HPDF_UINT ;
|
|
,gmin as HPDF_UINT ;
|
|
,gmax as HPDF_UINT ;
|
|
,bmin as HPDF_UINT ;
|
|
,bmax as HPDF_UINT ) as HPDF_STATUS
|
|
this.status = HPDF_Image_SetColorMask(m.image,m.rmin,m.rmax,m.gmin,m.gmax,m.bmin,m.bmax)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Image_SetMaskImage(image as HPDF_Image ;
|
|
,mask_image as HPDF_Image) as HPDF_STATUS
|
|
this.status = HPDF_Image_SetMaskImage(m.image, m.mask_image)
|
|
return this.status
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document info attributes handling functions
|
|
*!*************************************************************************
|
|
|
|
procedure SetInfoAttr(type as HPDF_InfoType ;
|
|
,value as String) as HPDF_STATUS
|
|
this.status = HPDF_SetInfoAttr(this.doc,m.type,m.value)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure info_author_assign(cValue)
|
|
if Vartype(cValue) = 'C'
|
|
this.status = this.SetInfoAttr(HPDF_INFO_AUTHOR , m.cValue)
|
|
this.info_author = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
procedure info_creator_assign(cValue)
|
|
if Vartype(cValue) = 'C'
|
|
this.status = this.SetInfoAttr(HPDF_INFO_CREATOR , m.cValue)
|
|
this.info_creator = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
procedure info_producer_assign(cValue)
|
|
if Vartype(cValue) = 'C'
|
|
this.status = this.SetInfoAttr( HPDF_INFO_PRODUCER , m.cValue)
|
|
this.info_producer = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
procedure info_title_assign(cValue)
|
|
if Vartype(cValue) = 'C'
|
|
this.status = this.SetInfoAttr( HPDF_INFO_TITLE, m.cValue)
|
|
this.info_title = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
procedure info_subject_assign(cValue)
|
|
if Vartype(cValue) = 'C'
|
|
this.status = this.SetInfoAttr( HPDF_INFO_SUBJECT, m.cValue)
|
|
this.info_title = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
*doesn't work :(
|
|
*procedure info_keywords_assign(cValue)
|
|
* if Vartype(cValue) = 'C'
|
|
* this.status = this.SetInfoAttr( HPDF_INFO_KEYWORDS, m.cValue )
|
|
* this.info_keywords = m.cValue
|
|
* endif
|
|
*endproc
|
|
|
|
procedure GetInfoAttr(type as HPDF_InfoType ) as String
|
|
return HPDF_GetInfoAttr(this.doc,type)
|
|
endproc
|
|
|
|
procedure SetInfoDateAttr(type as HPDF_InfoTypeas ;
|
|
,value as Datetime) as HPDF_STATUS
|
|
local year, month, day, hour, minutes, seconds, cStruct
|
|
year = Year(m.value)
|
|
month = Month(m.value)
|
|
day = Day(m.value)
|
|
hour = Hour(m.value)
|
|
minutes = Minute(m.value)
|
|
seconds = Sec(m.value)
|
|
|
|
cStruct = BinToC(m.year,'4rs') ;
|
|
+ BinToC(m.month ,'4rs') ;
|
|
+ BinToC(m.day ,'4rs') ;
|
|
+ BinToC(m.hour ,'4rs') ;
|
|
+ BinToC(m.minutes ,'4rs') ;
|
|
+ BinToC(m.seconds ,'4rs') + ' ' + Replicate(Chr(0),8)
|
|
|
|
this.status = HPDF_SetInfoDateAttr(this.doc,m.type,m.cStruct)
|
|
return this.status
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document encryption/permission handling functions
|
|
*!*************************************************************************
|
|
procedure SetPassword(owner_passwd as String ;
|
|
,user_passwd as String ) as HPDF_STATUS
|
|
this.status = HPDF_SetPassword(this.doc,m.owner_passwd,m.user_passwd)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure owner_passwd_assign(cPassword)
|
|
if Vartype(cPassword) = 'C'
|
|
this.status = this.SetPassword(this.doc,m.cPassword,this.user_passwd)
|
|
this.owner_passwd = m.cValue
|
|
endif
|
|
endproc
|
|
procedure user_passwd_assign(cPassword)
|
|
if Vartype(cPassword) = 'C'
|
|
this.status = this.SetPassword(this.doc,this.owner_passwd, m.cPassword)
|
|
this.user_passwd = m.cValue
|
|
endif
|
|
endproc
|
|
|
|
procedure SetPermission() as HPDF_STATUS
|
|
local permission
|
|
permission = Iif(this.enable_print,4,0) + Iif(this.enable_copy,16,0)
|
|
this.status = HPDF_SetPermission(this.doc,m.permission)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure enable_print_assign(lValue)
|
|
if Vartype(lValue) = 'L'
|
|
this.enable_print = m.lValue
|
|
this.SetPermission()
|
|
endif
|
|
endproc
|
|
|
|
procedure enable_copy_assign(lValue)
|
|
if Vartype(lValue) = 'L'
|
|
this.enable_copy = m.lValue
|
|
this.SetPermission()
|
|
endif
|
|
endproc
|
|
|
|
procedure SetEncryptionMode() as HPDF_STATUS
|
|
local mode,key_len
|
|
mode = this.encrypt_mode
|
|
key_len = this.key_length
|
|
|
|
if this.encrypt_mode = 'R2'
|
|
mode = HPDF_ENCRYPT_R2
|
|
key_len = 5
|
|
endif
|
|
if this.encrypt_mode = 'R3'
|
|
mode = HPDF_ENCRYPT_R3
|
|
key_len = Max(this.key_length,16)
|
|
endif
|
|
this.status = HPDF_SetEncryptionMode(this.doc,m.mode,m.key_len)
|
|
return this.status
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document compression setting function
|
|
*!*************************************************************************
|
|
procedure SetCompressionMode(mode as HPDF_UINT) as HPDF_STATUS
|
|
this.status = HPDF_SetCompressionMode(this.doc, m.mode)
|
|
return this.status
|
|
endproc
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document fonts / text functions
|
|
*!*************************************************************************
|
|
*
|
|
*real_width must be passed by ref if needed
|
|
procedure Font_MeasureText(font as HPDF_Font;
|
|
,text as String ;
|
|
,len as HPDF_UINT ;
|
|
,width as HPDF_REAL;
|
|
,font_size as HPDF_REAL;
|
|
,char_space as HPDF_REAL ;
|
|
,word_space as HPDF_REAL ;
|
|
,wordwrap as HPDF_BOOL ;
|
|
,real_width as HPDF_REAL ) as HPDF_UINT
|
|
HPDF_Font_MeasureText(m.font,m.text,m.len,m.width,m.font_size,m.char_space,m.word_space,m.wordwrap,@m.real_width)
|
|
return m.real_width
|
|
endproc
|
|
|
|
procedure Page_TextWidth(page as HPDF_Page,text as String) as HPDF_REAL
|
|
return HPDF_Page_TextWidth(m.page,m.text)
|
|
endproc
|
|
|
|
procedure Page_GetHeight(page as HPDF_Page) as HPDF_REAL
|
|
return HPDF_Page_GetHeight(m.page)
|
|
endproc
|
|
procedure Page_GetWidth(page as HPDF_Page) as HPDF_REAL
|
|
return HPDF_Page_GetWidth(m.page)
|
|
endproc
|
|
|
|
*
|
|
*real_width must be passed by ref if needed
|
|
procedure Page_MeasureText(page as HPDF_Page ;
|
|
,text as String ;
|
|
,width as HPDF_REAL ;
|
|
,wordwrap as HPDF_BOOL ;
|
|
,real_width as HPDF_REAL ) as HPDF_UINT
|
|
HPDF_Page_MeasureText(m.page,m.text,m.width,m.wordwrap,@m.real_width)
|
|
return m.real_width
|
|
endproc
|
|
|
|
procedure Page_GetCurrentFont( page as HPDF_Page ) as HPDF_Font
|
|
return HPDF_Page_GetCurrentFont(m.page)
|
|
endproc
|
|
|
|
procedure Page_GetCurrentFontSize(page as HPDF_Page) as HPDF_REAL
|
|
return HPDF_Page_GetCurrentFontSize(m.page)
|
|
endproc
|
|
|
|
|
|
*!*************************************************************************
|
|
*!* PDF document graphics functions
|
|
*!*************************************************************************
|
|
procedure Page_SetLineWidth(page as HPDF_Page ;
|
|
,line_width as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetLineWidth(m.page,m.line_width)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_GetLineWidth(page as HPDF_Page)
|
|
return HPDF_Page_GetLineWidth(m.page)
|
|
endproc
|
|
|
|
procedure Page_SetLineCap(page as HPDF_Page ;
|
|
,line_cap as HPDF_LineCap) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetLineCap(m.page,m.line_cap)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetLineJoin(page as HPDF_Page ;
|
|
,line_join as HPDF_LineJoin) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetLineJoin(m.page,m.line_join)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetMiterLimit(page as HPDF_Page ;
|
|
,miter_limit as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetMiterLimit(m.page,m.miter_limit)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetDash( page as HPDF_Page ;
|
|
,dash_ptn as string ; &&string of UINT16 points
|
|
,num_param as HPDF_UINT ;
|
|
,phase as HPDF_UINT) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetDash(m.page,m.dash_ptn,m.num_param,m.phase)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetFlat(page as HPDF_Page ;
|
|
,flatness as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetFlat(m.page,m.flatness)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_MoveTo(page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_MoveTo(m.page,m.x,m.y)
|
|
return this.status
|
|
endproc
|
|
|
|
|
|
procedure Page_LineTo(page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_LineTo(m.page,m.x,m.y)
|
|
return this.status
|
|
endproc
|
|
|
|
|
|
procedure Page_CurveTo( page as HPDF_Page ;
|
|
,x1 as HPDF_REAL ;
|
|
,y1 as HPDF_REAL ;
|
|
,x2 as HPDF_REAL ;
|
|
,y2 as HPDF_REAL ;
|
|
,x3 as HPDF_REAL ;
|
|
,y3 as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_CurveTo(m.page,m.x1,m.y1,m.x2,m.y2,m.x3,m.y3)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_CurveTo2(page as HPDF_Page ;
|
|
,x2 as HPDF_REAL ;
|
|
,y2 as HPDF_REAL ;
|
|
,x3 as HPDF_REAL ;
|
|
,y3 as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_CurveTo2(m.page,m.x2,m.y2,m.x3,m.y3)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_CurveTo3(page as HPDF_Page ;
|
|
,x1 as HPDF_REAL ;
|
|
,y1 as HPDF_REAL ;
|
|
,x3 as HPDF_REAL ;
|
|
,y3 as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_CurveTo3(m.page,m.x1,m.y1,m.x3,m.y3)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ClosePath(page as HPDF_Page)as HPDF_STATUS
|
|
this.status = HPDF_Page_ClosePath(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Rectangle(page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,width as HPDF_REAL ;
|
|
,height as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_Rectangle(m.page,m.x,m.y,m.width,m.height)
|
|
return this.status
|
|
endproc
|
|
|
|
*/*--- Special graphic state operator --------------------------------------*/
|
|
procedure Page_GSave(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_GSave(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_GRestore(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_GRestore(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Concat(page as HPDF_Page ;
|
|
,a as HPDF_REAL ;
|
|
,b as HPDF_REAL ;
|
|
,c as HPDF_REAL ;
|
|
,d as HPDF_REAL ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_Concat(m.page,m.a,m.b,m.c,m.d,m.x,m.y)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetCharSpace(page as HPDF_Page, value as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetCharSpace(m.page,m.value)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetWordSpace(page as HPDF_Page, value as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetWordSpace(m.page,m.value)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetHorizontalScalling(page as HPDF_Page, value as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetHorizontalScalling(m.page,m.value)
|
|
return this.status
|
|
endproc
|
|
procedure Page_SetTextLeading(page as HPDF_Page, value as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetTextLeading(m.page,m.value)
|
|
return this.status
|
|
endproc
|
|
procedure Page_SetTextRise(page as HPDF_Page, value as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetTextRise(m.page,m.value)
|
|
return this.status
|
|
endproc
|
|
|
|
*/*--- Path painting operator ---------------------------------------------*/
|
|
procedure Page_Stroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_Stroke(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ClosePathStroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_ClosePathStroke(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Fill(page as HPDF_Page)
|
|
this.status = HPDF_Page_Fill(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Eofill(page as HPDF_Page)
|
|
this.status = HPDF_Page_Eofill(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_FillStroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_FillStroke (m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_EofillStroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_EofillStroke(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ClosePathFillStroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_ClosePathFillStroke(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ClosePathEofillStroke(page as HPDF_Page)
|
|
this.status = HPDF_Page_ClosePathEofillStroke(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_EndPath(page as HPDF_Page)
|
|
this.status = HPDF_Page_EndPath(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_BeginText(page as HPDF_Page ) as HPDF_STATUS
|
|
this.status = HPDF_Page_BeginText(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
|
|
procedure Page_EndText(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_EndText(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Clip(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_Clip(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Eoclip(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_Eoclip(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetFontAndSize(page as HPDF_Page, font as HPDF_Font,size as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetFontAndSize(m.page,m.font,m.size)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetTextRenderingMode(page as HPDF_Page,mode as HPDF_TextRenderingMode) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetTextRenderingMode(m.page,m.mode)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_MoveTextPos(page as HPDF_Page,x as HPDF_REAL,y as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_MoveTextPos(m.page,m.x,m.y)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_MoveTextPos2(page as HPDF_Page,x as HPDF_REAL,y as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_MoveTextPos2(m.page,m.x,m.y)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetTextMatrix( page as HPDF_Page ;
|
|
,a as HPDF_REAL ;
|
|
,b as HPDF_REAL ;
|
|
,c as HPDF_REAL ;
|
|
,d as HPDF_REAL ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetTextMatrix(m.page,m.a,m.b,m.c,m.d,m.x,m.y)
|
|
endproc
|
|
|
|
procedure Page_MoveToNextLine(page as HPDF_Page) as HPDF_STATUS
|
|
this.status = HPDF_Page_MoveToNextLine(m.page)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ShowText(page as HPDF_Page, text as String ) as HPDF_STATUS
|
|
this.status = HPDF_Page_ShowText(m.page,m.text)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ShowTextNextLine(page as HPDF_Page, text as String ) as HPDF_STATUS
|
|
this.status = HPDF_Page_ShowTextNextLine(m.page,m.text)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetGrayFill(page as HPDF_Page, gray as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetGrayFill(m.page,m.gray)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetGrayStroke(page as HPDF_Page, gray as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetGrayStroke(m.page,m.gray)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetRGBFill(page as HPDF_Page,r as HPDF_REAL,g as HPDF_REAL,b as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetRGBFill(m.page,m.r,m.g,m.b)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetRGBStroke(page as HPDF_Page,r as HPDF_REAL,g as HPDF_REAL,b as HPDF_REAL) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetRGBStroke(m.page,m.r,m.g,m.b)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetCMYKFill(page as HPDF_Page ;
|
|
,c as HPDF_REAL ;
|
|
,m as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,k as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetCMYKFill(m.page,m.c,m.m,m.y,m.k)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_SetCMYKStroke(page as HPDF_Page ;
|
|
,c as HPDF_REAL ;
|
|
,m as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,k as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_SetCMYKStroke(m.page,m.c,m.m,m.y,m.k)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_DrawImage(page as HPDF_Page ;
|
|
,image as HPDF_Image ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,width as HPDF_REAL ;
|
|
,height as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_DrawImage(m.page,m.image,m.x,m.y,m.width,m.height)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Circle(page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,ray as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_Circle(m.page,m.x,m.y,m.ray)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Ellipse( page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,xray as HPDF_REAL ;
|
|
,yray as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_Ellipse ( m.page, m.x, m.y, m.xray, m.yray )
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_Arc(page as HPDF_Page ;
|
|
,x as HPDF_REAL ;
|
|
,y as HPDF_REAL ;
|
|
,ray as HPDF_REAL ;
|
|
,ang1 as HPDF_REAL ;
|
|
,ang2 as HPDF_REAL ) as HPDF_STATUS
|
|
this.status = HPDF_Page_Arc( m.page, m.x, m.y, m.ray, m.ang1, m.ang2)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_TextOut(page as HPDF_Page ;
|
|
,xpos as HPDF_REAL ;
|
|
,ypos as HPDF_REAL ;
|
|
,text as String ) as HPDF_STATUS
|
|
this.status = HPDF_Page_TextOut( m.page, m.xpos, m.ypos, m.text)
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_TextRect(page as HPDF_Page ;
|
|
,left as HPDF_REAL ;
|
|
,top as HPDF_REAL ;
|
|
,right as HPDF_REAL ;
|
|
,bottom as HPDF_REAL ;
|
|
,text as string ;
|
|
,align as HPDF_TextAlignment ;
|
|
,len as integer, style as string ) as HPDF_STATUS
|
|
this.status = HPDF_Page_TextRect( m.page, m.left, m.top, m.right, m.bottom, m.text, m.align, m.len )
|
|
return this.status
|
|
endproc
|
|
|
|
procedure Page_ExecuteXObject(page as HPDF_Page, obj as HPDF_XObject) as HPDF_STATUS
|
|
this.status = HPDF_Page_ExecuteXObject( m.page, m.obj)
|
|
return this.status
|
|
endproc
|
|
|
|
*this doesn't work, return page handle as integer and empty string
|
|
*
|
|
*procedure Page_GetRGBFill(page as HPDF_Page) as HPDF_RGBColor
|
|
* colorDWAddress = HPDF_Page_GetRGBFill(page)
|
|
* colorStruct = Sys(2600, colorDWAddress , 12)
|
|
* color = NewObject('Empty')
|
|
* AddProperty(color,'r',CToBin(Left(colorStruct ,4),'N'))
|
|
* AddProperty(color,'g',CToBin(Substr(colorStruct ,5,4),'N'))
|
|
* AddProperty(color,'b',CToBin(Substr(colorStruct ,9,4),'N'))
|
|
* return color
|
|
|
|
procedure Declare_dlls
|
|
*/*---------------------------------------------------------------------------*/
|
|
*/*----- document handling ---------------------------------------------------*/
|
|
|
|
declare HPDF_Doc HPDF_New in ((this.pdfLibrary)) integer, integer
|
|
declare integer HPDF_Free in ((this.pdfLibrary)) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_NewDoc in ((this.pdfLibrary)) HPDF_Doc pdf
|
|
declare integer HPDF_FreeDoc in ((this.pdfLibrary)) HPDF_Doc pdf
|
|
declare integer HPDF_FreeDocAll in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_BOOL HPDF_HasDoc in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SaveToStream in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare integer HPDF_GetStreamSize in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_ReadFromStream in (this.pdfLibrary) HPDF_Doc pdf, @ string buf , integer size
|
|
declare HPDF_STATUS HPDF_ResetStream in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SaveToFile in (this.pdfLibrary) HPDF_Doc pdf, string filename
|
|
declare HPDF_STATUS HPDF_GetError in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare integer HPDF_ResetError in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_Page HPDF_GetPageByIndex in (this.pdfLibrary) HPDF_Doc pdf, integer index
|
|
declare HPDF_PageLayout HPDF_GetPageLayout in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SetPageLayout in (this.pdfLibrary) HPDF_Doc pdf ,integer layout
|
|
declare HPDF_PageMode HPDF_GetPageMode in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SetPageMode in (this.pdfLibrary) HPDF_Doc pdf, integer mode
|
|
declare integer HPDF_GetViewerPreference in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SetViewerPreference in (this.pdfLibrary) HPDF_Doc pdf, integer prefv
|
|
declare HPDF_STATUS HPDF_SetOpenAction in (this.pdfLibrary) HPDF_Doc pdf, integer open_action
|
|
|
|
*/*---------------------------------------------------------------------------*/
|
|
*/*----- page handling -------------------------------------------------------*/
|
|
|
|
declare HPDF_Page HPDF_GetCurrentPage in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_Page HPDF_AddPage in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_Page HPDF_InsertPage in (this.pdfLibrary) HPDF_Doc pdf, HPDF_Page pageBefore
|
|
declare HPDF_STATUS HPDF_Page_SetWidth in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
declare HPDF_STATUS HPDF_Page_SetHeight in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
declare HPDF_STATUS HPDF_Page_SetHeight in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
declare HPDF_STATUS HPDF_Page_SetSize in (this.pdfLibrary) HPDF_Page page, HPDF_PageSizes size ;
|
|
,HPDF_PageDirection direction
|
|
declare HPDF_STATUS HPDF_Page_SetRotate in (this.pdfLibrary) HPDF_Page page, HPDF_UINT16 angle
|
|
|
|
*declare HPDF_Point HPDF_Page_GetCurrentPos in (this.pdfLibrary) HPDF_Page page &&doesn't work
|
|
declare HPDF_STATUS HPDF_Page_GetCurrentPos2 in (this.pdfLibrary) HPDF_Page page, HPDF_Point @ pos
|
|
declare HPDF_STATUS HPDF_Page_GetCurrentTextPos2 in (this.pdfLibrary) HPDF_Page page, HPDF_Point @ pos
|
|
|
|
*/*---------------------------------------------------------------------------*/
|
|
*/*----- font handling -------------------------------------------------------*/
|
|
|
|
declare HPDF_Font HPDF_GetFont in (this.pdfLibrary) HPDF_Doc pdf, string font_name, string encoding_name
|
|
declare string HPDF_LoadType1FontFromFile in (this.pdfLibrary) HPDF_Doc pdf, string afm_file_name ;
|
|
,string data_file_name
|
|
declare string HPDF_LoadTTFontFromFile in (this.pdfLibrary) HPDF_Doc pdf, string file_name ;
|
|
,HPDF_BOOL embedding
|
|
declare string HPDF_LoadTTFontFromFile2 in (this.pdfLibrary) HPDF_Doc pdf, string file_name ;
|
|
,HPDF_UINT index, HPDF_BOOL embedding
|
|
declare integer HPDF_AddPageLabel in (this.pdfLibrary) HPDF_Doc pdf,HPDF_UINT page_num,HPDF_PageNumStyle style ;
|
|
,HPDF_UINT first_page, string prefix
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- outline ------------------------------------------------------------*/
|
|
|
|
declare HPDF_STATUS HPDF_CreateOutline in (this.pdfLibrary) HPDF_Doc pdf,HPDF_Outline parent ;
|
|
,string title, HPDF_Encoder encoder
|
|
declare HPDF_STATUS HPDF_Outline_SetOpened in (this.pdfLibrary) HPDF_Outline outline,HPDF_BOOL opened
|
|
declare HPDF_STATUS HPDF_Outline_SetDestination in (this.pdfLibrary) HPDF_Outline outline,HPDF_Destination dst
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- destination --------------------------------------------------------*/
|
|
|
|
declare HPDF_Destination HPDF_Page_CreateDestination in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_STATUS HPDF_Destination_SetXYZ in (this.pdfLibrary) HPDF_Destination dst,HPDF_REAL left,HPDF_REAL top ;
|
|
,HPDF_REAL zoom
|
|
declare HPDF_STATUS HPDF_Destination_SetFit in (this.pdfLibrary) HPDF_Destination dst
|
|
declare HPDF_STATUS HPDF_Destination_SetFitH in (this.pdfLibrary) HPDF_Destination dst,HPDF_REAL top
|
|
declare HPDF_STATUS HPDF_Destination_SetFitV in (this.pdfLibrary) HPDF_Destination dst,HPDF_REAL left
|
|
declare HPDF_STATUS HPDF_Destination_SetFitR in (this.pdfLibrary) HPDF_Destination dst,HPDF_REAL left ;
|
|
,HPDF_REAL bottom, HPDF_REAL right,HPDF_REAL top
|
|
declare HPDF_STATUS HPDF_Destination_SetFitB in (this.pdfLibrary) HPDF_Destination dst
|
|
declare HPDF_STATUS HPDF_Destination_SetFitBH in (this.pdfLibrary) HPDF_Destination dst ;
|
|
,HPDF_REAL top
|
|
declare HPDF_STATUS HPDF_Destination_SetFitBV in (this.pdfLibrary) HPDF_Destination dst ;
|
|
,HPDF_REAL left
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- encoder ------------------------------------------------------------*/
|
|
|
|
declare HPDF_Encoder HPDF_GetEncoder in (this.pdfLibrary) HPDF_Doc pdf, string encoding_name
|
|
declare HPDF_Encoder HPDF_GetCurrentEncoder in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_SetCurrentEncoder in (this.pdfLibrary) HPDF_Doc pdf, string encoding_name
|
|
declare HPDF_EncoderType HPDF_Encoder_GetType in (this.pdfLibrary) HPDF_Encoder encoder
|
|
|
|
declare HPDF_ByteType HPDF_Encoder_GetByteType in (this.pdfLibrary) HPDF_Encoder encoder ;
|
|
,string text,HPDF_UINT index
|
|
declare string HPDF_Encoder_GetUnicode in (this.pdfLibrary) HPDF_Encoder encoder ;
|
|
,string code
|
|
declare HPDF_WritingMode HPDF_Encoder_GetWritingMode in (this.pdfLibrary) HPDF_Encoder encoder
|
|
declare HPDF_STATUS HPDF_UseJPEncodings in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_UseKREncodings in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_UseCNSEncodings in (this.pdfLibrary) HPDF_Doc pdf
|
|
declare HPDF_STATUS HPDF_UseCNTEncodings in (this.pdfLibrary) HPDF_Doc pdf
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- annotation ---------------------------------------------------------*/
|
|
declare HPDF_Annotation HPDF_Page_CreateTextAnnot in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_Rect rect, string text, HPDF_Encoder encoder
|
|
declare HPDF_Annotation HPDF_Page_CreateLinkAnnot in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_Rect rect ;
|
|
,HPDF_Destination dst
|
|
declare HPDF_Annotation HPDF_Page_CreateURILinkAnnot in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_Rect rect ;
|
|
,string url
|
|
declare HPDF_STATUS HPDF_LinkAnnot_SetHighlightMode in (this.pdfLibrary) ;
|
|
HPDF_Annotation annot, HPDF_AnnotHighlightMode mode
|
|
declare HPDF_STATUS HPDF_LinkAnnot_SetBorderStyle in (this.pdfLibrary) HPDF_Annotation annot ;
|
|
,HPDF_REAL width ;
|
|
,HPDF_UINT16 dash_on ;
|
|
,HPDF_UINT16 dash_off
|
|
declare HPDF_STATUS HPDF_TextAnnot_SetIcon in (this.pdfLibrary) HPDF_Annotation annot ;
|
|
, HPDF_AnnotIcon icon
|
|
declare HPDF_STATUS HPDF_TextAnnot_SetOpened in (this.pdfLibrary) HPDF_Annotation annot ;
|
|
,HPDF_BOOL opened
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- image data ---------------------------------------------------------*/
|
|
|
|
declare HPDF_Image HPDF_LoadPngImageFromFile in (this.pdfLibrary) HPDF_Doc pdf, string filename
|
|
declare HPDF_Image HPDF_LoadPngImageFromFile2 in (this.pdfLibrary) HPDF_Doc pdf, string filename
|
|
declare HPDF_Image HPDF_LoadJpegImageFromFile in (this.pdfLibrary) HPDF_Doc pdf, string filename
|
|
declare HPDF_Image HPDF_LoadRawImageFromFile in (this.pdfLibrary) HPDF_Doc pdf ;
|
|
,string filename ;
|
|
,HPDF_UINT width ;
|
|
,HPDF_UINT height;
|
|
,HPDF_ColorSpace color_space
|
|
declare HPDF_Image HPDF_LoadRawImageFromMem in (this.pdfLibrary) HPDF_Doc pdf ;
|
|
,HPDF_BYTE buf ,HPDF_UINT width, HPDF_UINT height,HPDF_ColorSpace color_space ;
|
|
,HPDF_UINT bits_per_component
|
|
declare integer HPDF_Image_GetWidth in (this.pdfLibrary) HPDF_Image image
|
|
declare integer HPDF_Image_GetHeight in (this.pdfLibrary) HPDF_Image image
|
|
declare integer HPDF_Image_GetBitsPerComponent in (this.pdfLibrary) HPDF_Image image
|
|
declare string HPDF_Image_GetColorSpace in (this.pdfLibrary) HPDF_Image image
|
|
declare HPDF_STATUS HPDF_Image_SetColorMask in (this.pdfLibrary) HPDF_Image image,HPDF_UINT rmin ;
|
|
,HPDF_UINT rmax,HPDF_UINT gmin,HPDF_UINT gmax,HPDF_UINT bmin,HPDF_UINT bmax
|
|
declare HPDF_STATUS HPDF_Image_SetMaskImage in (this.pdfLibrary) HPDF_Image image,HPDF_Image mask_image
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- info dictionary ----------------------------------------------------*/
|
|
|
|
declare HPDF_STATUS HPDF_SetInfoAttr in (this.pdfLibrary) HPDF_Doc pdf,HPDF_InfoType type,string value
|
|
declare string HPDF_GetInfoAttr in (this.pdfLibrary) HPDF_Doc pdf,HPDF_InfoType type
|
|
declare HPDF_STATUS HPDF_SetInfoDateAttr in (this.pdfLibrary) HPDF_Doc pdf ;
|
|
,HPDF_InfoType type,HPDF_Date value
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- encryption ---------------------------------------------------------*/
|
|
declare HPDF_STATUS HPDF_SetPassword in (this.pdfLibrary) HPDF_Doc pdf ;
|
|
,string owner_passwd, string user_passwd
|
|
declare HPDF_STATUS HPDF_SetPermission in (this.pdfLibrary) HPDF_Doc pdf, integer permission
|
|
declare HPDF_STATUS HPDF_SetEncryptionMode in (this.pdfLibrary) HPDF_Doc pdf ;
|
|
,HPDF_EncryptMode mode,HPDF_UINT key_len
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- compression --------------------------------------------------------*/
|
|
declare HPDF_STATUS HPDF_SetCompressionMode in (this.pdfLibrary) HPDF_Doc pdf, HPDF_UINT mode
|
|
|
|
*/*--------------------------------------------------------------------------*/
|
|
*/*----- fonts / text -------------------------------------------------------*/
|
|
declare HPDF_UINT HPDF_Font_MeasureText in (this.pdfLibrary) HPDF_Font font ;
|
|
,string text ;
|
|
,HPDF_UINT len ;
|
|
,HPDF_REAL width ;
|
|
,HPDF_REAL font_size ;
|
|
,HPDF_REAL char_space ;
|
|
,HPDF_REAL word_space ;
|
|
,HPDF_BOOL wordwrap ;
|
|
,HPDF_REAL @ real_width
|
|
|
|
declare HPDF_REAL HPDF_Page_GetWidth in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_REAL HPDF_Page_GetHeight in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_REAL HPDF_Page_TextWidth in (this.pdfLibrary) HPDF_Page page, string text
|
|
declare HPDF_Font HPDF_Page_GetCurrentFont in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_UINT HPDF_Page_MeasureText in (this.pdfLibrary) HPDF_Page page ;
|
|
,string text ;
|
|
,HPDF_REAL width ;
|
|
,HPDF_BOOL wordwrap ;
|
|
,HPDF_REAL @ real_width
|
|
|
|
declare HPDF_RGBColor HPDF_Page_GetRGBFill in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_Font HPDF_Page_GetCurrentFont in (this.pdfLibrary) HPDF_Page page
|
|
declare HPDF_REAL HPDF_Page_GetCurrentFontSize in (this.pdfLibrary) HPDF_Page page
|
|
|
|
*/*----- GRAPHICS OPERATORS -------------------------------------------------*/
|
|
|
|
*/*--- General graphics state ---------------------------------------------*/
|
|
*/* w */
|
|
declare HPDF_STATUS HPDF_Page_SetLineWidth in (this.pdfLibrary) HPDF_Page page,HPDF_REAL line_width
|
|
declare HPDF_REAL HPDF_Page_GetLineWidth in (this.pdfLibrary) HPDF_Page page
|
|
*/* J */
|
|
declare HPDF_STATUS HPDF_Page_SetLineCap in (this.pdfLibrary) HPDF_Page page,HPDF_LineCap line_cap
|
|
*/* j */
|
|
declare HPDF_STATUS HPDF_Page_SetLineJoin in (this.pdfLibrary) HPDF_Page page,HPDF_LineJoin line_join
|
|
*/* M */
|
|
declare HPDF_STATUS HPDF_Page_SetMiterLimit in (this.pdfLibrary) HPDF_Page page,HPDF_REAL miter_limit
|
|
|
|
*/* d */
|
|
declare HPDF_STATUS HPDF_Page_SetDash in (this.pdfLibrary) HPDF_Page page, string dash_ptn ;
|
|
,HPDF_UINT num_param, HPDF_UINT phase
|
|
*/* ri --not implemented yet */
|
|
*/* i */
|
|
declare HPDF_STATUS HPDF_Page_SetFlat in (this.pdfLibrary) HPDF_Page page,HPDF_REAL flatness
|
|
*/*--- Path construction operator ------------------------------------------*/
|
|
*/* m */
|
|
declare HPDF_STATUS HPDF_Page_MoveTo in (this.pdfLibrary) HPDF_Page page,HPDF_REAL x,HPDF_REAL y
|
|
*/* l */
|
|
declare HPDF_STATUS HPDF_Page_LineTo in (this.pdfLibrary) HPDF_Page page ,HPDF_REAL x ;
|
|
,HPDF_REAL y
|
|
*/* c */
|
|
declare HPDF_STATUS HPDF_Page_CurveTo in (this.pdfLibrary) HPDF_Page page,HPDF_REAL x1 ;
|
|
,HPDF_REAL y1, HPDF_REAL x2 ,HPDF_REAL y2, HPDF_REAL x3 ,HPDF_REAL y3
|
|
*/* v */
|
|
declare HPDF_STATUS HPDF_Page_CurveTo2 in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x2 ;
|
|
,HPDF_REAL y2 ;
|
|
,HPDF_REAL x3 ;
|
|
,HPDF_REAL y3
|
|
*/* y */
|
|
declare HPDF_STATUS HPDF_Page_CurveTo3 in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x1 ;
|
|
,HPDF_REAL y1 ;
|
|
,HPDF_REAL x3 ;
|
|
,HPDF_REAL y3
|
|
*/* h */
|
|
declare HPDF_STATUS HPDF_Page_ClosePath in (this.pdfLibrary) HPDF_Page page
|
|
*/* re */
|
|
declare HPDF_STATUS HPDF_Page_Rectangle in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x;
|
|
,HPDF_REAL y;
|
|
,HPDF_REAL width;
|
|
,HPDF_REAL height
|
|
|
|
*/*--- Special graphic state operator --------------------------------------*/
|
|
*/* q */
|
|
declare HPDF_STATUS HPDF_Page_GSave in (this.pdfLibrary) HPDF_Page page
|
|
*/* Q */
|
|
declare HPDF_STATUS HPDF_Page_GRestore in (this.pdfLibrary) HPDF_Page page
|
|
*/* cm */
|
|
declare HPDF_STATUS HPDF_Page_Concat in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL a;
|
|
,HPDF_REAL b;
|
|
,HPDF_REAL c;
|
|
,HPDF_REAL d;
|
|
,HPDF_REAL x;
|
|
,HPDF_REAL y
|
|
|
|
*/* Tc */
|
|
declare HPDF_STATUS HPDF_Page_SetCharSpace in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
|
|
*/* Tw */
|
|
declare HPDF_STATUS HPDF_Page_SetWordSpace in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
*/* Tz */
|
|
declare HPDF_STATUS HPDF_Page_SetHorizontalScalling in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
*/* TL */
|
|
declare HPDF_STATUS HPDF_Page_SetTextLeading in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
*/* Ts */
|
|
declare HPDF_STATUS HPDF_Page_SetTextRise in (this.pdfLibrary) HPDF_Page page, HPDF_REAL value
|
|
*/*--- Path painting operator ---------------------------------------------*/
|
|
*/* S */
|
|
declare HPDF_STATUS HPDF_Page_Stroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* s */
|
|
declare HPDF_STATUS HPDF_Page_ClosePathStroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* f */
|
|
declare HPDF_STATUS HPDF_Page_Fill in (this.pdfLibrary) HPDF_Page page
|
|
*/* f* */
|
|
declare HPDF_STATUS HPDF_Page_Eofill in (this.pdfLibrary) HPDF_Page page
|
|
*/* B */
|
|
declare HPDF_STATUS HPDF_Page_FillStroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* B* */
|
|
declare HPDF_STATUS HPDF_Page_EofillStroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* b */
|
|
declare HPDF_STATUS HPDF_Page_ClosePathFillStroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* b* */
|
|
declare HPDF_STATUS HPDF_Page_ClosePathEofillStroke in (this.pdfLibrary) HPDF_Page page
|
|
*/* n */
|
|
declare HPDF_STATUS HPDF_Page_EndPath in (this.pdfLibrary) HPDF_Page page
|
|
*/*--- Text object operator -----------------------------------------------*/
|
|
*/* BT */
|
|
declare HPDF_STATUS HPDF_Page_BeginText in (this.pdfLibrary) HPDF_Page page
|
|
*/* ET */
|
|
declare HPDF_STATUS HPDF_Page_EndText in (this.pdfLibrary) HPDF_Page page
|
|
*/* W */
|
|
declare HPDF_STATUS HPDF_Page_Clip in (this.pdfLibrary) HPDF_Page page
|
|
*/* W* */
|
|
declare HPDF_STATUS HPDF_Page_Eoclip in (this.pdfLibrary) HPDF_Page page
|
|
|
|
*/*--- Text state ---------------------------------------------------------*/
|
|
*/* Tf */
|
|
declare HPDF_STATUS HPDF_Page_SetFontAndSize in (this.pdfLibrary) HPDF_Page page;
|
|
,HPDF_Font font;
|
|
,HPDF_REAL size
|
|
*/* Tr */
|
|
declare HPDF_STATUS HPDF_Page_SetTextRenderingMode in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_TextRenderingMode mode
|
|
*/*--- Text positioning ---------------------------------------------------*/
|
|
*/* Td */
|
|
declare HPDF_STATUS HPDF_Page_MoveTextPos in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x ;
|
|
,HPDF_REAL y
|
|
*/* TD */
|
|
declare HPDF_STATUS HPDF_Page_MoveTextPos2 in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x ;
|
|
,HPDF_REAL y
|
|
|
|
*/* TM */
|
|
declare HPDF_STATUS HPDF_Page_SetTextMatrix in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL a,HPDF_REAL b,HPDF_REAL c,HPDF_REAL d,HPDF_REAL x,HPDF_REAL y
|
|
|
|
*/* T* */
|
|
declare HPDF_STATUS HPDF_Page_MoveToNextLine in (this.pdfLibrary) HPDF_Page page
|
|
*/*--- Text showing -------------------------------------------------------*/
|
|
*/* Tj */
|
|
declare HPDF_STATUS HPDF_Page_ShowText in (this.pdfLibrary) HPDF_Page page,string text
|
|
*/* ' */
|
|
declare HPDF_STATUS HPDF_Page_ShowTextNextLine in (this.pdfLibrary) HPDF_Page page,string text
|
|
*/* g */
|
|
declare HPDF_STATUS HPDF_Page_SetGrayFill in (this.pdfLibrary) HPDF_Page page,HPDF_REAL gray
|
|
*/* G */
|
|
declare HPDF_STATUS HPDF_Page_SetGrayStroke in (this.pdfLibrary) HPDF_Page page,HPDF_REAL gray
|
|
*/* rg */
|
|
declare HPDF_STATUS HPDF_Page_SetRGBFill in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL r ;
|
|
,HPDF_REAL g ;
|
|
,HPDF_REAL b
|
|
*/* RG */
|
|
declare HPDF_STATUS HPDF_Page_SetRGBStroke in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL r ;
|
|
,HPDF_REAL g ;
|
|
,HPDF_REAL b
|
|
*/* k */
|
|
declare HPDF_STATUS HPDF_Page_SetCMYKFill in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL c ;
|
|
,HPDF_REAL m ;
|
|
,HPDF_REAL y ;
|
|
,HPDF_REAL k
|
|
*/* K */
|
|
declare HPDF_STATUS HPDF_Page_SetCMYKStroke in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL c ;
|
|
,HPDF_REAL m ;
|
|
,HPDF_REAL y ;
|
|
,HPDF_REAL k
|
|
declare HPDF_STATUS HPDF_Page_Circle in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x ;
|
|
,HPDF_REAL y ;
|
|
,HPDF_REAL ray
|
|
|
|
declare HPDF_STATUS HPDF_Page_Ellipse in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x ;
|
|
,HPDF_REAL y ;
|
|
,HPDF_REAL xray ;
|
|
,HPDF_REAL yray
|
|
|
|
declare HPDF_STATUS HPDF_Page_Arc in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL x ;
|
|
,HPDF_REAL y ;
|
|
,HPDF_REAL ray ;
|
|
,HPDF_REAL ang1 ;
|
|
,HPDF_REAL ang2
|
|
declare HPDF_STATUS HPDF_Page_DrawImage in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_Image image;
|
|
,HPDF_REAL x;
|
|
,HPDF_REAL y;
|
|
,HPDF_REAL width;
|
|
,HPDF_REAL height
|
|
|
|
declare HPDF_STATUS HPDF_Page_TextRect in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL left ;
|
|
,HPDF_REAL top ;
|
|
,HPDF_REAL right ;
|
|
,HPDF_REAL bottom ;
|
|
,string text ;
|
|
,HPDF_TextAlignment align ;
|
|
,integer len
|
|
|
|
declare HPDF_STATUS HPDF_Page_TextOut in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_REAL xpos ;
|
|
,HPDF_REAL ypos ;
|
|
,string text
|
|
|
|
*/*--- XObjects -----------------------------------------------------------*//*
|
|
declare HPDF_STATUS HPDF_Page_ExecuteXObject in (this.pdfLibrary) HPDF_Page page ;
|
|
,HPDF_XObject obj
|
|
|
|
endproc
|
|
|
|
procedure InitializeErrCodes
|
|
|
|
with this.errors
|
|
.Add([Internal error. The consistency of the data was lost.], "4097")
|
|
.Add([Internal error. The consistency of the data was lost.], "4098")
|
|
.Add([Internal error. The consistency of the data was lost.], "4099")
|
|
.Add([The length of the data exceeds HPDF_LIMIT_MAX_STRING_LEN.], "4100")
|
|
.Add([Cannot get a pallet data from PNG image.], "4101")
|
|
.Add([], "4102")
|
|
.Add([The count of elements of a dictionary exceeds HPDF_LIMIT_MAX_DICT_ELEMENT], "4103")
|
|
.Add([Internal error. The consistency of the data was lost.], "4104")
|
|
.Add([Internal error. The consistency of the data was lost.], "4105")
|
|
.Add([Internal error. The consistency of the data was lost.], "4106")
|
|
.Add([HPDF_SetPermission() OR HPDF_SetEncryptMode() was called before a password is set.], "4107")
|
|
.Add([Internal error. The consistency of the data was lost.], "4108")
|
|
.Add([], "4109")
|
|
.Add([Tried to register a font that has been registered.], "4110")
|
|
.Add([Cannot register a character to the japanese word wrap characters list.], "4111")
|
|
.Add([], "4112")
|
|
.Add([Tried to set the owner password to NULL.The owner password and user password is the same.], "4113")
|
|
.Add([Internal error. The consistency of the data was lost.], "4115")
|
|
.Add([The depth of the stack exceeded HPDF_LIMIT_MAX_GSTATE.], "4116")
|
|
.Add([Memory allocation failed.], "4117")
|
|
.Add([File processing failed. (A detailed code is set.)], "4118")
|
|
.Add([Cannot open a file. (A detailed code is set.)], "4119")
|
|
.Add([], "4120")
|
|
.Add([Tried to load a font that has been registered.], "4121")
|
|
.Add([The format of a font-file is invalid .Internal error. The consistency of the data was lost.], "4122")
|
|
.Add([Cannot recognize a header of an afm file.], "4123")
|
|
.Add([The specified annotation handle is invalid.], "4124")
|
|
.Add([], "4125")
|
|
.Add([Bit-per-component of a image which was set as mask-image is invalid.], "4126")
|
|
.Add([Cannot recognize char-matrics-data of an afm file.], "4127")
|
|
.Add([1. The color_space parameter of HPDF_LoadRawImage is invalid.] + CR + [2. Color-space of a image which was set as mask-image is invalid.] + CR + [3. The function which is invalid in the present ], "4128")
|
|
.Add([Invalid value was set when invoking HPDF_SetCommpressionMode().], "4129")
|
|
.Add([An invalid date-time value was set.], "4130")
|
|
.Add([An invalid destination handle was set.], "4131")
|
|
.Add([], "4132")
|
|
.Add([An invalid document handle is set.], "4133")
|
|
.Add([The function which is invalid in the present state was invoked.], "4134")
|
|
.Add([An invalid encoder handle is set.], "4135")
|
|
.Add([A combination between font and encoder is wrong.], "4136")
|
|
.Add([], "4137")
|
|
.Add([], "4138")
|
|
.Add([An Invalid encoding name is specified.], "4139")
|
|
.Add([The lengh of the key of encryption is invalid.], "4140")
|
|
.Add([1. An invalid font handle was set.] + CR + [2. Unsupported font format. ], "4141")
|
|
.Add([Internal error. The consistency of the data was lost.], "4142")
|
|
.Add([A font which has the specified name is not found.], "4143")
|
|
.Add([Unsupported image format.], "4144")
|
|
.Add([Unsupported image format.], "4145")
|
|
.Add([Cannot read a postscript-name from an afm file.], "4146")
|
|
.Add([1. An invalid object is set.] + CR + [2. Internal error. The consistency of the data was lost. ], "4147")
|
|
.Add([Internal error. The consistency of the data was lost.], "4148")
|
|
.Add([1. Invoked HPDF_Image_SetColorMask() against the image-object which was set a mask-image.], "4149")
|
|
.Add([An invalid outline-handle was specified.], "4150")
|
|
.Add([An invalid page-handle was specified.], "4151")
|
|
.Add([An invalid pages-handle was specified. (internel error)], "4152")
|
|
.Add([An invalid value is set.], "4153")
|
|
.Add([], "4154")
|
|
.Add([Invalid PNG image format.], "4155")
|
|
.Add([Internal error. The consistency of the data was lost.], "4156")
|
|
.Add([Internal error. The "_FILE_NAME" entry for delayed loading is missing.], "4157")
|
|
.Add([], "4158")
|
|
.Add([Invalid .TTC file format.], "4159")
|
|
.Add([The index parameter was exceed the number of included fonts], "4160")
|
|
.Add([Cannot read a width-data from an afm file.], "4161")
|
|
.Add([Internal error. The consistency of the data was lost.], "4162")
|
|
.Add([An error has returned from PNGLIB while loading an image.], "4163")
|
|
.Add([Internal error. The consistency of the data was lost.], "4164")
|
|
.Add([Internal error. The consistency of the data was lost.], "4165")
|
|
.Add([], "4166")
|
|
.Add([], "4167")
|
|
.Add([], "4168")
|
|
.Add([Internal error. The consistency of the data was lost.], "4169")
|
|
.Add([Internal error. The consistency of the data was lost.], "4170")
|
|
.Add([Internal error. The consistency of the data was lost.], "4171")
|
|
.Add([There are no graphics-states to be restored.], "4172")
|
|
.Add([Internal error. The consistency of the data was lost.], "4173")
|
|
.Add([The current font is not set.], "4174")
|
|
.Add([An invalid font-handle was spacified.], "4175")
|
|
.Add([An invalid font-size was set.], "4176")
|
|
.Add([Invalid graphic mode.], "4177")
|
|
.Add([Internal error. The consistency of the data was lost.], "4178")
|
|
.Add([The specified value is not a multiple of 90.], "4179")
|
|
.Add([An invalid page-size was set.], "4180")
|
|
.Add([An invalid image-handle was set.], "4181")
|
|
.Add([The specified value is out of range.], "4182")
|
|
.Add([The specified value is out of range.], "4183")
|
|
.Add([Unexpected EOF marker was detected.], "4184")
|
|
.Add([Internal error. The consistency of the data was lost.], "4185")
|
|
.Add([], "4186")
|
|
.Add([The length of the specified text is too long.], "4187")
|
|
.Add([The execution of a function was skipped because of other errors.], "4188")
|
|
.Add([This font cannot be embedded. (restricted by license)], "4189")
|
|
.Add([Unsupported ttf format. (cannot find unicode cmap.)], "4190")
|
|
.Add([Unsupported ttf format.], "4191")
|
|
.Add([Unsupported ttf format. (cannot find a necessary table)], "4192")
|
|
.Add([Internal error. The consistency of the data was lost.], "4193")
|
|
.Add([1. The library is not configured to use PNGLIB. 2. Internal error. The consistency of the data was lost.], "4194")
|
|
.Add([Unsupported Jpeg format.], "4195")
|
|
.Add([Failed to parse .PFB file.], "4196")
|
|
.Add([Internal error. The consistency of the data was lost.], "4197")
|
|
.Add([An error has occurred while executing a function of Zlib.], "4198")
|
|
.Add([An error returned from Zlib.], "4199")
|
|
.Add([An invalid URI was set.], "4200")
|
|
.Add([An invalid page-layout was set.], "4201")
|
|
.Add([An invalid page-mode was set.], "4208")
|
|
.Add([An invalid page-num-style was set.], "4209")
|
|
.Add([An invalid icon was set.], "4210")
|
|
.Add([An invalid border-style was set.], "4211")
|
|
.Add([An invalid page-direction was set.], "4212")
|
|
.Add([An invalid font-handle was specified.], "4213")
|
|
endwith
|
|
endproc
|
|
|
|
enddefine
|
|
|
|
|