[tw5] Scaling shown pdfs?

I just added a pdf as an external image with _canonical_uri and everything works fine, but the pdf is quite large and it is very hard to read from the small pdf viewer because I use two column system. I thought about opening the tiddler in an external window but for some reason the pdf only get smaller and is entirely impossible to read.

Can I scale the pdf zoom and perhaps put it in landscape mode or something? I guess it is being handled by adobe pdf reader. Or maybe fix the opening as a new window?

I mean look at this, can’t really do anything with this:

https://groups.google.com/g/tiddlywiki/c/TylT-kCvfTk/m/qiz5B4-zDAAJ

Works great! Thank you!

-Petri

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

3 Likes

Very nice Eric. Thank you! Especially that Adobe link, very useful.