mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-25 00:45:47 +00:00
PDF: avoid converting SVG to PDF when non-TeX PDF engine is used.
This fixes a 3.8 regression, which caused documents with SVGs to raise an error when converted to PDF using WeasyPrint. Closes #11275.
This commit is contained in:
+8
-11
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user