

And the functionality benefits to your users are well worth the small integration effort. Don’t worry, we won’t touch even a single line of JavaScript. Now you-like me-may be thinking, “I’m not a JavaScript developer!”. All nice, but still none of the advanced capabilities, like searching or viewing the table of contents, for which our clients were looking. These controls allow for basic zooming, opening in Preview, and downloading. That straightforward process grants us the hover controls we find in Safari, which makes sense since the Web Viewer uses the Safari engine under the hood. What happens if instead of displaying the PDF in a container field, we export it and display it in a Web Viewer? Preview has some great capabilities for enhancing the PDF experience, but we’re FileMaker developers and don’t want to shunt someone off to an external program to get functionality that should be available out of the box.Įnter the FileMaker Web Viewer and Mozilla’s PDF.js library… Iteration 2: Web Viewer Downloading a PDF is still unintuitive, requiring a trip to the Edit > Export Field Contents menu option, but at least a control-click reveals the ability to Open In Preview. This is a better experience, enabling users to choose the logical “Insert PDF” menu option and always view a thumbnail of the first page.Įven better, now the user has some control over the PDF: the ability to scroll between pages, change viewing options, and zoom and resize. It all works, but is a poor experience.įor PDFs, be sure to go to the Inspector data tab to optimize the container field for interactive content. When they view that container field, they see just an icon for the file (after Insert > File) or a picture of the first page (after drag and drop). When a user tries to import a PDF, the PDF option is grayed out and the user is forced to insert a generic file. Done?īy default the container field is set for static content, such as images. So we created a new table for this imported data, added a container field to hold the PDFs, and configured the field for external storage. It is often beneficial to store PDFs externally to save space, increase performance, and give the host administrator flexibility to use separate partitions or drives. A nice option is the ability to store the data either internally in the database itself or externally in the host file system. Iteration 1: Container FieldįileMaker can directly store binary data, via built-in container fields. Here’s how we built a powerful PDF viewer directly into FileMaker. While it might seem as simple as a quick FileMaker container field, we wanted to impress our client with an integrated solution on par with a content management system (CMS).

We recently built an application that included PDF document management. Integrating A JavaScript PDF Viewer Into Native FileMaker-No JavaScript Coding Required!
