Jump to content

Debenu Quick PDF Library - UDF


mLipok
 Share

Recommended Posts

??
Which function ?

btw. which DLL version you are using ?

 

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

@mLipok I have a very big project running.  

am using DebenuPDFLibraryLite1114 DLL and your UDF. I use only the 32 bit, even in 64 bit environment.

I read a ListView, convert content to Array and then send that to the PDF object, counting lines as I go, so that I know how many pages I have and what is the last page.

I had the QuickPDF 0.7 and it worked perfectly.  Now, I have simply replaced 0.7 with 0.8.  The good news is that it works as expected.  The bad news is, it seems to be slower.  If you want I can install a timer and check both versions?  Is there a way to check for QuickPDF version internally?

What additional info can I provide?

Edited by Skysnake

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

Please PM me function snippet. This one which generates PDF from Listview.

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

1 hour ago, Skysnake said:

Is there a way to check for QuickPDF version internally?

What you mean ? DLL Version ? there is property $oQP.LibraryVersion

 

 

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

14 hours ago, mLipok said:

property $oQP.LibraryVersion

How should I use this?  I can not get it to produce a result?

I tried $oQP

$oQP.LibraryVersion
$oQP.LibraryVersion()
Local $PDfVer = $oQP.LibraryVersion()

 

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

hm... As I remember I request to Debenu for the same feature in Lite version.
But I think they do not make it for now.
I hope that with new version they also update Lite version (recently they update only commercial).
 

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 do not think so. They have some other plans as I know.
 

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

  • 1 month later...

Just to confirm.  After struggling it turns out my problems were hardware related.  After replacing faulty RAM chips my usual PC is up and running.

Problem was local and hardware NOT the Quick PDF UDF.

The Quick PDF 0.8 is now the only version I use and it generates pages quickly and efficiently.  I normally wait longer for Windows to render the page in Reader than it takes to create.

Everything is working wonderfully now.

Sorry for the inconvenience.

Thank you for your interest.

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

On 23.06.2016 at 9:58 AM, Skysnake said:

Perhaps new owners Foxit do not want to maintain an new Lite version...

 

On 23.06.2016 at 10:17 AM, mLipok said:

I do not think so. They have some other plans as I know.
 

And the changes comes to us ..... the price was changed :(
Fortunately, I have a kind of annual updates subscription, which gives me a still favorable price.

As I know so far Lite version will be updated in next few months, with no bigger changes in licence and features list (just some fixes, and new new internal engine).

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...

As an aside, I think I should add that on some Windows 8 machines, I had problems starting the final PDF.  This was resolved by finding the Shortname and then starting that.  I do not think this is a UDF issue, but knowing to start the Shortname may just solve issues for other users

... $sFilename ; as created by UDF
Local $sShortname = FileGetShortname( sFilename , 1 )

Run( @ComSpec & " /c start /max " & sShortname, "", @SW_HIDE ) ; force default PDF reader to open PDF maximized

 

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

try to use 

$oQP.SetPageLayout(2)
$oQP.SetPageMode(3)

 

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

  • 2 months later...

Dear mLipok

Many Thanks,

Just to share an example based on your _QPDF_Example_Lite_1_HelloWorld,
In this version i'm trying to stamp some pdf documents using AddImageFromFile and DrawImage functions.

For this example we need a .png image with transparent background in the same folder

The image (a scan signature or stamp) can be arranged for example with Gimp: right click over the image > layers > transparency > Color to Alpha > right click over the color label > select blank > save the file as image.png > uncheck 'save the value of transparent pixels'.

#include "QuickPDF.au3"

Local $sFileName = @ScriptDir & "\Example_HelloWorld.pdf"
Local $sFileName2 = @ScriptDir & "\Example_HelloWorld_Stamped.pdf"
Local $oQP
_QPDF_UseErrorHandler()

_QPDF_NewLibraryPath_Lite("C:\Program Files (x86)\Debenu\PDF Library\Lite\DebenuPDFLibraryLite1114.dll")

_QPDF_LoadFromFile_Lite($oQP, $sFileName)
$oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
$oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)

$oQP.SetTextSize(10);
$oQP.DrawText(30, 180, "Hello world from AutoIt (Line 4)")

$oQP.SetTextSize(10)
$oQP.DrawTextBox(100, 190, 100, 300, "This text was drawn using the DrawTextBox function. Similar to the DrawText function except that the alignment can be specified and line wrapping occurs.", 1)

$oQP.SetTextColor(0.9, 0.2, 0.5)
$oQP.SetTextSize(30)
$oQP.DrawText(10, 200, "Big and Colorful.")

Local $InFileName = "image.png"
$oQP.AddImageFromFile($InFileName, 2)

Local $lWidth
Local $lHeight
;Get the width and height of the image
$lWidth = $oQP.ImageWidth()
$lHeight = $oQP.ImageHeight()

;Draw the image onto the page using the specified width/height
$oQP.DrawImage(100, 180, $lWidth/10, $lHeight/10)

If FileExists($sFileName2) Then FileDelete($sFileName2)
  If $oQP.SaveToFile($sFileName2) = 1 Then
      While _WinAPI_FileInUse($sFileName2)
          Sleep(10)
      WEnd
      ShellExecuteWait($sFileName2)
  Else
      MsgBox($MB_SYSTEMMODAL, "Error", "File " & $sFileName2 & " could not be saved.")
  EndIf

$oQP = 0 ; CleanUp - destroy object

 

In the example below Word documents are exported to pdf, and then a stamp image is applied to all the pdf files in the folder:

#include <MsgBoxConstants.au3>
#include <Word.au3>
#include "QuickPDF.au3"

Local $sFolder = "C:\Users\robertocm\Desktop\TEST\"
Local $InFileName = "E:\templates\images\stamp.png"

Local $oQP
_QPDF_UseErrorHandler()
_QPDF_NewLibraryPath_Lite("C:\Program Files (x86)\Debenu\PDF Library\Lite\DebenuPDFLibraryLite1114.dll")

; *****************************************************************************
; Export Word documents to pdfs

; Assign a Local variable the search handle of all files in the directory.
Local $hSearch = FileFindFirstFile($sFolder & "*.doc")

; Check if the search was successful, if not display a message and exit
If $hSearch = -1 Then
  MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
  Exit
EndIf

; Assign a Local variable the empty string which will contain the files names found.
Local $sFileName = "", $iResult = 0

;Create application object
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocOpen Example", _
        "Error creating a new Word application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

Local $sDocument, $oDoc, $OutFile, $sFileNamePDF
While 1
  $sFileName = FileFindNextFile($hSearch)
  ; If there is no more file matching the search.
  If @error Then ExitLoop

  ;Display the file name.
  ;$iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "", "File: " & $sFileName)
  ;If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.

  ;Open the document
  $sDocument = $sFolder & $sFileName
  $oDoc = _Word_DocOpen($oWord, $sDocument, Default, Default, True)
  If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocPrint Example", _
       "Error opening " & $sDocument & @CRLF & "@error = " & @error & ", @extended = " & @extended)

  ;Export the complete document with default values
  $OutFile = StringSplit($sFileName, ".")
  $sFileNamePDF = $sFolder & $OutFile[1] & ".pdf"
  _Word_DocExport($oDoc, $sFileNamePDF)
  If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocExport Example", _
       "Error exporting the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
  ;ShellExecute($sFileNamePDF)

   ; Close a Word document
   _Word_DocClose($oDoc)
   If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocClose Example", _
           "Error closing document '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
WEnd

; Close the search handle.
FileClose($hSearch)

; If Word was running when this script is started only the reference to the
; object will be removed.
; If Word was started by this example all documents and Word will be closed.
Local $bWordClose = @extended
Local $iResult2
If $bWordClose Then
    $iResult2 = MsgBox(BitOR($MB_OKCANCEL, $MB_SYSTEMMODAL), "Word UDF: _Word_Quit Example", _
            "If you click OK ALL unsaved changes in ALL open documents of this Word instance will be lost and the instance will be closed.")
Else
    #cs
    $iResult2 = MsgBox(BitOR($MB_OKCANCEL, $MB_SYSTEMMODAL), "Word UDF: _Word_Quit Example", _
            "Word was already running when function _Word_Create was called. Hence only the reference to the object will be removed.")
    #ce
EndIf
If $iResult2 = 2 Then Exit
_Word_Quit($oWord)
If @error Then MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_Quit Example", _
        "Error closing the Word application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)


; *****************************************************************************
; Stamp the PDF files

; Assign a Local variable the search handle of all files in the directory.
$hSearch = FileFindFirstFile($sFolder & "*.pdf")

; Check if the search was successful, if not display a message and exit
If $hSearch = -1 Then
  MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
  Exit
EndIf

$sFileName = ""
$iResult = 0
Local $lWidth, $lHeight

While 1
  $sFileName = FileFindNextFile($hSearch)
  ; If there is no more file matching the search.
  If @error Then ExitLoop

  ;Display the file name.
  ;$iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "", "File: " & $sFileName)
  ;If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.

  $sDocument = $sFolder & $sFileName
  _QPDF_LoadFromFile_Lite($oQP, $sDocument)
  $oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
  $oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)

  $oQP.AddImageFromFile($InFileName, 2)

  ;Get the width and height of the image
  $lWidth = $oQP.ImageWidth()
  $lHeight = $oQP.ImageHeight()

  ;Draw the image onto the page using the specified width/height
  $oQP.DrawImage(100, 235, $lWidth/11.8, $lHeight/11.8)

  If FileExists($sDocument) Then FileDelete($sDocument)
  If $oQP.SaveToFile($sDocument) = 1 Then
      #cs
      While _WinAPI_FileInUse($sDocument)
          Sleep(10)
      WEnd
      ShellExecuteWait($sFileName)
      #ce
  Else
      MsgBox($MB_SYSTEMMODAL, "Error", "File " & $sFileName & " could not be saved.")
   EndIf
WEnd

; Close the search handle.
FileClose($hSearch)

$oQP = 0 ; CleanUp - destroy object

 

Another useful example would be to apply a Watermark to all pages of the selected pdf file.

Edited by robertocm
Link to comment
Share on other sites

@robertocm thank you, for your examples.


If you are thinking to make watermark effect with Debenu Quick PDF Library you will need to use Commercial version of this component.
In QPDF object there is a function SetImageMask() and SetImageMaskCMYK() and SetPNGTransparencyColor() or just SetTransparency()

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

10 hours ago, mLipok said:

@robertocm thank you, for your examples.


If you are thinking to make watermark effect with Debenu Quick PDF Library you will need to use Commercial version of this component.
In QPDF object there is a function SetImageMask() and SetImageMaskCMYK() and SetPNGTransparencyColor() or just SetTransparency()

Thanks!

Link to comment
Share on other sites

  • 2 months later...

Hi,

I tried that example posted by robertocm some posts above.

#include "I:\QuickPDF.au3"

Local $sFileName = "I:\Test.pdf"
Local $sFileName2 = "I:\Test.pdf_stamped"
Local $oQP
_QPDF_UseErrorHandler()

_QPDF_NewLibraryPath_Lite("I:\DebenuPDFLibraryLite1114.dll")

$iSuccess = _QPDF_LoadFromFile_Lite($oQP, $sFileName)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $iSuccess = ' & $iSuccess & @CRLF & '>Error code: ' & @error & @CRLF & '>Extended: ' & @extended & @CRLF) ;### Debug Console
$oQP.SetOrigin($__eQPDF_SORIGIN_TopLeft);
$oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)

$oQP.SetTextSize(10);
$oQP.DrawText(30, 180, "Hello world from AutoIt (Line 4)")

$oQP.SetTextSize(10)
$oQP.DrawTextBox(100, 190, 100, 300, "This text was drawn using the DrawTextBox function. Similar to the DrawText function except that the alignment can be specified and line wrapping occurs.", 1)

$oQP.SetTextColor(0.9, 0.2, 0.5)
$oQP.SetTextSize(30)
$oQP.DrawText(10, 200, "Big and Colorful.")

Local $InFileName = "image.png"
$oQP.AddImageFromFile($InFileName, 2)

Local $lWidth
Local $lHeight
;Get the width and height of the image
$lWidth = $oQP.ImageWidth()
$lHeight = $oQP.ImageHeight()

;Draw the image onto the page using the specified width/height
$oQP.DrawImage(100, 180, $lWidth/10, $lHeight/10)

If FileExists($sFileName2) Then FileDelete($sFileName2)
  If $oQP.SaveToFile($sFileName2) = 1 Then
      While _WinAPI_FileInUse($sFileName2)
          Sleep(10)
      WEnd
      ShellExecuteWait($sFileName2)
  Else
      MsgBox($MB_SYSTEMMODAL, "Error", "File " & $sFileName2 & " could not be saved.")
  EndIf

$oQP = 0 ; CleanUp - destroy object

DLL Open Error says "Can not open: I:\DebenuPDFLibraryLite1114".

Console says "@@ Debug(11) : $iSuccess = 0 >Error code: 9 >Extended: 0". As I think error code 9 means $QPDF_ERR_INVALIDLICENSEKEY. But I use the lite version.

What is the problem? Regards, Conrad

SciTE4AutoIt = 3.7.3.0   AutoIt = 3.3.14.2   AutoItX64 = 0   OS = Win_10   Build = 19044   OSArch = X64   Language = 0407/german
H:\...\AutoIt3\SciTE     H:\...\AutoIt3      H:\...\AutoIt3\Include     (H:\ = Network Drive)

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

Link to comment
Share on other sites

Could you check this :
_QPDF_RotateFile_Lite()

?

 

btw. I will submit new version in next few days.

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

Hi,

$iSuccess = -1
>Error code: 3
>Extended: 666

Don't wonder about extented: 666. I hard coded 666 into QuickPDF-UDF instead of @exitCode. Because otherwise I become:

"I:\QuickPDF.au3" (1928) : ==> Unknown macro.:
Return SetError(@error, @exitCode, $QPDF_RET_FAILURE)
Return SetError(@error, ^ ERROR

Will this give you more informations to help? Regards, Conrad

SciTE4AutoIt = 3.7.3.0   AutoIt = 3.3.14.2   AutoItX64 = 0   OS = Win_10   Build = 19044   OSArch = X64   Language = 0407/german
H:\...\AutoIt3\SciTE     H:\...\AutoIt3      H:\...\AutoIt3\Include     (H:\ = Network Drive)

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

Link to comment
Share on other sites

new version:

Quote

    2017/01/29
    v0.9
    *    Added: support for QPDFLibrary 13.11 - now is default - mLipok
    *    Changed: Function: __QPDF_UnlockKey - no longer shows MsgBox - user shuld check for @error  - mLipok
    *    Changed: magic number in ObjName($oQP, $OBJ_STRING)  - mLipok
    *    Refactored: Function: __QPDF_IsValidObject - mLipok
    *    Refactored: Function:  - mLipok
    *            _QPDF_AddLinkToWeb_Lite
    *            _QPDF_AddStandardFont_Lite
    *            _QPDF_DrawText_Lite
    *            _QPDF_GetInformation_Lite
    *            _QPDF_LoadFromFile_Lite
    *            _QPDF_NewPage_Lite
    *            _QPDF_PageCount_Lite
    *            _QPDF_RotatePage_Lite
    *            _QPDF_SaveToFile_Lite
    *            _QPDF_SelectPage_Lite
    *            _QPDF_SetBaseURL_Lite
    *            _QPDF_SetInformation_Lite
    *            _QPDF_SetMeasurementUnits_Lite
    *            _QPDF_SetPageBox_Lite
    *            _QPDF_SetPageDimensions_Lite
    *            _QPDF_SetPageLayout_Lite
    *            _QPDF_SetPageMode_Lite
    *            _QPDF_SetPageSize_Lite
    *            _QPDF_SetTextAlign_Lite
    *            _QPDF_SetTextColor_Lite
    *            _QPDF_SetTextSize_Lite
    *            _QPDF_SetTextUnderline_Lite
    *            _QPDF_GetInformation
    *            _QPDF_GetPageMetricsToString
    *                DESCRIPTION:  Refactored: validation for (ByRef $oQP ... using
    *                    If __QPDF_IsUnlocked($oQP) Then
    *                        instead
    *                    If _QPDF_CreateObjectAndUnlock($oQP) = 1 Or _QPDF_CreateObjectAndUnlock($oQP) = 2 Then
    *
    *
    *    Changed: Function: _QPDF_CreateObjectFromStream - fixed IsBinary checking - mLipok
    *    Changed: Function: _QPDF_CreateObjectFromStream - stream is pased as ByRef - mLipok
    *    Changed: Function: _QPDF_ExtractTextFromStream - fixed IsBinary checking - mLipok
    *    Changed: Function: _QPDF_ExtractTextFromStream - stream is pased as ByRef - mLipok
    *    Changed: Function: _QPDF_PrintFromStream - stream is pased as ByRef - mLipok
    *    Renamed: ENUMS: $QPDF_ERR_OK >> $QPDF_ERR_SUCCESS - mLipok
    *    Renamed: $__hDll_QPDF  >>  $__g_hDll_QPDF - mLipok
    *    Renamed: $__ErrorHandler_QPDF  >>  $__g_ErrorHandler_QPDF - mLipok
    *    Renamed: $__bNotification_QPDF  >>  $__g_bNotification_QPDF - mLipok
    *    Refactored: Function: _QPDF_StartUp() - mLipok
    *    Added: Enums: $QPDF_CSVTEXTCOL_* - mLipok
    *    Added: Function: _QPDF_CSVTEXT_GetMaxBoundaries() - mLipok
    *    Added: Function: __QPDF_IsStream - mLipok
    *    Refactored: Function: _QPDF_ExtractTextFromStream - mLipok
    *    Refactored: Function: _QPDF_PrintFromStream - mLipok
    *    Refactored: Function: _QPDF_CreateObjectFromStream - mLipok
    *    Added: Featrure: _QPDF_Display() If $iSelectPage = -1 Then $iSelectPage = $oQP.PageCount() - mLipok
    *    Added: Function: _QPDF_GetImagePageCount() - mLipok
    *    Added: Function: _QPDF_SetDefaultCoordinates() - mLipok
    *             !!!! FINALLY !!!!
    *             Now you should be able to use other system not only metric
    *             That means each function can be used with:
    *                 $__eQPDF_MUNITS_Default , $__eQPDF_MUNITS_Milimeters, $__eQPDF_MUNITS_Inches
    *    Added: Enums: $QPDF_ERR_FILEEXIST - mLipok
    *    Added: Enums: $QPDF_ERR_FILENOTEXIST - mLipok
    *    Added: Enums: $QPDF_EXT_PARAM1 - mLipok
    *    Added: Enums: $QPDF_EXT_PARAM2 - mLipok
 

You can download from here:

 

 

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

Hi,

I do have the new one but error still exists:

#include "I:\QuickPDF.au3"
$iSuccess = _QPDF_NewLibraryPath_Lite("I:\DebenuPDFLibraryLite1114.dll")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $iSuccess = ' & $iSuccess & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
Exit

Console:

@@ Debug(3) : $iSuccess = 0
>Error code: 0

"I:\QuickPDF.au3" and "I:\DebenuPDFLibraryLite1114.dll" definitly exists. Now I did read at "GettingStarted" I have to register the dll like:

regsvr32 "I:\DebenuPDFLibraryLite1114.dll"

When I will do that I become error a message like "DllRegisterServer: 0x80004005". Do I have to register that dll before I can use it with the UDF?

I'm not very familiar working with dlls. Are there dlls (like MediaInfo) that are working w/o and other dlls only working with registering?

Regards, Conrad

SciTE4AutoIt = 3.7.3.0   AutoIt = 3.3.14.2   AutoItX64 = 0   OS = Win_10   Build = 19044   OSArch = X64   Language = 0407/german
H:\...\AutoIt3\SciTE     H:\...\AutoIt3      H:\...\AutoIt3\Include     (H:\ = Network Drive)

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

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...