Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking for a component to view and print PDF files from Delphi/C++Builder. Delphi or ActiveX, not .NET. The license must be for royalty free distribution and the viewer must not require Adobe Reader to be installed.
So far I have tried:
Gnostice PDFtoolkit:
Display problems with JPX images
Radaee PDF Viewer:
Fast rendering, but crashes.
NO reply from support.
VeryPDF:
Slow rendering, but reliable.
No printing
WPViewPDF:
Messed up layout of most PDFs
GdViewer:
No continuous multi-page display
QuickPDF library:
No continuous multi-page display
eXPert PDF Viewer:
Use not allowed for generic PDF viewer.
NO reply from support.
EasyPDF SDK:
No continuous multi-page display
DynamicPDF:
No royalty-free license
Foxit PDF SDK:
No royalty-free license
3-Heights PDF Viewer:
No royalty-free license
Any other options?
Regards,
Brian
I successfully implemented SumatraPDF as an embedded viewer in a Delphi application.
It's to be launched through a shell command but adding the -plugin parameter makes it child of your form or any container. You can then send keystrokes or use DDE to pilot it.
see the wiki and look for "-plugin".
Sumatra is very fast and redistributable under the GPL conditions, it uses MuPDF as rendering engine, which is a very viable solution.
if you look at the source code of the following Total Commander plugin, you will find how to use it. Just ignore the part of the source that integrates the functionality as a TC plugin
For this scenario I recommend Amyuni PDF Creator ActiveX. As stated in the website:
The application license allows for royalty-free distribution
of your application.
Additionally, it supports JPX images, continuous multi-page display and many other features.
Disclaimer: I am part of the development team of this product.
It seems like continuous multipage display is your main problem here with the royalty free libraries.
Just an idea : One option may be to use QuickPDF to convert the PDF into a multipage PDF file and then write some code yourself to simulate a continuous multipage scolling. If you need zooming and other PDF display features then this may not suit your needs though. Another option is to use a thumbnail window down the side to help users navigate and show single page in the main window. You may not have too many other options as you seem to have used all of the PDF libraries that I am aware and a couple more.
It all depends on what your viewing and printing requirements are of course.
WPViewPDF is now available in Version 3.x which is based on a new rendering engine.
It now works with most PDF files. It is very responsive due to multi threading and has the possibility to manipulate PDF files, i.e. interactive moving or deletion of pages.
info: http://www.wpcubed.com
Kind Regards, WPCubed GmbH
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I am currently using PDF Box to parse a pdf and I am trying to figure out how to retrieve data about the text such as the font (bold, size, etc) and the location of the font.
Any suggestions?
After poking around the (hard to find) PDFBox docs, I found this little gem.
Apparently one of the examples shows exactly how to do everything you asked. Basically, you subclass PdfTextStripper and override the processTextPosition method. There, you query the TextPosition for whatever information you need.
For future reference, you can find the javaDoc here: http://pdfbox.apache.org/apidocs/index.html
Edit 2018-04-02: original link is dead, but example can be found in the SVN repo here.
One of the best things for text extraction from PDFs is TET, the text extraction toolkit. TET is part of the PDFlib.com family of products.
PDFlib.com is Thomas Merz's (the author of the "PostScript and PDF Bible") company.
TET's first incarnation is a library. That one can probably do everything you want, including to positional information about each text element on the page. Oh, and it can also extract images. It recombines+merges images which are fragmented into pieces.
pdflib.com also offers another incarnation of this technology, the TET plugin for Acrobat. Obviously you'd need Acrobat as well to make use of this.
And the third incarnation is the PDFlib TET iFilter. This is a standalone tool for user workstations. Both this is free (as in beer) to use for private, non-commercial purposes.
Lastly, TET also comes with a commandline interface.
TET is really powerful. Way better than Adobe's own text extraction. It extracted text for me where other tools (including Adobe's) do spit out garbage only.
A few months ago I tested their desktop standalone tool, and what they say on their webpage is true. It has a very good commandline. Some of my "problematic" PDF test files the tool handled to my full satisfaction.
This thing is my recommendation for every sophisticated and challenging PDF text extraction requirements.
TET is simply awesome. It detects tables. Inside tables, it identifies cells spanning multiple columns. It identifies table rows and contents of each table cell separately. It deals very well with hyphenations: it removes hyphens and restores complete words. It supports non-ASCII languages (including CJK, Arabic and Hebrew). When encountering ligatures, it restores the original characters...
Give it a try.
The GetPageText function with extract option 3 or 4 in Quick PDF Library returns a CSV string for the selected page which includes the text (either individual words or a piece of text) and the related font name, text color, text size and co-ordinates on the page.
Note: it is a commercial library and I work for the company that sells it.
PDF files can be parsed with tabula-py, or tabula-java.
I made a full tutorial on how to use tabula-py on this article. You can tabula in a web-browser too as long as you have installed Java.
Need a PDF compressor that I can use from DELPHI 2007.
What is the best one out there?
UPDATE ---
By PDF compressor I mean some way to compress an existing PDF. I don’t need to create new PDF files.
The usage that I’ll do with it, simple, I have in my applications the possibility to associate a file to a product, an entity, equipment whatever, and if the file is a PDF I want to be able reduce its size.
There some tools that can do this with no need to actually zip the file, what would mean that to see it you would have to decompress(unzip), this tools jut reduce the size.
So a PDF compressor, or call it what you will, is just this.
If you need to create PDF from Delphi code, see this page in Delphi:about.
I'd like to add our Open Source SynPdf unit, working from Delphi 6 up to XE.
Arguably the best is the Acrobat family of software from Adobe itself.
Edit 2:
Adobe has quite some extensive documentation on their API and docs on their Acrobat.com services.
Their Acrobat products are in use by a lot of vendors, even the affordable ones, to provide PDF support.
Edit 1:
Downvoters: it is for two reasons I mentioned Arguably in my original answer.
First of all just stating best without adding more criteria will always get a subjective answer.
Second: Adobe is the inventor of PDF, and the PDF support of their software is great. I know there are drawbacks of Adobe software too, but the question was the 'best', which I interpreted as the best PDF support.
There is an on-line PDF compressor that I heard is giving good results.
It should not be too hard to wrap that in Delphi for occasional use.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
We're using Fast Reports to create reports but we're not very happy with the quality of the PDFs it creates. I know we can plug in other PDF components instead of the one that comes with FastReports so my question is
What good PDF components are there out there (Free or Commercial) for Delphi? Ideally it should not require any dlls.
Edit: I bought Gnostice in the end as it had the FastReports integration, source available and a fairly good reputation. I did however find an issue (after I had bought it) with exporting multipage reports from FastReports to PDF where the component leaks memory and corrupts the output. I've reported it to Gnostice so I guess we'll see how good their support is in the next few days...
Edit 2: Gnostice came back with a fix that rectifies the memory leak and the corrupted output.
Use our SynPDF unit. Among its features, you can use a true TCanvas to create the PDF, and embed True Type fonts subsets. It's one of the few libraries handling Arabic languages and such (via the UniScribe API). It's fully Unicode ready, and very fast.
And it's FREE and OpenSource!
Works from Delphi 6 up to Delphi XE.
http://blog.synopse.info/?q=pdf
We are using Gnostice and are very pleased with it. It allows us to print our ReportBuilder reports to PDF, HTML, XML, Excel, Gif, ...
Some minor issues we have come accross working with the component
Somewhere deep in the bowels of the component, Application.Processmessages get's called. You have to make sure your code handles reëntrance.
We had to set Preferences.UseImagesAsResources of the TgtDocSettings component to True to resolve AV's when printing to anything else but PDF.
Probably due to the way we use the component but the first printed page was always Portrait. We had to add a call to gtRBExportInterface.Engine.Settings.Page.Orientation to set the orientation to landscape if needed.
We use wPDF. We don't generate pdf-files directly thought - we generate different reports, and 'print' them to pdf as an alternative to printer.
PowerPDF is free and opensource (LGPL). its realy small but effective!
PowerPDF
Here are some (All Commercial) I came across when looking for something similar:
VisPDF Library - This is worth checking out and you get source.
PDFDoc Scout library - This is an ActiveX control and you don't get source but has some good features (good HTML to PDF conversion for example).
PDF Creator Pilot - Worth checking out too.
I found that the freely available ones LibHaru, PoDoFo weren't up to scratch for my requirements unfortunately.
I've been using wPDF with QuickReports / QRDesign. Basically by converting the report to a metafile then producing the pdf from that. It also claims to have Fast Report support.
There are 2 ways to create PDF reports using eDocEngine. Either you use a report builder component (like QuickReport, Rave etc) and then use the eDocEngine interface to save the contents as PDF.
The other way is to programmtically use TgtPDFDocument class and then settings it's properties and collections. This gives much finer control over features like watermarks, permissions, password security etc.
IIPDFLib by llionsoft at: www.llion.net
Delphi library llPDFLib 3.6
llPDFLib is pure Object Pascal library to create PDF documents. This library doesn't use any DLL or external third-party software to generate PDF files. Library includes TPDFDocument component with properties and methods like Delphi's TPrinter but is designed to generate a PDF file.
Features:
Real Canvas.Handle (HDC)
Unicode support
Acroforms (buttons, radiobuttons, checkboxes, comboboxes, text input fields)
Watermarks
Thumbnail
JavaScript
vEncryption (40 and 128 bit)
Outlines (with support russian, turkish, baltic, east europe, greek, CJK languages)
Compression
Image compression(Jpeg, Flate, CCITT 3, CCITT 3 (2D), CCITT 4)
Hyperlink
Annotation(with support russian, turkish, baltic, east europe, greek, CJK languages)
Embedding True Type fonts (TTF and TTC)
Emulation of the Underline and StrikeOut font style
Present output into Stream for work with CGI/ISAPI applications
Filters for QReport,FastReport and Report Builder.
Set of the components for work with DBGrids
True Type font subset
It costs $299 US, but you get what you pay for.
(source: llion.net)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
What do you use to capture webpages, diagram/pictures and code snippets for later reference?
Evernote http://www.evernote.com and delicious http://www.delicious.com
Evernote
Notepad2's clipboard feature (Notepad2.exe /c as a link in Launchy)
Windows Clippings or PrintKey
Firefox extension Page Saver
Delicious
Microsoft OneNote.
I just have an emacs instance running on my home machine, under screen. Whereever I am (and have network) I can connect to it remotely. I stick all useful urls, birthday present ideas, future dates, code snippets, ideas for docs etcetc in there.
I rarely have doodles/diagrams I need to capture, I tend to draw them in ascii in my file if needed.
I must admit I'm a bit stuck if I have no network/wifi somewhere, but that's rarely the case.
I find google notebook is very good for drive by code snippeting and google bookmarks especially as when used with the google toolbar, for web pages.
The benefit of these tools are that they are available from any pc on the web, though a good use of semantic organisation using labels is recommended.
Here's my response to a similar question:
The combination of OneNote with a tablet PC is awesome! I was a bit of a skeptic at first. I used the trial version and then forgot about it. A year later I had an unruly collection of files, project related emails, notebooks and scraps of paper all scattered throughout my life. I went back to OneNote and all my problems went away. Some highlights:
Everything is searchable. The character recognition is good enough that my chicken-scratch meeting notes can be searched. Text within images is searchable.
OneNote syncs with Outlook so finding meeting notes is a breeze.
I now embed all files into OneNote - pdfs, spreadsheets, word docs, images, web clippings.
OneNote is constantly saving all changes so, combined with a scheduled automated backup, everything is in one place and is safe.
There are some built-in collaboration tools I have yet to try but that look useful.
It is SO worth the price. It allows you to get started on a project and avoid all that time spent deciding how to organize things.
Zotero, is a nice plugin for Firefox.
SnagIt
captures everything you could want, and lets you annotate it.
I prefer to use the good old url for delicious
Apart from that i use the Scrapbook extension in firefox when i want to save something on the disk. It's possible to tag the page, edit it and remove those stupids ads before saving it.
I also have a Wiki on a stick that i carry around on a usbkey for code snippets that should go to other clients when i'm travelling around
Mostly, my code snippets are embedded into projects i carry on the same usb key, which allows me to demonstrate some technologies right off to the client and get his advice based on a demonstration, not a listing of code...
For screen shots, I use a mix between ScrapBook and ScreenGrab. They are both firefox plugins that are pretty amazing when you need to get a screenshot of a page for editing. Works great for consulting.
https://addons.mozilla.org/en-US/firefox/addon/427
https://addons.mozilla.org/en-US/firefox/addon/1146
Delicious Bookmarks extension for Firefox
It's a little primitive, but I've been using tiddlywiki (self-contained, single-file wiki) http://www.tiddlywiki.com/ which works good for basic text and markup. I combine it with a plugin to sync it with Outlook's notes (http://syncoutlooknotes.tiddlyspot.com/#SyncOutlookNotes) so that I can then sync it to my blackberry using the standard outlook-blackberry sync mechanism. This has the significant advantage that I can look at my notes and even write new notes when I'm out and about, away from my laptop, or just don't feel like lugging the laptop around to a meeting that I don't really need it for.
I'd prefer using something more advanced like Onenote, but being able to take my notes with my in the little blackberry has turned out to be a significant advantage.
Google Notebook is very convenient tool. You can clip and save any parts of web pages without leaving your browser tab. The Notebook plug-in automatically saves them as separate notes in your notebooks and keep the links back to the original web pages. You can organize your clippings later by moving them between your notebooks and/or tagging them. Very good for code snippets and references.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for a pre-written component (w/source) for a Delphi project that I'm working on, to generate mind-maps / concept-maps similar to these:
http://en.wikipedia.org/wiki/Image:MindMeister_screenshot_OS_X.jpg
http://en.wikipedia.org/wiki/Image:XMIND_2008_in_Windows_Vista.png
Any ideas?
As a former Delphi developer, I sympathize. It used to be that you could find a free component with source for just about anything. You probably know about the Delphi Super Page (my old go-to source for everything Delphi). I looked; no mind-mapping components, there. (Of course, the site has not been updated in about 2 years).
I do have a suggestion, though, but it's not optimal: StarUML was written in Delphi, and it contains custom components for creating UML diagrams. The source is available for download, and it seems to me that the UML primitives (boxes, lines, clouds and such) could be adapted to your purpose. The web site is http://staruml.sourceforge.net/en/.
I know it's not ideal, but at least you would not have to start from scratch.
Good luck!
You might want to have a look at TMS Software's Diagram Studio, not specifically a mind-mapping component but it does offer diagramming functionality in your delphi app. and a developer license does come with source code.
An other great source for Delphi component is torry.net. Searching there I found an interesting looking component: Drawing objects.
Steema Software has got a great component called TeeTree which seems to do everything. I'm not sure how much it costs (costs is the operative word)
We use it for making pie charts and reports but it seems to do everything, you can get compiled demo's off their site.
It's a VCL component.
I know Graphcis32 has been used to implement visio-like diagramming. On the 'applications'-page there is a link to MindVisualizer, prooving that it can be used for mindmaps too. Not an out-of-the-box solution though....
TMS Diagram Studio, as already mentioned, and DevExpress OrgChart or FlowChart may do the trick.
There is only one mind mapping component that I know of : MetaTree. It supports Delphi 5, 6, 7 and 2005 and comes with full source code.
Not exactly what you are looking for but it could be an option if you can't find a native VCL component.
Tree GX http://www.componentsource.com/products/treegx/index-gbp.html is a .NET mind map component with source code.
You could then use Hydra http://www.remobjects.com/product/?id={B6BD1030-F630-4DA8-9018-73C03265A0EF} from RemObects to host a WinForms control inside a Delphi application if going pure .Net is not an option.
Edit: the preview seems to showing the links ok, but when I submit the post they are all wrong so I've had to put the urls inline
Please try
http://www.delphiarea.com/products/simplegraph/
JVCL : Demo called
JvDesignerDemo