How to create an editable pdf in asp.net? - asp.net

here is a different type of requirement in my project regarding pdf.
I want to generate a pdf with few of prefilled values. rest of the fields can be filled by user so Pdf should allow the user to edit the pdf so that he can save it locally on his system.
The pdf may contain checkboxes and textboxes.
I have worked with "itextsharp", "abc pdf" and "Rad Pdf".
For this purpose i can't use "Rad Pdf", due to some limitations by project owner.
Please share your valuable answers to give me a proper way to do this task.
Looking forward for your replies.

You need to use Adobe Professional, you can turn your existing electronic or paper forms into fillable forms with a few clicks.
http://adobe.ly/Ydc7qb

Acrobat Reader XI provides features to save eForms out of the box.
Provided your clients are using this version of Acrobat they will be able to fill in and save standard PDF forms.
The only problem you may have relates to older versions of Acrobat Reader which did not have this feature.
So any eForm produced using ABCpdf or indeed any PDF library should work the way you want provided your clients have a recent version of Acrobat Reader.
ABCpdf includes an example project called 'Annotations' which shows how to create eForms in this way.
My replies may feature concepts based around ABCpdf .NET because it's something I work on. :-)

Related

MS Word template with loops, tables and charts

For our SaaS (LAMP) product reporting we are currently using JasperReports. We find it too cumbersome to develop reports with and the output in Word unworkable. Moreover, a couple of customers request to be able to develop simple reports themselves (to be used as mail merge). We would therefore like to develop templates right in Word. The idea is to have an application/webservice that would receive the Word template and JSON data from the LAMP application and return the filled-in report. The report has to support:
Loops inside content (repeating a document section several times while filling in array data)
Filling in tables (populating rows from array)
Filling in chart data in pre-created charts (from array)
This is the functionality we are using in JasperReports right now. Are there existing solutions to this? I've found quite a lot that can substitute simple variables, but no info about the the above three points. Will it be a lot of effort to write one from scratch? I would prefer a Windows OpenXML-based solution rather than a Linux PHPOffice-based one as I presume the former would handle the text split by spell-checker and language tags (though I'm not sure).
Windward and Docmosis are both commercial products that support the features you've listed and they are intended to be added to your application to provide reporting capabilities. Neither is are not OpenXML based. They can use Word documents as templates and perform the data merge into different output formats. Please note I work for Docmosis.
Aspose Words is another tool and it can populate a template but most of the power is through code rather than controls/directives in the template. Given your OpenXML thoughts, perhaps this is more what you are looking for.
More tools are recommended here in StackExchange.
I hope that helps.
ReportBox is a Web based reporting solution that can be used by any software application to generate documents and reports in Microsoft Word/ Excel/ PowerPoint/ HTML(DocX/Xlsx/PPTx/HTML) using OpenXML.
The process starts by building a Microsoft Word/ Excel/ PowerPoint/ HTML document as a template and uploading to ReportBox portal. Your application either sends data to ReportBox or ReportBox can pull data from your application database, which is then merged with the template to produce the finished report. Please note that I work for GreenThoughts.

How to enter mathematics equations in asp.net and save equation to SQL Server for my online test

I want to take math equations from user interface like a textbox and save them to SQL Server.
Is there any possible way please suggest me. I found like creating images but it not possible for my project which needs to create lot and user did not have that much of knowledge in creating images and me too.
Please help me like binding virtual keyboard to textbox or other possible ways
NMaheshGoud
I'd take a look at MathML if I were you. It would require a custom control to allow the user to enter the data. Unfortunately the .Net editor appears to no longer be available but you could resort to a Flash-based one such as fmath Editor.
Why can't you save it in a nvarchar field?
Assuming you are allowing text input then save it as this base form?
I've published a JavaScript library that you can use to create a virtual math keyboard. It is intended for use together with any LaTeX typesetting library (for example MathJax or KaTeX).
GitHub repository: https://github.com/MathKeyboardEngine/MathKeyboardEngine
Live examples: https://mathkeyboardengine.github.io
I see that you want to store the user's input in a database. Call getViewModeLatex to get the user's input as a LaTeX string (for example \frac{x}{1-x}) that you can store.

Reporting platform for Asp.net - with excel/pdf/word export

I am looking for a reporting platform for our asp.net application, which will allow the report to be exported in excel (for tabular data), or PDF/Word (for document reports like Invoice prints).
Are there any standard options available?
I tried Rdlc, but it does not seem to help in the second case (at least I dint see a way, if you can please enlighten me :) ).
Currently we are using Interop for excel export (I know its not recommended for asp.net, we are planning to switch soon), use rtf templates for word reports (which also makes them somewhat customizable) and we dont have pdf export (planning to build it). But it seems like a waste of effort if standard controls are already available!
Cheaper the better! Free rocks!!
What's the issue with Rdlc? You can create any kind of format into it. For invoice prints etc you can use list data region. Its used for free flow kind of stuff. Its like ASP.NET repeater. In your case, you will have only one row of data.
Edit: even Crystal reports has equivalent functionality. As said, you will have only one row of data for invoices etc.
In both Crystal & RDLC, you can even supply multiple rows of data to your free flow report and generate multiple invoices in one go. Can be very helpful feature for users.

What is the best way to print a report to PDF in ASP.Net?

I have a complicated report that I need to draw with GDI+ (I don't know of a better way) with multiple pages and have it save to PDF so the user can download. What is the best way to do this?
Not sure how complex your report is and what you are doing with GDI+ but here's some ideas that may help:
Checkout ITextSharp and/or PDFSharp.
The spark view engine also has pdf generation built in.
As another thought.... If you have access to SQL Report server and/or at least it's client and can use it to create your report you can generate and call from .Net MVC and output as PDF.
Check out this SO answer:
Asp.Net MVC how to get view to generate PDF
There is another way of doing it, install Bullzip on the server, and using the COM interface, you can programmatically print it out to a pdf document which I would think would be less hassle...simply select the Bullzip PDF Printer as the active printer and print it out to a destination pdf folder. Have a look at this here to see how the COM works...the COM interface is the same as bioPDF's COM model.
Hope this helps,
Best regards,
Tom.
I'm a fan of Data Dynamics ActiveReports myself. Probably has a little do with the fact that they're local in town, and if I have a problem I can just call them up. Very good reporting engine though. Prints directly to PDF.

In ASP.NET what is the best way to convert a PDF file to HTML?

What my users will do is select a PDF document on their machine, upload it to my website, where I will convert into an HTML document for display on the website. The document will be stored in a database after conversion.
What's the best way to convert a PDF to HTML?
I have been handed a requirement where a user would create a "news" story as a pdf and then would upload it to the sever, where it will be converted to HTML and displayed on the website.
Any document creation software that can save documents as PDF can save them as HTML. I'm assuming the issue is that your users will be creating rich documents (lots of embedded images), which results in multiple files, and your requirements stem from a desire to make uploading these documents as simple as possible to the user.
There are numerous conversion packages that can probably do this for you, however when you're talking about rich content, you are talking about text plus images. Those images have to be stored somewhere and served somehow, and whatever conversion method you use will require you to examine all image sources to make sure they point to valid locations on your server.
I would like to suggest an alternate way of doing this that you can take to your team: Implement one of the many blog APIs for publishing content. There are free and commercial software packages that use these APIs to publish content directly to a website, such as Windows Live Writer and Microsoft Word. Your users can simply create their content and upload it directly to your website without having to publish it as PDF first then upload it. So the process becomes much smoother for your users, and you get the posts in a form that doesn't require you spend thousands of dollars on developing or buying conversion code.
The two most common APIs are the MetaWeblog API and the Movable Type API. Both are very simple and easy to implement. I think this way would be a MUCH better alternative than what you're thinking about doing.
I don't think converting a PDF to an HTML string is necessarily the best idea, especially if you want to export it back as PDF. PDF files often contain binary elements such as images, so you may be best to convert it to ASCII via an encoding, such as Base64. That way you will have an ASCII string you can save into a text field in the DB and then convert it back out. Could you expand more on the main requirement?
My recommendation would be to not do it that way IF POSSIBLE (but we all know what managers are like) so...
I would recommend that you stay away from converting the PDF to/from HTML (because unless you can find a commercial solution it will be nigh on impossible) and instead do as has already been mentioned and store it as an encoded Base64 string, or BLOB or some other binary format in the database, and then display it to the user with some sort of PDF view plugin for the browser.
All it took was a simple google search for "PDF to HTML": http://www.gnostice.com/pdf2manyOverview_x.asp. I'm sure there are others.
So while it's 'possible', you may want to explain to your manager that this isn't the best content management solution.
Why not use the iTextSharp to read the PDF content? Then You could save both the binary PDF and the text content to the database. You could then let users search the content and download the PDF.
You should look into DynamicPDF. They have a converter (currently Beta) out for serving exactly this purpose. We have used their products with great success (especially for dumping Reporting Services reports directly to PDF).
Ref: http://www.dynamicpdf.com/

Resources