Solved

Good PDF generation library for C/C++?

Posted on 2011-09-27
5
309 Views
Last Modified: 2012-05-12
I am looking to integrate PDF generated reports into an application that is written in c++.  I want them native to the application, not generated through a print driver or such.  I also need the application to be platform independent (Linux/AIX/Windows).  Is there a good library out there that does this?  I am trying to avoid the expense of Adobe's PDF API.  I have looked a little at the HaruPDF Library but want to explore all options before investing my time and $$$  in one solution over another.  Any help/advice/experience with this kind of tool/lib would be appreciated.
0
Comment
Question by:cvhoyt
5 Comments
 
LVL 13

Accepted Solution

by:
Hugh McCurdy earned 250 total points
ID: 36713077
0
 
LVL 13

Expert Comment

by:Hugh McCurdy
ID: 36713086
Or their new page -- http://libharu.org/wiki/Main_Page
0
 
LVL 20

Expert Comment

by:carlmd
ID: 36715665
Take a look at "enscript". This may or may not be installed on your AIX system, but if not it is free and can be downloaded at:
                http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/rpmgroups.html
This converts ascii to postscript, such that you could create ascii reports then convert.
0
 
LVL 7

Expert Comment

by:tampnic
ID: 36715737
If you can live with generating reports onto fixed size templates, here is the approach I took recently when required to print PDF certificates from a GUI E-learning application.

1) Use Adobe Acrobat to create a PDF form, fields added as placeholders for the data from the application. This is the template for all certificates in my app.
2) Use the FDF toolkit from Adobe (free and cross-platform) to generate FDF files with the data to be inserted e.g. course name, user name, date passed etc.
3) Use pdftk (open source and cross-platform) to merge data from FDF files onto the form template, outputting a flattened PDF for printing or storage.

I actually stripped out a lot of the pdftk source code, leaving just the FDF merge functionality, and compiled it into a DLL for use in my Windows app. The downside to this approach is you are putting data into fixed size fields on a page so layout is restricted, but this was not an issue in my situation.

PDF is a royal pain - maybe one of the open XML document formats would be more suitable?

Cheers,
  Chris
0
 

Author Closing Comment

by:cvhoyt
ID: 36927354
Thanks what I figured all along.  Thanks for confirming.
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Ubuntu not booting - How get past GRUB? 3 43
LINUX backups with VEEAM 8 82
Linux script delete files 3 34
Quickest way to query Windows Event ID from a Linux Device 3 34
Ever notice how you can't use a new drive in Windows without having Windows assigning a Disk Signature?  Ever have a signature collision problem (especially with Virtual Machines?)  This article is intended to help you understand what's going on and…
It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question