Keith Marshall <keithmarsh...@users.sourceforge.net> wrote: |On 17/09/14 22:22, Peter Schaffter wrote: |> On Wed, Sep 17, 2014, Steffen Nurpmeso wrote: |>> I'm not in the position to say something to PDFPIC today (direct |>> support would be pretty cool!), but there should be general tools |>> for sh(1) (perl(1)...) that can be included in a defined way and |>> used. I.e., roff "libraries". |>> |>> And the very same is true for generic use of external commands, as |>> is used by you, and what came to my mind immediately when reading: |>> |>> . sy pdfinfo @$1 | \ |>> grep "Page *size" | \ |>> sed -e 's/Page *size: *\\([[:digit:].]*\\) *x *\\([[:digit:].]*\\).*$/\ |>> .nr pdf-wid (p;\\1)\\n\ |>> .nr pdf-ht (p;\\2)/' \ |>>> /tmp/pdfpic\n[$$] |>> |>> For example here. There should be a way to safely generate |>> temporary file names in the temporary directory that is currently |>> used, whatever this is (most likely $TMPDIR). |> |> Yes. The way groff stands now, I'm uneasy relying on external tools |> and .sy for anything but local, user-written macros. There's precedent, |> though, in www.tmac (PIMG), and this seems to be the best solution |> for PDF images. | |Do note, however, that this will compromise portability; e.g. pdfinfo is |unlikely to be supported on MS-Windows hosts. Also, since .sy is an |intrinsically unsafe request, any macro which relies on it *must* be |invoked in unsafe mode, and users should rightly be wary of enabling |that, for untrusted sources.
I think in the end the best would also be a new command, say, `.imgconvert {TARGETFORMAT->EPS} SOURCEFILE [WIDTH [HEIGHT]]', or `.img2eps', or similar, that works in the C++ machinery on safely managed temporary files. And maybe `.imgbb'. But the latter could be more or less useless if the converted image file is accessible via some string. --steffen