PDF Printer and PDF Canvas Create, open, edit, arrange, and import PDF files with a single line of code!
For Delphi® and Lazarus.
If you are familiar with TPrinter and TCanvas, you will be right at home!
PDF Printer has two canvas types:
A TCanvas (that works with your current canvas drawing code)
A PDFCanvas (that is much more powerful, and works in PDF page space).
You can instantly switch between using either of the canvas types!
Both canvas types have all the normal properties of a TCanvas (Pens, Brushes, and Fonts), and support all TGraphic object types.
The framework is based on the new OPDC(L) printer and canvas specification (from the Open Printer and Document Consortium™), that allows different TCanvas types to work together and cross platforms (such as Windows to Linux and back).
PDF Printer has an OpenDoc() method that accepts existing PDF files to edit, and the EndDoc() method accepts a filename to save the PDF file.
Calling BeginDoc() simply creates a new PDF document.
We have added methods to our PDF Printer to allow for page navigation such as GotoPage(), InsertPage(), DeletePage(), MovePage(), and ImportPage().
Finally, PDFPrinter.SDK() will instantly bring up the complete UberPDF™ SDK, providing access to all of our low level PDF functions directly in an IDE.
PDF Printer and Canvas is so simple to use, little documentation is needed.
A very simple example is provided, showing the difference in the two canvas types.
Extensive documentation is provided in the DOCUMENTATION directory for those wanting specifics.
The UberPDF™ 1.3.1 Plus update is available for Microsoft Windows®, OS X®, Linux®, Intel® and Arm®.
We have versions of PDF Printer and PDF Canvas in the works specifically for C++Builder®, Visual Studio®, and for generic C++.
The UberPDF™ 1.3.1 Plus update is a very small download (about 1 megabyte), and is painless to install.
Simply run the installer inside your UberPDF directory, and select "yes" when prompted to overwrite the SDK files.
The UberPDF™ 1.3.1 Plus update is available in our members area at:
Hi Attila Kovacs - I could be wrong, but I think I promised pre-compiled library binaries (avoiding the need to build the SDK).
We delivered too! Over 180 separate binaries are available for almost every compiler and platform under the sun, totalling almost 9 GB of optional "sprinkles" you can download.
I do like the idea of a pre-compiled demo. I will put some thought into how to implement something like that.
We do offer demo versions our TExcellent Image and Form printer products, but to be honest, it takes quite a bit to do that.
I think there are something like 90 different dcu and obj files required to support the different Delphi® and C++Builder® versions (just for Windows).
Here, at minimum, we have OS X® and Linux® to support, and then Lazarus, Visual Studio®, GCC, Clang...well, you get the idea. It would take hundreds of pre compiled binaries to offer demo versions.
In short, we now have a TPrinter and a TCanvas that puts out commercial grade PDF's (with professional kerning and the like). You probably will not find that sort of quality anywhere (at any price).
A demo for using a TCanvas? How much of a demo do you think is needed to show that Canvas.TextOut() works?
On the other hand, the PDFCanvas has a nifty TextColumn() method that will set an entire column of text, complete with justification, and supports commercial line breaking options like soft hyphens. You could set a complete newspaper, book, or magazine with it.
Now, that is worth a demo just to see it! It's beautiful.
Want to see it in action (complete with custom image clipping to a path, font changes and the like)? Grab the PDF here:
Attila Kovacs A pre compiled exe demo of TPrinter makes no sense. It would simply print a PDF. So just download the PDF.
You are asking for an exe to show how TPrinter "feels".
PDFPrinter feels like TPrinter.
PDFPrinter.Canvas feels like TCanvas.
PDFPrinter.PDFCanvas feels like TCanvas on steroids (it uses floating point in PDF space, with some extra functionality specific to PDF).
The SDK (with examples) is available as free, open source that you can download, compile, and use (and test if you like).
Actual PDF output is available for download (so you can access the quality of the documents produced).
We offer SDK Plus, pre-built, with high level objects (such as PDF Printer and PDF Canvas), documentation, advanced examples, and frequent updates for (currently) $79 per year.
SDK Plus currently adds over 200,000 lines to the free open source offering.
We beleive SDK Plus adds substantial value to the open source SDK.
You may not find PDF Plus to be immediately suitable for your needs.
We update the plus product based on customer requests. 200,000 lines of code have been added in 4 months.
The pricing model for the Plus SDK is subject to change as the functionality increases.
Current customers are grandfathered at the current price.
The product (in its current incantation) is not mature. It is only 10 months old. It is based on commercial code with a solid 20 year track record, with many (many) millions of installs. It is growing quickly in capability as I bring code online.
You may have seen forward looking demos of where we are taking the project over at our google community (link below - scroll to the bottom). You can see our stated goals, and a few time frames as well.
We deliver. And with that, you can expect this SDK to quickly mature and compete with another product (costing $2000 yr).
50,000 lines of code per month for one guy is nothing to sneeze at.
To be clear, take a look (and scroll towards the bottom). Yes, I am serious.
First, ask for the read me file. It lists all the known issues, short comings, how to's, and all the the other info. I thought about posting it. I don’t think google will accept it all in one post.
The read me file is much better and more useful than an exe demo with a "print a circle button" that will provide little information.
BeginDoc(). That is how TPrinter feels. The Canvas feels like TCanvas.
Speed? This thing runs on a Raspberry Pi®. You need nano second performance testing for PDF printing to purchase? If so, I would love to talk to you.
Customers report is blazingly fast compared with others.
It's not as fast as it was before we added string support for stuff like the Delphi Linux compiler.
How about some serious PDF questions?
Professional grade kerning. Does that matter to you? Now that is a serious "kick the tires" PDF question. Know any others that do that?
This is not a car. It is a component with a two bit price (adjusted for inflation), that costs slightly more than free.
I do know a lot about the marketing situation here, not just for me, but other companies I am privy to sales info.
Try almost zero.
2,300 developers have supported the open source effort with $16 (in ten months).
I spent over 1000 hours in the past four months adding over 200,000 lines of code.
I think says a lot about commitment.
You don't care about this extraordinary effort (but you thinking about buying the product).
I think says something too.
The bean counters tell me not waist time posting here. It is not profitable.
I am not alone in receiving that advice. I have found it to be true (and am told that by others as well).
Notice any decline in 3rd party postings? Now that is an interesting question.
So far, most all of my customers really do care about the extraordinary efforts put into product. They show it too, (thank you customers)!
We are not really making anything, so mostly, all I really receive is an occasional thank you to keep me going (and an occasional $79).
At the price we get (and number the sales we make), I am not sure we can afford customers that do not care about the extraordinary effort we put in.
What can I say? It really comes down to acts of appreciation (on both sides) that keeps this going.
Want to kick the tires? Well, at this price, try git hub.You may not get commercial grade kerning, and there may may not be anyone there to upgrade the code or support it, but the price is similar.
There are other libraries a little (or a lot) north in price. I think they probably have a demo. I know them all very well.
We try to do a very good "commercial quality" job. You might have to be a patient for some features, but we really do work really hard to deliver.
200,000 lines of code in four months in nothing to sneeze at. I have about 2,800,000 lines to go.
Attila Kovacs The core SDK (in another form) has been in commercial use for over a decade. While the core is written in C, every other part starts its life in Delphi ® 6. We are not going anywhere.
I am just not keeping it all to my self (and I have decided I not to give away further code as free open source).
That is my compromise, based on the lack of support for free open source projects from the commercial developers using the source, and code that I have (that I am no longer willing to give away).
There is such a TCanvas support in our OpenSource https://github.com/synopse/SynPDF library since years. Of course, SynPDF has less features than UberPDF and supports only Windows. But it may be a base for parallel Open Source projects. UberPDF has a commercial license, which may be an advantage for some companies which expect paid support and closed license.
A. Bouchez We like SynPDF! You guys are great! Connected somehow (I think) to a lot of other outstanding projects (including FPCUp Deluxe?). Wow, they are the only Arm64 version of Laz that actually runs. Anyway, hats off too you!
We do have an open source version, it's a big build(and difficult to use), and it does lack the all the extra stuff we add on top. It's a compromise for us. The open source version is heavily used by commercial developers (but gets no real contributions), and a some folks wanted more than we could afford to give. We try to please everyone.
Attila Kovacs If RT works for you purpose great. We find it to be garbage (we need characters to reliably print for example). It is just far too easy to break, using simple single line examples from the PDF reference.
Many pascal compilers can static link, however, Delphi® (at least under Windows) has never been able to support lib linking, much less the standard obj format used. We have done some positive resulting trials using build output from BCB, but the current market just does not warrant all the trouble involved.
You would need a render engine to output a PDF to another device. We just released news about ours (coming out next). That is what mainly separates the low and free options from the big tool kits (costing thousands). Unlike other tools, we do not try to use OS calls or meta files to do the drawing. Our is the real deal. I doubt you care about he difference. There is a old, free, unvetted version of pdfium from unknown origins floating around that you can use (if you open PDFs from in the wild and like to live very dangerously).
I do not think I missed any of your options. You can go free and dangerous (with a little work), up a step to pseudo PDF rendering, up a lot to real PDF rendering, or, wait for ours (with a likely price change for new customers).
Attila Kovacs Delphi® requires a DLL, since it cannot link to the lib file, nor the obj files used, (unlike most other compilers such as FPC).
Your options for the general display and printing of PDF documents is rather limited:
0) A dangerous, unvetted, non maintained DLL from somewhere on the net.
1) A few products offer some sort of "pseudo" rendering (that may work for you, but is certainly a faked job of PDF rendering), starting at a some hundreds of dollars.
2) A reasonable job of "somewhat close to real PDF rendering" is available at around $2,000 (QuickPDF). It not a true RIP, but it is good.
3) Real PDF RIP at something like a quarter million dollars (perhaps $50K with royalties). There are not many. Try Adobe!
You are not a publishing house, and you do care about the difference.
Our real nut is providing PDF SDKs for commercial use under a different name (and in that that third category that demands a difference).
We are slowly delivering that third category on the cheap. It is taking shape as promised (and as demonstrated). It takes time. I cannot port 3 million lines of code overnight. But you don’t care about that.
You are probably best served by some PDF engine that attempts to display PDF's via meta files or some such (from category one).
You want a demo to kick the tires, but your not qualified to kick them. If you do not know the difference in PDF rendering, what difference does it make?
Price. The real ones cost a hell of a lot, the fake ones do not.
Quality: The real ones really render, the fake ones fake it, the ones in the middle hand off to a libs they can try to fake it with.
Accuracy: If you print "Über" do you get it, or do you get a triangle or other crap in the place of the character that should be there? Try that on "RT" and look for the triangle. Might your financial reports be missing numbers or some crap too?
There ya go. The real story on PDF rendering, in a nutshell, from a well known industry expert, and a story that no one can dispute.
You don’t care, but you really do. You want a quarter million dollar (per copy) system, for cheap, that supports Delphi®, has no dll, and be able to kick the tires too.
Good luck with that. It does not exist.
I may offer that, but not today. The market does not justly building it.
Enough of this. I gotta go work on our PDF render engine that is due out next.
Attila Kovacs I am aware of the "outstanding" Quick demo. I was a contributor to Quick ;) I also own a paid copy. Did you get kerning with that?
Where do you think this stuff came from?
You would be hard pressed to find any PDF or PostScript® library that does not have smackle of TJoe's code in it somewhere. I have been at it since 1985.
Even the original GhostScript had a bit of TJoe in it. I was there. Peter "L" and I go way back.
BTW, UberPDF is an open source project. Feel free to contribute a demo.
And so I am required by Adobe legal to always say: PostScript® and Display PostScript® are registered trademark of Adobe Systems Inc. Displayable PostScript® is not (it is an adjective or some such).
PDF Printer and PDF Canvas Create, open, edit, arrange, and import PDF files with a single line of code!
ReplyDeleteFor Delphi® and Lazarus.
If you are familiar with TPrinter and TCanvas, you will be right at home!
PDF Printer has two canvas types:
A TCanvas (that works with your current canvas drawing code)
A PDFCanvas (that is much more powerful, and works in PDF page space).
You can instantly switch between using either of the canvas types!
Both canvas types have all the normal properties of a TCanvas (Pens, Brushes, and Fonts), and support all TGraphic object types.
The framework is based on the new OPDC(L) printer and canvas specification (from the Open Printer and Document Consortium™), that allows different TCanvas types to work together and cross platforms (such as Windows to Linux and back).
PDF Printer has an OpenDoc() method that accepts existing PDF files to edit, and the EndDoc() method accepts a filename to save the PDF file.
Calling BeginDoc() simply creates a new PDF document.
We have added methods to our PDF Printer to allow for page navigation such as GotoPage(), InsertPage(), DeletePage(), MovePage(), and ImportPage().
Finally, PDFPrinter.SDK() will instantly bring up the complete UberPDF™ SDK, providing access to all of our low level PDF functions directly in an IDE.
PDF Printer and Canvas is so simple to use, little documentation is needed.
A very simple example is provided, showing the difference in the two canvas types.
Extensive documentation is provided in the DOCUMENTATION directory for those wanting specifics.
The UberPDF™ 1.3.1 Plus update is available for Microsoft Windows®, OS X®, Linux®, Intel® and Arm®.
We have versions of PDF Printer and PDF Canvas in the works specifically for C++Builder®, Visual Studio®, and for generic C++.
The UberPDF™ 1.3.1 Plus update is a very small download (about 1 megabyte), and is painless to install.
Simply run the installer inside your UberPDF directory, and select "yes" when prompted to overwrite the SDK files.
The UberPDF™ 1.3.1 Plus update is available in our members area at:
https://uberpdf.org/uberpdfsdkplusmembers/index.htm#UberPDFsdkUltraUpdates
The UberPDF 1.3.1 (non plus) update is due out shortly.
We hope you will enjoy using the new PDF Printer and PDF Canvas.
Thanking you for your support,
Joe & Lynda
Product names, trademarks, registered trademarks, service marks, and registered service marks mentioned are owned by their respective owners.
Hi Attila Kovacs - I could be wrong, but I think I promised pre-compiled library binaries (avoiding the need to build the SDK).
ReplyDeleteWe delivered too! Over 180 separate binaries are available for almost every compiler and platform under the sun, totalling almost 9 GB of optional "sprinkles" you can download.
I do like the idea of a pre-compiled demo. I will put some thought into how to implement something like that.
We do offer demo versions our TExcellent Image and Form printer products, but to be honest, it takes quite a bit to do that.
I think there are something like 90 different dcu and obj files required to support the different Delphi® and C++Builder® versions (just for Windows).
Here, at minimum, we have OS X® and Linux® to support, and then Lazarus, Visual Studio®, GCC, Clang...well, you get the idea. It would take hundreds of pre compiled binaries to offer demo versions.
In short, we now have a TPrinter and a TCanvas that puts out commercial grade PDF's (with professional kerning and the like). You probably will not find that sort of quality anywhere (at any price).
A demo for using a TCanvas? How much of a demo do you think is needed to show that Canvas.TextOut() works?
On the other hand, the PDFCanvas has a nifty TextColumn() method that will set an entire column of text, complete with justification, and supports commercial line breaking options like soft hyphens. You could set a complete newspaper, book, or magazine with it.
Now, that is worth a demo just to see it! It's beautiful.
Want to see it in action (complete with custom image clipping to a path, font changes and the like)? Grab the PDF here:
uberpdf.org - ÜberPDF™ Examples
Attila Kovacs A pre compiled exe demo of TPrinter makes no sense. It would simply print a PDF. So just download the PDF.
ReplyDeleteYou are asking for an exe to show how TPrinter "feels".
PDFPrinter feels like TPrinter.
PDFPrinter.Canvas feels like TCanvas.
PDFPrinter.PDFCanvas feels like TCanvas on steroids (it uses floating point in PDF space, with some extra functionality specific to PDF).
The SDK (with examples) is available as free, open source that you can download, compile, and use (and test if you like).
Actual PDF output is available for download (so you can access the quality of the documents produced).
We offer SDK Plus, pre-built, with high level objects (such as PDF Printer and PDF Canvas), documentation, advanced examples, and frequent updates for (currently) $79 per year.
SDK Plus currently adds over 200,000 lines to the free open source offering.
We beleive SDK Plus adds substantial value to the open source SDK.
You may not find PDF Plus to be immediately suitable for your needs.
We update the plus product based on customer requests. 200,000 lines of code have been added in 4 months.
The pricing model for the Plus SDK is subject to change as the functionality increases.
Current customers are grandfathered at the current price.
The product (in its current incantation) is not mature. It is only 10 months old. It is based on commercial code with a solid 20 year track record, with many (many) millions of installs. It is growing quickly in capability as I bring code online.
You may have seen forward looking demos of where we are taking the project over at our google community (link below - scroll to the bottom). You can see our stated goals, and a few time frames as well.
We deliver. And with that, you can expect this SDK to quickly mature and compete with another product (costing $2000 yr).
50,000 lines of code per month for one guy is nothing to sneeze at.
To be clear, take a look (and scroll towards the bottom). Yes, I am serious.
ÜberPDF UberPDF
Joe
Attila Kovacs I do know.
ReplyDeleteFirst, ask for the read me file. It lists all the known issues, short comings, how to's, and all the the other info. I thought about posting it. I don’t think google will accept it all in one post.
The read me file is much better and more useful than an exe demo with a "print a circle button" that will provide little information.
BeginDoc(). That is how TPrinter feels. The Canvas feels like TCanvas.
Speed? This thing runs on a Raspberry Pi®. You need nano second performance testing for PDF printing to purchase? If so, I would love to talk to you.
Customers report is blazingly fast compared with others.
It's not as fast as it was before we added string support for stuff like the Delphi Linux compiler.
How about some serious PDF questions?
Professional grade kerning. Does that matter to you? Now that is a serious "kick the tires" PDF question. Know any others that do that?
This is not a car. It is a component with a two bit price (adjusted for inflation), that costs slightly more than free.
I do know a lot about the marketing situation here, not just for me, but other companies I am privy to sales info.
Try almost zero.
2,300 developers have supported the open source effort with $16 (in ten months).
I spent over 1000 hours in the past four months adding over 200,000 lines of code.
I think says a lot about commitment.
You don't care about this extraordinary effort (but you thinking about buying the product).
I think says something too.
The bean counters tell me not waist time posting here. It is not profitable.
I am not alone in receiving that advice. I have found it to be true (and am told that by others as well).
Notice any decline in 3rd party postings? Now that is an interesting question.
So far, most all of my customers really do care about the extraordinary efforts put into product. They show it too, (thank you customers)!
We are not really making anything, so mostly, all I really receive is an occasional thank you to keep me going (and an occasional $79).
At the price we get (and number the sales we make), I am not sure we can afford customers that do not care about the extraordinary effort we put in.
What can I say? It really comes down to acts of appreciation (on both sides) that keeps this going.
Want to kick the tires? Well, at this price, try git hub.You may not get commercial grade kerning, and there may may not be anyone there to upgrade the code or support it, but the price is similar.
There are other libraries a little (or a lot) north in price. I think they probably have a demo. I know them all very well.
We try to do a very good "commercial quality" job. You might have to be a patient for some features, but we really do work really hard to deliver.
200,000 lines of code in four months in nothing to sneeze at. I have about 2,800,000 lines to go.
Joe
Attila Kovacs The core SDK (in another form) has been in commercial use for over a decade. While the core is written in C, every other part starts its life in Delphi ® 6. We are not going anywhere.
ReplyDeleteI am just not keeping it all to my self (and I have decided I not to give away further code as free open source).
That is my compromise, based on the lack of support for free open source projects from the commercial developers using the source, and code that I have (that I am no longer willing to give away).
Joe
There is such a TCanvas support in our OpenSource https://github.com/synopse/SynPDF library since years. Of course, SynPDF has less features than UberPDF and supports only Windows. But it may be a base for parallel Open Source projects. UberPDF has a commercial license, which may be an advantage for some companies which expect paid support and closed license.
ReplyDeleteA. Bouchez We like SynPDF! You guys are great! Connected somehow (I think) to a lot of other outstanding projects (including FPCUp Deluxe?). Wow, they are the only Arm64 version of Laz that actually runs. Anyway, hats off too you!
ReplyDeleteWe do have an open source version, it's a big build(and difficult to use), and it does lack the all the extra stuff we add on top. It's a compromise for us. The open source version is heavily used by commercial developers (but gets no real contributions), and a some folks wanted more than we could afford to give. We try to please everyone.
Attila Kovacs If RT works for you purpose great. We find it to be garbage (we need characters to reliably print for example). It is just far too easy to break, using simple single line examples from the PDF reference.
ReplyDeleteMany pascal compilers can static link, however, Delphi® (at least under Windows) has never been able to support lib linking, much less the standard obj format used. We have done some positive resulting trials using build output from BCB, but the current market just does not warrant all the trouble involved.
You would need a render engine to output a PDF to another device. We just released news about ours (coming out next).
That is what mainly separates the low and free options from the big tool kits (costing thousands). Unlike other tools, we do not try to use OS calls or meta files to do the drawing. Our is the real deal. I doubt you care about he difference. There is a old, free, unvetted version of pdfium from unknown origins floating around that you can use (if you open PDFs from in the wild and like to live very dangerously).
I do not think I missed any of your options. You can go free and dangerous (with a little work), up a step to pseudo PDF rendering, up a lot to real PDF rendering, or, wait for ours (with a likely price change for new customers).
Honestly, I doubt you will like ours Attila :)
Attila Kovacs Delphi® requires a DLL, since it cannot link to the lib file, nor the obj files used, (unlike most other compilers such as FPC).
ReplyDeleteYour options for the general display and printing of PDF documents is rather limited:
0) A dangerous, unvetted, non maintained DLL from somewhere on the net.
1) A few products offer some sort of "pseudo" rendering (that may work for you, but is certainly a faked job of PDF rendering), starting at a some hundreds of dollars.
2) A reasonable job of "somewhat close to real PDF rendering" is available at around $2,000 (QuickPDF). It not a true RIP, but it is good.
3) Real PDF RIP at something like a quarter million dollars (perhaps $50K with royalties). There are not many. Try Adobe!
You are not a publishing house, and you do care about the difference.
Our real nut is providing PDF SDKs for commercial use under a different name (and in that that third category that demands a difference).
We are slowly delivering that third category on the cheap. It is taking shape as promised (and as demonstrated). It takes time. I cannot port 3 million lines of code overnight. But you don’t care about that.
You are probably best served by some PDF engine that attempts to display PDF's via meta files or some such (from category one).
You want a demo to kick the tires, but your not qualified to kick them. If you do not know the difference in PDF rendering, what difference does it make?
Price. The real ones cost a hell of a lot, the fake ones do not.
Quality: The real ones really render, the fake ones fake it, the ones in the middle hand off to a libs they can try to fake it with.
Accuracy: If you print "Über" do you get it, or do you get a triangle or other crap in the place of the character that should be there? Try that on "RT" and look for the triangle. Might your financial reports be missing numbers or some crap too?
There ya go. The real story on PDF rendering, in a nutshell, from a well known industry expert, and a story that no one can dispute.
You don’t care, but you really do. You want a quarter million dollar (per copy) system, for cheap, that supports Delphi®, has no dll, and be able to kick the tires too.
Good luck with that. It does not exist.
I may offer that, but not today. The market does not justly building it.
Enough of this. I gotta go work on our PDF render engine that is due out next.
Joe
Attila Kovacs I am aware of the "outstanding" Quick demo. I was a contributor to Quick ;) I also own a paid copy. Did you get kerning with that?
ReplyDeleteWhere do you think this stuff came from?
You would be hard pressed to find any PDF or PostScript® library that does not have smackle of TJoe's code in it somewhere. I have been at it since 1985.
Even the original GhostScript had a bit of TJoe in it. I was there. Peter "L" and I go way back.
BTW, UberPDF is an open source project. Feel free to contribute a demo.
And so I am required by Adobe legal to always say: PostScript® and Display PostScript® are registered trademark of Adobe Systems Inc.
Displayable PostScript® is not (it is an adjective or some such).
I never (ever) forget that part.