Dynamic PDF Generation from Salesforce Data - html

I'm looking for some recommendations on a solution to build dynamic PDFs using salesforce object data. We currently have a layout designed in photoshop, that we're looking to import into Salesforce and fill in various snippets/images based on data that lies within an object. The final product should come out as a PDF
I started building this using Adobe XFDF. I exported the PSD as a PDF and created a fillable form from it. This was then populated from an XFDF file generated from Salesforce. This does work but the design issues with fillable forms, requirement for acrobat pro on every system that uses it and the lack of support for referencing file templates that are not local have killed this. One of these issues alone wouldn't be deal breakers, but all 3 combined are too much to overcome.
While this is mostly all sorted out on the Salesforce side, I'm not sure of the best way to proceed with this when it comes to PDF generation, here are a couple of ideas that might work, but I don't have enough experience to be sure:
Generate HTML/CSS File from PSD file, upload to salesforce, modify html file within salesforce, send to PDF generation API - adobe api looks promising for this, but can I send over html and css files together to generate a single PDF?
Use Salesforce PDF tools to generate PDF, will need to modify visualforce page to the same design as reference design in PSD.
Use some sort of third party PDF generator tool that will allow me to reference my current design as a template.
I'm open to any suggestions, Thanks!

In salesforce, PDF can be generated without using any app. Check out the official document by Salesforce.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_output_pdf_renderas.htm
A quick start guide How to generate PDF in Salesforce
It does not require any purchase or separate license. If you are looking specifically an App, it can be found on app exchange.
https://appexchange.salesforce.com/appxSearchKeywordResults?keywords=pdf%20generator

Related

Scraping AJAX generated table to download PDFs in bulk

I'm trying to download (or alternatively open and save) approximately 30,000 PDF documents. The documents that are only accessible through a 3rd party service provider's website/platform (there are no ethical dilemmas here).
The website is secure and needs to be logged into (I have access) and the table is generated via AJAX. The report I intend on reading from has a URL of the form https://sub.website.com/au/report/index?id=1001# that doesn't change when dates or other filters change. In total there are 180,000+ table entries, not all have an associated invoice and not all invoices are required.
Using Chrome DevTools I can see the elements; table name is #reportResults, invoice details are in a html element.
There also looks to be an API but I don't know where to start here either.
How do I scrape data from this using VBA? I have downloaded the JSON.bas module recommended in other solutions for scraping JSON and AJAX. But for this situation I don't know how to use it and where to go from here.
I'm handy with VBA but have no experience with any other languages.

Auto-Convert OneNote to PDF

I am trying to automatically convert some Microsoft OneNote files to PDF to send as a daily email attachment. I have thought of two systematic solutions but need some help in finding the right tools:
Find an application that may be programmatically called (via a Python script e.g.) that will convert a Microsoft OneNote file to a PDF.
Find a way for OneNote to automatically save files as PDFs every time it auto-saves.
Is anyone aware of tools available for either solution?
See my answer to your other question
The approach would be to get the pages content with
./me/onenote/pages/1-1c13bcbae2fdd747a95b3e5386caddf1!1-xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/content?includeIDs=true&includeInkML=true&preAuthenticated=true
and then render the html on a canvas with javascript/jquery.
render ink with InkMLjs
and then use a library to convert the canvas to a pdf for example with canvas2pdf
Another approach might be something like Automator for osx. You could get the pages of interest with the microsoft-graph api, open them in a web browser using applescript and when the page has finished rendering -> print -> "Save as PDF"

is it possible to extract the HTML code of a R shiny app such that it can be used without having R?

I´m new to shiny and created an app with some plots. This app now will be used for a presentation and should be easily accesible for other people. So my question is, if and how i can extract the HTML code of a shiny app such that at the end I just have a HTML file with the same stuff which is in my application.
When I run the app in my browser and do "save as" in the browser, the downloaded HTML doesn´t work like the original application.
Thanks for every answer!
Short answer: no. Shiny apps work with a backend, i.e. a server (which can be running locally on your machine) handling requests, doing some processing, and then sending back the update to the browser. So if you save the HTML, it will only capture the current state, and any interactions will be broken.
However, there are many interactive UI output elements in R that only work with Javascript and don't require shiny. Many of them are based on the htmlwidgets package. Have a look at leaflet (for geospatial data / maps), dygraph (for time-series data), plotly (for nice histograms / scatterplots / etc), and crosstalk (for creating cross-widget interactions without shiny).
Also, a great way to share your work are R Notebooks. These automatically generate a browser-viewable HTML file when you save them.

Generating a web site from xsn files

As we all know, the infopath forms service residing on a sharepoint server generates a web site each time we publish an inforpath form template to the sharepoint server.
Here is the question: how does sharepoint do that. Is there any way for us to do that programmatically via some kind of api provided by MS?
In fact, what I need to do is getting all the html, js, css etc. files and applying some kind of operations like deleting some divs or insert some html code into the particular web page. I have come up with two ways to do this.
Generating the web page via sharepoint api and apply those operations at the same time
Extracting the web page files from the IIS server and apply those operations
I am totally new to this kind of work. All in my mind is that each time we right click on a web page in the browser and choose to save the web page, the browser gets some of the files we need to render the web page and makes it possible for us to browse the web page offline.
httrack
WinWSD
and tools like that seems to work fine with extracting html files from online web pages but not that well with js, css files.
Now I am trying to dig into the chromium project for some kind of inspiration, although whether it helps or not is unpredictable.
Any kind of advice will be appreciated.
Best Regards,
Jordan
Infopath xsn files are just zip files with a different extension. you can rename the extension to .zip and extract out the files. you will find a number of files that make up the form. the two main ones are the .xml and .xsl files. the .xsl will have the html to generate when applied to the xml.

HTML controls in PDF

I ran into an interesting problem at work today. I got a request to provide a link to a certain PDF file from my company's homepage. Now, this PDF is to contain some testimonials etc. and is to be followed by a feedback page which has HTML like controls - radio buttons, textboxes and a submit button - We are still talking about the PDF here :)
Further, the PDF must open in the browser and if a user hits 'submit', the form data must be sent to a server script.
I must admit, I am a little stumped. I mean, is it even possible to put HTML controls in a PDF and, is it possible to submit a form from a PDF?
Any other thoughts on this problem?
Yes you can create forms in PDF. Following might be useful to you.
Adobe Acrobat Professional gives you
the ability to turn your previously
designed, standard PDF file into an
interactive form that clients can
download, easily fill out, print or
effortlessly return to you by email.
All they need is the free Adobe
Acrobat Reade
http://www.thedesigncubicle.com/2008/12/how-to-create-interactive-pdf-forms-to-impress-your-clients/
All PDF forms can be distributed via
email but can also be distributed to
web sites using FormArtist itself.
Data can be submitted straight from
forms back to your web server. It can
then be retrieved automatically and
stored in a database on your PC for
export or analysis.
http://www.quask.com/survey/applications_pdfforms.asp
You can't put HTML controls in a PDF, but you can add form fields to a PDF which support buttons, radio buttons, check boxes, text fields, etc. Form fields support the use of JavaScript, so it's possible to create some fairly interactive PDF forms.
You can create a PDF form with a submit button that when clicked will submit form data to a server. This requires the use of a file format called FDF. These PDF forms can be created by any number of different PDF development libraries or off the shelf products including Adobe Acrobat, Nitro PDF Professional, PDF Converter Professional and more.
Here are some articles that will help orientate you on PDF forms and FDF:
How to populate a PDF file's form with data from a web server
Web Hosting PDFs
Linking Up with FDF
Developing with PDF Forms
Where Should I use Acrobat JavaScript?
There are quite a number of different products from a variety of different companies. The Planet PDF Forum is a very useful resource too.
PDF forms can be submitted to a server. When the form data is submitted to the server, you'll need the services of the Adobe FDF (Form Data File) toolkit to parse the FDF file received at the server side. In order to create PDF Forms that submit FDF data to the server, one would require Adobe Acrobat or other similar software (for instance Nitro PDF Professional and PDF Converter Professional 6, thanks to Rowan for the links).
You also have the option of submitting a XFDF file to the server, that can be processed by any XML parser. Unless I'm mistaken, this requires you to have a license of Adobe Lifecyle Designer (or equivalent software) to create an XFDF file.