I am a Systems Architect for a large multi-national company based in the US.
As a memember of the enterprise architecture team, I have been asked to assess the PDF Server-side market for a recommendation that will become the enterprise standard solution.
I have spoken with a sales person that said I should post technical questions here since it was not possible to speak with a technical person over the phone (strike 1). However, your product does appear to satisfy our needs nicely. In lieu of an actual conversation, I would like to solicit some feedback from the Aspose developers here (as she suggested). I have a very tight time contstraint (I offer a recommendation this Friday) so your prompt response will be greatly appreciated.
To support my assessment effort, I created a very high level requirements document to help guide me. I have cut and pasted a good chunk of that document here:
------------------- requirements begin -----------------------
Most of the requirements for the tool are functional – these are features and functions the development teams need to build systems that meet the current known requirements for programmatically creating PDF documents from web applications for delivery to the end users via a web client browser.
The selected tool must provide an API that can be used from any .NET language to convert miscellaneous document formats to PDF format.
Not all document formats are known at this time. Several formats that should be supported include (bold indicates known requirement/italic indicates potential requirement):
- Microsoft Word (.doc), Excel (.xls), and PowerPoint (.ppt)
- Rich Text Format (.rtf)
- Simple Text Format (.txt)
- eXtensible Markup Language (.xml)
- Hyper Text Markup Language (.html)
The selected tool must allow the web application to generate PDF files from data retrieved from user input, database queries, or data generated in memory.
For example, a web user may enter data into a web form requesting the retrieval of additional data in a database using that input as a key, then calculate new data based on the retrieved data, all of which is then combined and formatted for output to a PDF file that is delivered to the web user’s browser.
The selected tool shall allow .NET web applications to combine two or more PDF files, potentially generated by another product, into a new combined PDF file.
The tool must allow simple appending of files, but should also support more complicated merge operations, like renumbering or re-sorting.
The tool shall allow .NET web applications to change the contents of existing PDF files.
Specific functions that must be provided include:
- Delete pages
- Reorder pages
- Renumber pages
- Modify existing content (text and images)
- Insert new content (text and images)
- Delete existing content (text and images)
The tool must provide the ability to programmatically populate form fields in existing PDF templates.
This section normally documents usability requirements for a system to be delivered, especially user interface usability requirements. In this case, user interface usability requirements are not significant given the tool’s limitation to a small segment of product development.
However, certain usability requirements relevant to the developer’s perspective are documented here.
The selected tool will include a rich object model, facilitating rapid development and ease of use. The overall quality of the tool’s object model will be a key differentiator. For example, any product with a self-explanatory object model with easily understood interfaces that support granular document object model entities in addition to XML interfaces will obviously trump a competitor that supports just one or the other.
We do not have specific performance requirements documented for this particular functionality. Other systems currently producing PDF forms may have requirements or historic usage reports that can be used to document those requirements here – an email was sent to developers of the systems currently implementing this functionality, requesting additional information.
Until more specific requirements are identified, the following general performance requirements will be used to guide our effort:
The selected product shall be capable of generating:
- 100 pages per hour per server
- 10 pages per web user request within 2 seconds
The selected product shall be capable of handling 100 requests per server per hour without significant impact to the application it is serving.
The following per-request document size metrics apply to the selected product:
- 1000 Maximum Pages per Requested Document
- 100 Megabytes per Requested Document
The product must be capable of responding to an average web user request with a complete PDF document in 2 seconds, where average web user request is 10 pages per document.
The product must be architected to provide a multi-threaded execution model.
This section normally documents a system’s supportability requirements. In this effort, we will document any supportability requirements demanded of the vendor.
The following support options must be assessed:
o Online user forums are often more valuable and more rapid than dedicated support
- Online Interactive Support
o Some vendors provide online interactive support via chat and other collaborative means
- Email Support
Any vendor under consideration for this effort must offer telephone support at the very least.
(oops - maybe this is a deal killer)
The following design constrains apply to this selection effort.
1.6.2. Native .NET Implementation
Though not a hard requirement, we prefer a native .NET product implemented with fully managed code.
This section normally documents the online user Documentation and Help System requirements for an entire system. In this case, this section documents these requirements relevant to our selection effort, meaning that the selected product should provide these resources for the developers use.
There are no requirements to provide Online Document and Help system resources for PDF tool features to users of the systems the tool is used to build – those requirements would be handled by each of the individual implementing systems.
The selected tool must include quality documentation. The documentation may be provided in either print or electronic format, though electronic documentation is preferable to print-only to facilitate sharing across the enterprise.
The product vendor should provide online help resources to assist developers with the installation, implementation, and troubleshooting of the solution.
Although not all of the following online help resources are necessarily required, the more of these a product provides, the better:
- Online Documentation
- Product specific FAQs
- Online Knowledge Base
- Troubleshooting guides
- Online/email technical support
The nature of the product does not require classroom type training resources, though some training resources are desirable, including:
- Sample code
- Computer Based Training (CBT)
- Online Training Resources
- White Papers/How-to-Guides
------------------- requirements end -----------------------
Thanks for your help.