Fred wrote:Nice, I like this library !
The latest release.. 4.11 was released today.
I've been communicating with Doug over there, I purchased this a while
back to create a pdf app for work, using PB.
He created this and it is now included with all future releases.
Here is only a sample.. as the forums will not take the whole .pbi
Code: Select all
;======================================================================================
;iSEDQuickPDF 4.11
;PureBasic header file
;26 February 2004
;http://www.sedtech.com/isedquickpdf
;======================================================================================
#ISQP=1
Structure iSQPDouble
Hi.l
Lo.l
EndStructure
Procedure MakeiSQPDouble(LONG.f, ADDRESS.l)
!FLD dword [ Esp ]
!MOV dword Eax, [ Esp + 4 ]
!FSTP qword [ Eax ]
EndProcedure
Procedure.f CatchDoubleReturn(*x.iSQPDouble)
!MOV dword EAX,[ESP]
!FST qword [EAX]
!MOV dword EAX,[ESP]
!FLD qword [EAX]
EndProcedure
Procedure iSEDInit(Path.s)
OpenLibrary(#ISQP, Path + "iSEDQuickPDF.dll");
EndProcedure
Procedure.l iSEDAddLinkToJavaScript(Left.f, Top.f, Width.f, Height.f, JavaScript.s, Options.l)
dLeft.iSQPDouble
dTop.iSQPDouble
dWidth.iSQPDouble
dHeight.iSQPDouble
MakeiSQPDouble(Left.f, @dLeft)
MakeiSQPDouble(Top.f, @dTop)
MakeiSQPDouble(Width.f, @dWidth)
MakeiSQPDouble(Height.f, @dHeight)
ProcedureReturn CallFunction(#ISQP, "iSEDAddLinkToJavaScript", dLeft\Hi, dLeft\Lo, dTop\Hi, dTop\Lo, dWidth\Hi, dWidth\Lo, dHeight\Hi, dHeight\Lo, JavaScript, Options)
EndProcedure
Procedure.l iSEDAddLinkToPage(Left.f, Top.f, Width.f, Height.f, Page.l, Position.f, Options.l)
dLeft.iSQPDouble
dTop.iSQPDouble
dWidth.iSQPDouble
dHeight.iSQPDouble
dPosition.iSQPDouble
MakeiSQPDouble(Left.f, @dLeft)
MakeiSQPDouble(Top.f, @dTop)
MakeiSQPDouble(Width.f, @dWidth)
MakeiSQPDouble(Height.f, @dHeight)
MakeiSQPDouble(Position.f, @dPosition)
ProcedureReturn CallFunction(#ISQP, "iSEDAddLinkToPage", dLeft\Hi, dLeft\Lo, dTop\Hi, dTop\Lo, dWidth\Hi, dWidth\Lo, dHeight\Hi, dHeight\Lo, Page, dPosition\Hi, dPosition\Lo, Options)
EndProcedure
Procedure.l iSEDAddLinkToWeb(Left.f, Top.f, Width.f, Height.f, Link.s, Options.l)
dLeft.iSQPDouble
dTop.iSQPDouble
dWidth.iSQPDouble
dHeight.iSQPDouble
MakeiSQPDouble(Left.f, @dLeft)
MakeiSQPDouble(Top.f, @dTop)
MakeiSQPDouble(Width.f, @dWidth)
MakeiSQPDouble(Height.f, @dHeight)
ProcedureReturn CallFunction(#ISQP, "iSEDAddLinkToWeb", dLeft\Hi, dLeft\Lo, dTop\Hi, dTop\Lo, dWidth\Hi, dWidth\Lo, dHeight\Hi, dHeight\Lo, Link, Options)
EndProcedure
; Too many paramters for AddNoteAnnotation
Procedure.s iSEDGetCatalogInformation(Key.s)
r.l = CallFunction(#ISQP, "iSEDGetCatalogInformation", Key)
s.l = CallFunction(#ISQP, "iSEDStringResultLength")
ProcedureReturn PeekS(r, s)
EndProcedure
Procedure.l iSEDSetCatalogInformation(Key.s, NewValue.s)
ProcedureReturn CallFunction(#ISQP, "iSEDSetCatalogInformation", Key, NewValue)
EndProcedure
Procedure.l iSEDGetDestPage(DestID.l)
ProcedureReturn CallFunction(#ISQP, "iSEDGetDestPage", DestID)
EndProcedure
Procedure.l iSEDGetDestType(DestID.l)
ProcedureReturn CallFunction(#ISQP, "iSEDGetDestType", DestID)
EndProcedure
Procedure.f iSEDGetDestValue(DestID.l, ValueKey.l)
CallFunction(#ISQP, "iSEDGetDestValue", DestID, ValueKey)
ProcedureReturn CatchDoubleReturn(dummy.iSQPDouble)
EndProcedure
Procedure.l iSEDCompressContent()
ProcedureReturn CallFunction(#ISQP, "iSEDCompressContent")
EndProcedure
Procedure.l iSEDCompressPage()
ProcedureReturn CallFunction(#ISQP, "iSEDCompressPage")
EndProcedure
Procedure.l iSEDDocumentCount()
ProcedureReturn CallFunction(#ISQP, "iSEDDocumentCount")
EndProcedure
Procedure.l iSEDDocumentID(Index.l)
ProcedureReturn CallFunction(#ISQP, "iSEDDocumentID", Index)
EndProcedure
This library kicks as$ .. trust me. And their support is outrageous.
Once you are a paying user, you have your OWN forum, where you
deal ONE-ON-ONE with a tech.. it couldn't be any better..
- np
ps - this file is now included in the 4.11 release.. the import file has 1450
lines of code in it...
