We are developing a C# Application that supports printing multiple views and we would like to add printing to PDF. This application has several 3rd party controls that handle the printing on their own so adding something like SharpPDf will not work for us we don't believe.
Either we need a 3rd party component that takes a Print document as source and produces a PDF from that, or we need a good 3rd party print driver.
I was surprised that Adobe does not offer a Distributable version of the PDF printer they bundle with Acrobat as that would be ideal. Anyone have recommendations as to what is the best path for us on this?
Thanks in Advance,
Jeff
UPDATE: So after all the suggestions and a ton of research here is what I ended up doing. We are buying a license to Novapdf sdk for our product (http://www.novapdf.com/en/pdf-sdk.html). I looked at over 15 different products and we went with nova because of the ease of which we could implement this in our code and the cost was right ($899 for novaPDF SDK Single Application v7.) The code could not have been simpler and you can start developing before you actually have the license. Thanks again to everyone for their suggestions.
as a PDF printer, you can use PDF Creator, that it's free:
http://www.pdfcreator.com/
However, i'm using SharpPDF and works fine.
The best free tool I found is ITextSharp. It's very easy to use, and has a lot of examples online.
You can find it information at http://itextsharp.com/
we are using Billzip http://www.bullzip.com/products/pdf/info.php. There is also a COM interface to define how you want the output file handled. Here is the COM object info http://www.biopdf.com/guide/.
Related
Now I am working in the process of Insert and Update the comment for the pdf file using c# code. I want to Know the any possible way to insert a comment inside the pdf file. Anyone Know about this, Please reply and some reference for this process.
Microsoft does have very limited support for PDF in operating system APIs and it has come only recently in Windows 8 for modern applications (now called UWP) and that support doesn't go as far as updating comments.
So you need to use the 3rd party library. As far as I can tell SharpPDF is the only free library worth something, but I failed to open many PDFs in it so I can't recommend it. So I think you would need to search for some commercial library, I am aware of several of them that can do the job (e.g XfiniumPDF, iTextSharp etc) and you'll get the documentation when you license them.
does anyone know of a tool that permits rtf/doc/docx conversion to pdf from C# ?
These documents contain all sorts of fonts (TrueType or OpenType), and I am looking for a tool that will not rasterize the OpenTypes ones and render them rather accurately.
Many thanks in advance for any pointers !
have a look at Aspose.Words
It works server side and does not require Office Automation.
I've used it in a commercial project and it works really good. But it's a commercial component, so you need to pay for a license (which is not that cheap)
EDIT
please have a look at this thread in the Aspose forum
I've used iTextSharp myself in a C# project recently, and it worked pretty well.
Unfortunately, I'm not able to give you any example, as that would make a huge post (and the code is pretty confidential) :)
But here's the link to their site, if that helps:
http://itextpdf.com/
Hope this fits your needs!
I have a PDF file I want to print through my program by bringing up the print dialog. Is there a way to do this without using external programs such as Adobe Reader?
Thanks,
Richard
EDIT: For the time being I'm using Adobe as the most common place 3rd party program available that is also free. I'd still like to find other solutions though.
EDIT: Anyone down voting could you please explain why - it helps learning.
Your best bet would be to use a 3rd party library like the PDF Component from Aspose. There isn't anything natively in .NET that could do this.
What are the available 3rd party options to
(a) modify a templated word document
(i.e., replacing values with those
template fields in the docx file).
(b) convert a docx to pdf
I've already implemented this using Primary Office InterOp and those COM Office components, however, the problem is that the component is going to be used under an ASP.NET app, and therefore, the Office itself cannot be installed on the server.
So, I'd like to know what are the available 3rd party options out there to handle such cases.
Any help would be highly appreciated,
TIA,
I've not used it myself, but you could try Word Automation Services.
A couple of years ago I worked on a project that had been built to use the Aspose software. It was pretty easy to use and pretty powerful. It is definitely not free, but they do package the software so that you only buy the features you need.
If money is no big deal, have a look at http://www.textcontrol.com/en_US/
(a) Use content control databinding (an OpenXML feature built into Word 2007 and later)
(b) docx4j IKVM'd as a DLL
Have a look at Open Office dot Org. The conversion fidelity may not be perfect, but it will be Free.
Given a list of mailing addresses, I need to open an existing Word document, which is formatted for printing labels, and then insert each address into a different cell of the table. The current solution opens the Word application and moves the cursor to insert the text. However, after reading about the security issues and problems associated with opening the newer versions of Word from a web application, I have decided that I need to use another method.
I have looked into using Office Open XML, but I have not found any good resources that provide concrete information on exactly how to use it. Also, someone suggested that I use SQL reporting services, but searching for information on how to use them, lead me nowhere.
Which method do you think is the most appropriate for my problem?
Code samples and links to good tutorials would be extremely helpful.
Thanks for all the answers, but I really did not want to pay for a plugin and using Word automation was out of the question. So I kept searching and eventually, through some trial and error, found some answers.
After throughly searching through Microsoft's site, I found some newer articles on the Office Open XML SDK. I downloaded the new tools and just started going through each them.
I then found the Document Reflector, which creates a class to generate XML code based off an existing Word Document (.docx). Using my Label Template Document and the code this tool generated, I went through and added a loop that appends table cells for each address. It actually proved to be fairly simple and way faster than using Word automation.
So, if you're still using Word automation check out the Office Open XML tools. Their surprisingly extensive for a free download from Microsoft.
Office Open XML SDK 2.0 Download
I use the Words plugin from Aspose.com to do mail merges (programming guide).
You can take a look show 137 and 138 on dnrTV (www.dnrtv.com). In these video's Beth Massi shows how to do some editing and mail merging with OpenXML. She does this by using the Open XML SDK and xml literals in VB. It requires no third party components. Also it doesn't require MS Office to be installed on the machine.
This video inspired me as a C# developed (and no VB experience) to do some XML manipulation in a separate dll in VB. I call into this dll from my C# application.
It is worth a try.
We have the product Aspose that tvanfosson has mentioned. The edition that we purchased works with SQL Reporting Services so it can be used with the scheduler for creating output. It is really a great product and we used in a system that needed to support Korean characters in the final document. It works great and was under $1K with support. Not bad.
The advantage of using a product like this is that you can continue to manage your data and the skill set required to produce the documents is at a level where a variety of developers can support its use.
Vanstee,
If you really want to do this in code, check out this post I just found on Google
http://kellychronicles.spaces.live.com/blog/cns!A0D71E1614E8DBF8!1364.entry
If you are using reporting services cant you just move the information in the word doc into a database table and read it from there, taking word out of the equation?