In my previous article I took a look at getting a basic admin panel to appear in the sample application. In this article I will take a look at linking a custom web service to the plugin, so that we can convert PDFs to HTML5 using our BuildVu product. But first, we need to upload PDFs to WordPress.
The goal of the plugin is to convert a PDF in WordPress’ media directory into HTML using the web service. So first of all we need to extend the plugin we created last time to have a form which handles the uploads. We also need to handle the incoming file, which we do in test_handle_post(), where we use the media_handle_upload() function to upload the file to the media folder. Below is the commented code of how to do so:
The admin page should now look like this when a file has been uploaded:
Now we want to actually convert the file to html using the web service (Note: We no longer provide a SOAP service, so the below code is out of date, but you can learn more about how to convert PDFs to HTML5/SVG in PHP here). Below I have amended the conversion method onto the plugin:
And if we look in the output directory of the plugin folder, we should see our converted document:
Now that we know how to upload a PDF file to the media directory, it is also possible to create list of the files to display and then select which one to use. I won’t mention how to do it here for the sake of brevity but if you’re interested in trying this, have a look at get_posts() method on the WordPress Codex.
Next time: embedding our content using shortcodes.