Here’s a little macro that I’ve been working on. It handles both internally-stored (base64 encoded data URIs) and externally-stored (using _canonical_uri) PDFs. It uses URL parameters to omit the default PDF viewer’s toolbar, and can also automatically scroll to a specified page within the PDF:
\define PDF(tid,page,suffix)
<$vars hdr={{{ [[data:]] [[$tid$]get[type]] [[;base64,]] +[join[]] }}}>
<$vars arg="#toolbar=0&page=$page$&$suffix$">
<$vars src={{{ [[$tid$]get[_canonical_uri]] ~[[$tid$]get[text]addprefix<hdr>] [<arg>] +[join[]] }}}>
<$vars sty="border:0;width:100%;height:100%;">
<object type="application/pdf" data=<<src>> style=<<sty>>>
<embed type="application/pdf" src=<<src>> style=<<sty>>/>
</object>
\end
To set the desired display size, enclose the <<PDF>>
macro inside a <div>
using a style attribute to specify the width and height.
For example, to show a regular page size, you can write:
<div style="width:8.5in;height:11in;"><<PDF "SomeTiddler">></div>
or, to scale it down to half size:
<div style="width:4.25in;height:5.5in;"><<PDF "SomeTiddler">></div>
or, as a thumbnail:
<div style="width:4.25em;height:5.5em;"><<PDF "SomeTiddler">></div>
Here’s some documentation from Adobe about using URL parameters for opening PDF files:
enjoy,
-e