diff options
| -rw-r--r-- | src/Text/Pandoc/PDF.hs | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/Text/Pandoc/PDF.hs b/src/Text/Pandoc/PDF.hs index ff0c7d4e3..22cc9918a 100644 --- a/src/Text/Pandoc/PDF.hs +++ b/src/Text/Pandoc/PDF.hs @@ -104,7 +104,13 @@ makePDF program pdfargs writer opts doc = withTempDir (program == "typst") "medi opts{ writerExtensions = disableExtension Ext_smart (writerExtensions opts) } else opts - source <- handleImages opts' tmpdir doc >>= writer opts' + source <- fillMediaBag doc + >>= extractMedia tmpdir + >>= (if isTeXFormat program + then walkM (convertImages opts' tmpdir) + else return) + >>= writer opts' + verbosity <- getVerbosity let compileHTML mkOutArgs = do -- check to see if there is anything in mediabag, and if so, @@ -212,16 +218,7 @@ makeWithWkhtmltopdf program pdfargs writer opts doc@(Pandoc meta _) = do verbosity <- getVerbosity liftIO $ toPdfViaTempFile verbosity program args (:[]) ".html" source -handleImages :: (PandocMonad m, MonadIO m) - => WriterOptions - -> FilePath -- ^ temp dir to store images - -> Pandoc -- ^ document - -> m Pandoc -handleImages opts tmpdir doc = - fillMediaBag doc >>= - extractMedia tmpdir >>= - walkM (convertImages opts tmpdir) - +-- convert SVG to PDF, and pixel formatst to PNG or JPEG, for TeX formats convertImages :: (PandocMonad m, MonadIO m) => WriterOptions -> FilePath -> Inline -> m Inline convertImages opts tmpdir (Image attr ils (src, tit)) = do |
