gpt4 book ai didi

pdf - 使用生成的 XHTML 文档时设置 URL 解析器目录?

转载 作者:行者123 更新时间:2023-12-04 05:54:22 25 4
gpt4 key购买 nike

这是我目前的工作流程:

  • 从数据库加载 POJO。
  • 将它们传递给 Velocity,在内存中呈现 HTML 模板。
  • 然后使用 Flying Saucer 和 iText 将输出的 HTML 渲染为 PDF。

  • 当我尝试解析图像等相对 URL 时会出现问题。由于我的文档存在于内存中,它根本不知道如何解析图像或样式表。如何将文档设置为内存中的 String 对象,同时仍将其传递给目录以从中加载资源?
    String velocityOutput = VelocityEngineUtils.mergeTemplateIntoString(...);

    ByteArrayOutputStream output = new ByteArrayOutputStream(...);

    ITextRenderer renderer = new ITextRenderer();
    renderer.setDocumentFromString(velocityOutput);
    renderer.layout();
    renderer.createPDF(output);

    我需要在内存中做所有事情,因为我只是生成要通过电子邮件发送给客户的报告。如何制作 <img src="..."/>在生成为 PDF 时解析我的 HTML 模板中的相对 URL?

    最佳答案

    您应该实现 UserAgentCallback接口(interface)并将其设置为renderer.getSharedContext().setUserAgentCallback(myUserAgentCallback);从javadoc:

    The user agent in this case is responsible for retrieving external resources.

    To understand how to create your own UAC, it's best to look at some of theimplemetations shipped with the library, like the {@link org.xhtmlrenderer.swing.NaiveUserAgent}.

    关于pdf - 使用生成的 XHTML 文档时设置 URL 解析器目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696016/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com