V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ake0929315
V2EX  ›  Java

关于 Java 实现生成 PDF 换页的事情

  •  
  •   ake0929315 · 19 天前 · 1587 次点击
    有没有哪个大神有这方面的经验,如果我要生成 PDF 文件,放凭证信息,有些时候一页 A4 可以容纳 3 个完整凭证,但是有些时候由于记录多了一点,3 个完整的凭证内容没有办法容纳,就会导致第三个凭证的部份内容会显示在第二页上面,这样子特别的不美观。

    请 v 友们,提供一下这方面的经验或相关开源项目的经验。
    14 条回复    2024-05-31 19:04:43 +08:00
    perbugwei
        1
    perbugwei  
       19 天前
    直接每页只放一个凭证,想要放在一起再拼长图
    Mithril
        2
    Mithril  
       19 天前
    取决于你用的技术。

    如果是走的 HTML+Headless Browser ,那你需要从 CSS 入手去限制分页。
    如果使用 jsPDF 等等 “在某个位置插入 xx” 这类的库,找对位置就行了。

    但无论如何,如果你信息真的太多了,那不分页也不可能放得下。除非你全缩放了。
    zvvvvv
        3
    zvvvvv  
       19 天前
    根据页面大小和凭证数量调整凭证大小,然后用绝对路径将图片放置在指定位置
    lmq2582609
        4
    lmq2582609  
       19 天前   ❤️ 1
    你可以尝试做一个 word 模板,通过 word 模板生成你想要的内容,最后再 word 转 pdf
    kkocdko
        5
    kkocdko  
       19 天前
    We even never know which libs is used in your project.
    weenhall5
        6
    weenhall5  
       19 天前
    @kkocdko you are god damn right
    ake0929315
        7
    ake0929315  
    OP
       19 天前
    @lmq2582609 目前我就是通过 xls 的模板去处理的,但是转成 pdf 后,也会存在一个凭证跨页了的情况。
    ake0929315
        8
    ake0929315  
    OP
       19 天前
    @perbugwei 这样子太浪费纸张了,这种问题,一般就是会打印全量凭证的情况。
    Nnq
        9
    Nnq  
       19 天前
    跨页就跨页了吧,偶尔有问题就将就用咯,如果经常超出 那就设施每页少放些凭证不就好了么🧾
    ake0929315
        10
    ake0929315  
    OP
       19 天前
    @kkocdko 目前就是先生成 excel ,然后把 excel 转成 pdf 的方式的。
    vaynecv
        11
    vaynecv  
       19 天前
    用过 aspose 的 pdf 工具包,可以设置一页显示,但是宽度过宽貌似会缩放
    参考:
    PdfSaveOptions saveOptions = new PdfSaveOptions();
    saveOptions.setOnePagePerSheet(true);
    saveOptions.setAllColumnsInOnePagePerSheet(true);
    ake0929315
        12
    ake0929315  
    OP
       19 天前
    @vaynecv 好的,这种方式,我先试试,感谢!
    Hozoy
        13
    Hozoy  
       19 天前
    可以试试 x-easypdf ,用这个好像会自动处理表格换页这种情况。
    Ashe007
        14
    Ashe007  
       19 天前 via iPhone
    https://www.cnblogs.com/ashet/p/17540963.html
    我转 PDF 是使用 spire.xls.free 这个 lib 非常好用,你可以试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:29 · PVG 03:29 · LAX 12:29 · JFK 15:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.