Python Pandoc过滤器:如何利用“Image”键?

2024-04-27 11:41:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python编写一个pandoc过滤器来处理图像(本质上是在转换后更改文件位置)。你知道吗

处理Str键值很容易,因为它是一个字符串(from pandocfilters documentation):

from pandocfilters import toJSONFilter, Str

def caps(key, value, format, meta):
  if key == 'Str':
    return Str(value.upper())

if __name__ == "__main__":
  toJSONFilter(caps)

我可以找到有关如何操作块的文档,但找不到图像。数据结构是什么?你知道吗

if key == 'Image':

等等。?你知道吗

这是我将得到的,本机(Haskell)格式:

[Image 
("",[],[("width","3.767361111111111in"),
("height","3.767361111111111in")]) 
[] 
(".doc1/media/image1.png","")
]

我应该怎么做,把图片从.png扩展到.jpg?你知道吗


Tags: keyinfrom图像image过滤器ifpng
1条回答
网友
1楼 · 发布于 2024-04-27 11:41:39

关于key=='Image'你是对的。你知道吗

也就是说,您还可以使用panflute库,这使得处理图像更容易一些。你知道吗

对于example,此筛选器执行您需要的操作:

from panflute import run_filter, Image

def action(elem, doc):
    if isinstance(elem, Image):
        elem.url = elem.url.replace('.png', '.jpg')
        return elem

def main():
    return run_filter(action)

相关问题 更多 >