Jump to content

Debenu Quick PDF Library - UDF


mLipok
 Share

Recommended Posts

Maybe I was wrong.  This works for me :)

; #FUNCTION# ====================================================================================================================
; Name ..........: _QPDF_DrawTextBox
; Description ...: Draws text in a box on the selected page, using the selected font at the predetermined font size.
; Syntax ........: _QPDF_DrawText_Lite(Byref $oQP, $iXPos, $iYPos, $sText)
; Parameters ....: $oQP                 - [in/out] Reference to a QuickPDF object.
;                  $iXPos               - An integer value.
;                  $iYPos               - An integer value.
;                  $sText               - A string value.
; Return values .: None
; Author ........: mLipok
; Modified ......: Skysnake :)
; Remarks .......:
; Related .......:
; Link ..........: http://www.debenu.com/docs/pdf_library_reference/DrawText.php
; Example .......: No
; ===============================================================================================================================
Func _QPDF_DrawTextBox(ByRef $oQP, $iXPos, $iYPos, $iWide, $iHigh, $sText, $iOptions)
    If _QPDF_CreateObjectAndUnlock($oQP) = 1 Or _QPDF_CreateObjectAndUnlock($oQP) = 2 Then
        $oQP.NormalizePage(0)
        $oQP.DrawTextBox($iXPos, $iYPos, $sText)
    Else
        Return SetError($__eQPDF_ERROR_DEBENULICENCE, 0, 0)
    EndIf
EndFunc   ;==>_QPDF_DrawTextBox

 

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

ActiveX and DLL may be used in AutoIt

In this UDF I'am using ActiveX

 

Besides look in:

c:\Program Files (x86)\Debenu\PDF Library\Lite\Samples\

There are samples in VBS. In this case I think I can say "VBS is AutoIt-like scripting language" ;)

So you should not get any problem to understand this examples.

 

btw. look here

http://www.quickpdf.org/forum/create-pdf-from-a-text-file_topic2968.html

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

So you want to use Lite or commercial version of this ActiveX component ?

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

At the moment Lite is all I have.  If it satisfies my needs I will stay with Lite. I will see what I can add.  Is the DrawTextBox function above acceptable? It works for me... :)

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

At the moment Lite is all I have.  If it satisfies my needs I will stay with Lite. I will see what I can add.  Is the DrawTextBox function above acceptable? It works for me... :)

​You can download Commercial version and evaluate by 30 days.

And if you wan to buy it then I can give you a tip: wait for sale (last one was in the end of may 30% )

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

How do I set a page number?

​I do not understand . What you want to achieve ?
Do you want normaly add a small remark on each page ?
Something like "Page 1 of 100"

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Exactly! if possible yes.

that looks like a pageNumber and a pageCount - I do not know how to do that? Only option I have at the moment is to determine page numbering in my script and then insert a $varPageNum on the page...

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

Exactly! if possible yes.

that looks like a pageNumber and a pageCount - I do not know how to do that? Only option I have at the moment is to determine page numbering in my script and then insert a $varPageNum on the page...

​.. because this is the only one option.

But this is intresting to do such a function as it will be very useful , so I will make it and add to my UDF.

Thanks for FReq.

mLipok

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

QuickPDF_PageNumbering.au3

#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7
#Tidy_Parameters=/sort_funcs /reel
;~ #AutoIt3Wrapper_Run_Debug_Mode=Y

#Region Include
#Tidy_Parameters=/reel
#include-once
#include "QuickPDF.au3"
#EndRegion Include

; SET YOUR LICENSE KEY in your main script using _QPDF_SetLicenseKey()
; If you not set $__sLicenseKey_QPDF then DebenuPDFLibraryLite1114.dll will be used (Lite version).
_QPDF_SetLicenseKey('ENTER YOUR KEY HERE')

; I (mLipok) use MyLicenseKey.txt file to prevent accidentally placed my license key in a public forum.
If FileExists(@ScriptDir & '\MyLicencsKey.txt') Then _QPDF_SetLicenseKey(FileRead(@ScriptDir & '\MyLicenseKey.txt'))

_QPDF_Example_Make10Page_PDF_With_EnumeratedPage()

Func _QPDF_Example_Make10Page_PDF_With_EnumeratedPage()
    Local $sFileName = @ScriptDir & "\Example_10page.pdf"
    Local $oQP
    If _QPDF_CreateObjectAndUnlock($oQP) = 1 Then

        $oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
        $oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)

        For $i = 1 To 9
            $oQP.NewPage()
        Next

        _QPDF_PageEnumerator($oQP, 'Page %d of %d')

        ; Save PDF to file
        $oQP.SaveToFile($sFileName)
        While _WinAPI_FileInUse($sFileName)
            Sleep(10)
        WEnd

        ; Open PDF
        ShellExecuteWait($sFileName)
    EndIf
    $oQP = 0 ; CleanUp - destroy object
EndFunc   ;==>_QPDF_Example_Make10Page_PDF_With_EnumeratedPage

Func _QPDF_PageEnumerator(ByRef $oQP, $sFormat = 'Page %d / %d')
    Local $iX = 0
    Local $iY = $__eQPDF_A4_HeightInMM - 30

    Local $iCounter = $oQP.PageCount()
    Local $sText = ''
    Local $iTextWidth = 0

    For $iPage = 1 To $iCounter
        $oQP.SelectPage($iPage)
        $oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
        $oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)
        $sText = StringFormat($sFormat, $iPage, $iCounter)
        $iTextWidth = $oQP.GetTextWidth($sText)
        $iX = $__eQPDF_A4_WidthInMM - $iTextWidth - 10
        $oQP.SetTextSize(5)
        $oQP.DrawText($iX, $iY, $sText)
    Next
EndFunc   ;==>_QPDF_PageEnumerator

 

Edited by mLipok
typo

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Example for DrawHTMLTextMatrix

(Debenu Quick PDF Library - Commercial or evaluation license needed)

#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7
#Tidy_Parameters=/sort_funcs /reel
;~ #AutoIt3Wrapper_Run_Debug_Mode=Y

#Region Include
#include-once
#include "QuickPDF.au3"
#EndRegion Include

; SET YOUR LICENSE KEY in your main script using _QPDF_SetLicenseKey()
; If you not set $__sLicenseKey_QPDF then DebenuPDFLibraryLite1114.dll will be used (Lite version).
_QPDF_SetLicenseKey('ENTER YOUR KEY HERE')

; I (mLipok) use MyLicenseKey.txt file to prevent accidentally placed my license key in a public forum.
If FileExists(@ScriptDir & '\MyLicenseKey.txt') Then _QPDF_SetLicenseKey(FileRead(@ScriptDir & '\MyLicenseKey.txt'))

_QPDF_Example_DrawHTMLTextMatrix('ABCDE')

Func _Matrix_Create()
    Local $aMatrixTable[6] = [1, 0, 0, 1, 0, 0]
    Return $aMatrixTable
EndFunc   ;==>_Matrix_Create

Func _Matrix_Move(ByRef $aMatrixTable, $iTx, $iTy)
    $aMatrixTable[0] *= 1 ; do not change
    $aMatrixTable[1] *= 1 ; do not change
    $aMatrixTable[2] *= 1 ; do not change
    $aMatrixTable[3] *= 1 ; do not change
    $aMatrixTable[4] = $iTx
    $aMatrixTable[5] = $iTy
EndFunc   ;==>_Matrix_Move

Func _Matrix_Rotate(ByRef $aMatrixTable, $iAngle, $bAsDegree = True, $bAppendMode = False)
    Local Const $PI = 3.141592653589793
    Local $iRadian = 0

    ; conversion Degree to Radian
    If $bAsDegree Then
        ; 1° = pi / 180 radians.
        ; http://www.purplemath.com/modules/radians.htm
        $iRadian = ($iAngle * $PI) / 180
    Else
        $iRadian = $iAngle
    EndIf

    ; Matrix changing
    If $bAppendMode Then
        $aMatrixTable[0] *= Cos($iRadian)
        $aMatrixTable[1] *= Sin($iRadian)
        $aMatrixTable[2] *= -Sin($iRadian)
        $aMatrixTable[3] *= Cos($iRadian)
    Else
        $aMatrixTable[0] = Cos($iRadian)
        $aMatrixTable[1] = Sin($iRadian)
        $aMatrixTable[2] = -Sin($iRadian)
        $aMatrixTable[3] = Cos($iRadian)
    EndIf
    $aMatrixTable[4] *= 1 ; do not change
    $aMatrixTable[5] *= 1 ; do not change

EndFunc   ;==>_Matrix_Rotate

Func _Matrix_Skew(ByRef $aMatrixTable, $iAngleAlpha, $iAngleBetha, $bAsDegree = True, $bAppendMode = False)
    Local Const $PI = 3.141592653589793
    Local $iRadianAlpha = 0
    Local $iRadianBetha = 0

    ; conversion Degree to Radian
    If $bAsDegree Then
        ; 1° = pi / 180 radians.
        ; http://www.purplemath.com/modules/radians.htm
        $iRadianAlpha = ($iAngleAlpha * $PI) / 180
        $iRadianBetha = ($iAngleBetha * $PI) / 180
    Else
        $iRadianAlpha = $iAngleAlpha
        $iRadianBetha = $iAngleBetha
    EndIf

    ; Matrix changing
    $aMatrixTable[0] *= 1 ; do not change
    If $bAppendMode Then
        $aMatrixTable[1] *= Tan($iRadianAlpha)
        $aMatrixTable[2] *= Tan($iRadianBetha)
    Else
        $aMatrixTable[1] = Tan($iRadianAlpha)
        $aMatrixTable[2] = Tan($iRadianBetha)
    EndIf
    $aMatrixTable[3] *= 1 ; do not change
    $aMatrixTable[4] *= 1 ; do not change
    $aMatrixTable[5] *= 1 ; do not change

EndFunc   ;==>_Matrix_Skew

Func _Matrix_Zoom(ByRef $aMatrixTable, $iSx, $iSy)
    $aMatrixTable[0] = $iSx
    $aMatrixTable[1] *= 1 ; do not change
    $aMatrixTable[2] *= 1 ; do not change
    $aMatrixTable[3] = $iSy
    $aMatrixTable[4] *= 1 ; do not change
    $aMatrixTable[5] *= 1 ; do not change
EndFunc   ;==>_Matrix_Zoom

Func _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)
    $oQP.DrawHTMLTextMatrix(100, $sHTML_Text, _
            $aMatrixTable[0], _
            $aMatrixTable[1], _
            $aMatrixTable[2], _
            $aMatrixTable[3], _
            $aMatrixTable[4], _
            $aMatrixTable[5])
EndFunc   ;==>_QPDF_DrawHTMLTextMatrix

Func _QPDF_Example_DrawHTMLTextMatrix($sHTML_Text)
    Local $oQP
    If _QPDF_CreateObjectAndUnlock($oQP) = 1 Then
        Local $sFileName = @ScriptDir & "\Example_DrawHTMLTextMatrix.pdf"

        $oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
        $oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)
        $sHTML_Text = '<font size="20">' & $sHTML_Text & '</font>'
        Local $sHTML_Temp = $sHTML_Text

        ; normal drawn HTML text
        $sHTML_Text = '1. ' & $sHTML_Temp
        $oQP.DrawHTMLText(20, 20, 100, $sHTML_Text)

        Local $aMatrixTable = _Matrix_Create()
        ; HTML text drawn with
        ; moved matrix
        $sHTML_Text = '2. ' & $sHTML_Temp
        _Matrix_Move($aMatrixTable, 20, 100)
        _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)

        ; HTML text drawn with
        ; moved zoomed
        $sHTML_Text = '3. ' & $sHTML_Temp
        _Matrix_Move($aMatrixTable, 40, 200)
        _Matrix_Zoom($aMatrixTable, 1.5, 1.5)
        _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)

        ; HTML text drawn with
        ; moved zoomed
        ; Rotated 15°
        $sHTML_Text = '4. ' & $sHTML_Temp
        _Matrix_Move($aMatrixTable, 150, 300)
        _Matrix_Zoom($aMatrixTable, 2, 2)
        _Matrix_Rotate($aMatrixTable, 15)
        _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)

        ; HTML text drawn with
        ; moved zoomed
        ; Rotated 45°
        ; Skewing 15° for X-axis and -35° for Y-axis
        $sHTML_Text = '5. ' & $sHTML_Temp
        _Matrix_Move($aMatrixTable, 150, 400)
        _Matrix_Zoom($aMatrixTable, 2, 2)
        _Matrix_Rotate($aMatrixTable, 45)
        _Matrix_Skew($aMatrixTable, 15, -35, True, True)
        _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)

        ; HTML text drawn with
        ; moved zoomed
        ; Skewing 0° for X-axis and 45° for Y-axis
        _Matrix_Move($aMatrixTable, 150, 550)
        _Matrix_Zoom($aMatrixTable, 2, 2)
        _Matrix_Skew($aMatrixTable, 0, 45, True, True)
        $sHTML_Text = '6. ' & $sHTML_Temp
        _QPDF_DrawHTMLTextMatrix($oQP, $sHTML_Text, $aMatrixTable)

        ; Save PDF to file
        $oQP.SaveToFile($sFileName)
        While _WinAPI_FileInUse($sFileName)
            Sleep(10)
        WEnd

        ; Open PDF
        ShellExecuteWait($sFileName)

    EndIf
    $oQP = 0 ; CleanUp - destroy object
EndFunc   ;==>_QPDF_Example_DrawHTMLTextMatrix

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

I just submit new version:

 

Release note:

    2015/06/15
    v0.7

    QuickPDF.au3
    *    Added: many code descriptions
    *    Added: enums $__eQPDF_ERROR_* for error checking
    *    Added: error checking (each function should return @error @extended and ReturnValues )
    *    Added: New function __QPDF_ObjIsValid()
    *    Added: New function _QPDF_CreateObjectFromStream()
    *    Added: New function _QPDF_Display()
    *    Added: New function _QPDF_Display_PDFFile()
    *    Added: New function _QPDF_FolderExtractText()
    *    Added: New function _QPDF_GetInformation()
    *    Added: New function _QPDF_GetInformationEx_Lite()
    *    Added: New function _QPDF_GetPageMetricsToString()
    *    Added: New function _QPDF_MergeFiles_Lite()
    *    Added: New function _QPDF_Page_2in1()
    *    Added: New function _QPDF_Page_2in1_File()
    *    Added: New function _QPDF_PrintFromStream()
    *    Added: New function _QPDF_ReplaceFonts_in_File()
    *    Added: New function _QPDF_Rotate_Lite()
    *    Added: New function _QPDF_RotateFileLeft_Lite()
    *    Added: New function _QPDF_RotateFileRight_Lite()
    *    Added: New function _QPDF_SaveAndOpen()
    *    Added: New function _QPDF_StringInPDFFile()
    *    Added: New function _QPDF_StringInPDFStrem()
    *    Added: New function _QPDF_TextToHtml()
    *    Added: New function _QPDF_TXT_to_PDF()
    *    Added: New function _QPDF_TXT_to_PDF_Lite()
    *    Added: New function _QPDF_TXTFile_to_PDFFile()
    *    Added: New function _QPDF_UDF_ErrorDescription()
    *    Added: New function _QPDF_Html_Font_BackgroundColor()
    *    Added: New function _Matrix_Create()
    *    Added: New function _Matrix_Move()
    *    Added: New function _Matrix_Rotate()
    *    Added: New function _Matrix_Skew()
    *    Added: New function _Matrix_Zoom()
    *    Added: in _QPDF_A4toA5() Function added $oQP.NormalizePage(0)
    *    Added: in _QPDF_DrawText_Lite() Function added $oQP.NormalizePage(0)
    *    Added: _QPDF_ExtractTextFromFile() return values @Extended = $iTotalPages
    *    Added: in _QPDF_PrintPDFFile addded new parameter >>> $sPrinterName
    *    Added: __QPDF_NewLibraryPath_Commercial

    *    Changed: __QPDF_NewLibraryPath_Commercial() is now Internal Function
    *    Changed: __QPDF_UnlockKey() now have only one parameter
    *    Changed: _QPDF_CreateObject() rewriten to give complet Error Checking
    *    Changed: _QPDF_CreateObjectAndUnlock() rewriten to give complet Error Checking
    *    Changed: _QPDF_SetLicenseKey() rewriten to give complet Error Checking
    *    Changed: _QPDF_ExtractTextFromStream() use _QPDF_ExtractAllText()
    *    Renamed: $__fNotification_QPDF to $__bNotification_QPDF
    *    Removed: parameter $sLicenseKey from __QPDF_UnlockKey() function - is not needed as unlock is only for Commercial and License key is checked befor this function is called

    !!!!!!!!!!!!!!! SCRIPT BREAKING CHANGE !!!!!!!!!!!!!!!
    *    Removed: parameters $sPDF_Password from _QPDF_ExtractAllText() function
    *    Changed: $__eQPDF_ERROR_DebenuLicense >> $__eQPDF_ERROR_INVALIDLICENSEKEY
    *    Changed: _QPDF_ExtractTextFromFile(.. , $iExtractOptions --> default is 7 previously 8
    *    Changed: _QPDF_NewLibraryPath_Commercial($sDLL_FileFullPath) now have only ONE parameter
    *    Changed: _QPDF_RotateFile_Lite($sPDF_FileFullPath[, $iPageRotation = 0]) now have only ONE parameter

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Maybe I was wrong.  This works for me :)

; #FUNCTION# ====================================================================================================================
; Name ..........: _QPDF_DrawTextBox
; Description ...: Draws text in a box on the selected page, using the selected font at the predetermined font size.
; Syntax ........: _QPDF_DrawText_Lite(Byref $oQP, $iXPos, $iYPos, $sText)
; Parameters ....: $oQP                 - [in/out] Reference to a QuickPDF object.
;                  $iXPos               - An integer value.
;                  $iYPos               - An integer value.
;                  $sText               - A string value.
; Return values .: None
; Author ........: mLipok
; Modified ......: Skysnake :)
; Remarks .......:
; Related .......:
; Link ..........: http://www.debenu.com/docs/pdf_library_reference/DrawText.php
; Example .......: No
; ===============================================================================================================================
Func _QPDF_DrawTextBox(ByRef $oQP, $iXPos, $iYPos, $iWide, $iHigh, $sText, $iOptions)
    If _QPDF_CreateObjectAndUnlock($oQP) = 1 Or _QPDF_CreateObjectAndUnlock($oQP) = 2 Then
        $oQP.NormalizePage(0)
        $oQP.DrawTextBox($iXPos, $iYPos, $sText)
    Else
        Return SetError($__eQPDF_ERROR_DEBENULICENCE, 0, 0)
    EndIf
EndFunc   ;==>_QPDF_DrawTextBox

 

My attempt at DrawTextBox on 2 June was not included :>

Works well.  Thank you

There is no need to use

$oQP.NormalizePage(0)

each time you want to DrawTextBox.

Even more there is no need to use it when you create new Page with this library.

It is useful when you load an existing PDF generated by other PDF API.

 

There is no need to initialize/check object each time you want to draw text.

For this I plan to do some rebuild of concept.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Your welcome.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

  • 5 weeks later...

mLipok, I need to draw a line across the page. Like html <HR> tag :)

I have a report, and need to place a line after the heading, and at the end.  I only use the Lite version.  I can write out "_" across the page.  Or, DrawTextBox with a frame?

Any other ideas? A simpler option?

Edited by Skysnake
more

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

  • 3 weeks later...

mLipok, I need to draw a line across the page. Like html <HR> tag :)

I have a report, and need to place a line after the heading, and at the end.  I only use the Lite version.  I can write out "_" across the page.  Or, DrawTextBox with a frame?

Any other ideas? A simpler option?

Sorry for my late answer.

Only with DrawLine - but this is in commercial version not in Lite.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...