关于 Java 实现生成 PDF 换页的事情 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ake0929315
V2EX    Java

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

  •  
  •   ake0929315 2024-05-31 10:47:41 +08:00 2678 次点击
    这是一个创建于 497 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有哪个大神有这方面的经验,如果我要生成 PDF 文件,放凭证信息,有些时候一页 A4 可以容纳 3 个完整凭证,但是有些时候由于记录多了一点,3 个完整的凭证内容没有办法容纳,就会导致第三个凭证的部份内容会显示在第二页上面,这样子特别的不美观。

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

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

    但无论如何,如果你信息真的太多了,那不分页也不可能放得下。除非你全缩放了。
    zvvvvv
        3
    zvvvvv  
       2024-05-31 11:43:37 +08:00
    根据页面大小和凭证数量调整凭证大小,然后用绝对路径将图片放置在指定位置
    dongdong12345
        4
    dongdong12345  
       2024-05-31 13:23:41 +08:00   1
    你可以尝试做一个 word 模板,通过 word 模板生成你想要的内容,最后再 word 转 pdf
    kkocdko
        5
    kkocdko  
       2024-05-31 13:36:58 +08:00
    We even never know which libs is used in your project.
    weenhall5
        6
    weenhall5  
       2024-05-31 13:39:17 +08:00
    @kkocdko you are god damn right
    ake0929315
        7
    ake0929315  
    OP
       2024-05-31 14:30:56 +08:00
    @lmq2582609 目前我就是通过 xls 的模板去处理的,但是转成 pdf 后,也会存在一个凭证跨页了的情况。
    ake0929315
        8
    ake0929315  
    OP
       2024-05-31 14:32:11 +08:00
    @perbugwei 这样子太浪费纸张了,这种问题,一般就是会打印全量凭证的情况。
    Nnq
        9
    Nnq  
       2024-05-31 14:48:34 +08:00
    跨页就跨页了吧,偶尔有问题就将就用咯,如果经常超出 那就设施每页少放些凭证不就好了么
    ake0929315
        10
    ake0929315  
    OP
       2024-05-31 15:02:20 +08:00
    @kkocdko 目前就是先生成 excel ,然后把 excel 转成 pdf 的方式的。
    vaynecv
        11
    vaynecv  
       2024-05-31 15:44:59 +08:00
    用过 aspose 的 pdf 工具包,可以设置一页显示,但是宽度过宽貌似会缩放
    参考:
    PdfSaveOptions saveOptiOns= new PdfSaveOptions();
    saveOptions.setOnePagePerSheet(true);
    saveOptions.setAllColumnsInOnePagePerSheet(true);
    ake0929315
        12
    ake0929315  
    OP
       2024-05-31 16:45:38 +08:00
    @vaynecv 好的,这种方式,我先试试,感谢!
    Hozoy
        13
    Hozoy  
       2024-05-31 17:29:40 +08:00
    可以试试 x-easypdf ,用这个好像会自动处理表格换页这种情况。
    Ashe007
        14
    Ashe007  
       2024-05-31 19:04:43 +08:00 via iPhone
    https://www.cnblogs.com/ashet/p/17540963.html
    我转 PDF 是使用 spire.xls.free 这个 lib 非常好用,你可以试试
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:59 PVG 05:59 LAX 14:59 JFK 17:59
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86