【java批量导出pdf】优化方案_java pdf导出大量数据的优化

1.对大量的数据进行分段处理;(向上取余)
代码示例:

public List<List<FrApplyGuaranteeInfo>> segmentList(List<FrApplyGuaranteeInfo> list ,int segmentSize) {
        int limit = (list.size() + segmentSize - 1) / segmentSize;
        List<List<FrApplyGuaranteeInfo>> segmentList =
                Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().
                        skip(a * segmentSize).limit(segmentSize).parallel().collect(Collectors.toList())).collect(Collectors.toList());
        return segmentList;
    }

2.通过threadPoolTaskExcetor.submit()方法进行多线程任务处理
示例代码:
第一步分段处理后的list

lists.forEach({list->{
   threadPoolExecutor.submit(new xxxxTask());
})

第二步:具体的task需要实现callalbe
示例代码如下:

@Slf4j
public class Dow
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
去除边框可以通过设置PDF页面的边距来实现。下面是一个Java代码示例,使用iText库来导出PDF并去除边框: ```java import com.itextpdf.io.font.FontConstants; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.borders.Border; import com.itextpdf.layout.borders.SolidBorder; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.property.TextAlignment; import java.io.File; import java.io.IOException; public class PDFExporter { // 导出PDF方法 public static void exportPDF(File file, String content) throws IOException { // 创建PdfWriter实例 PdfWriter writer = new PdfWriter(file); // 创建PdfDocument实例 PdfDocument pdf = new PdfDocument(writer); // 创建Document实例 Document document = new Document(pdf, new Rectangle(36, 36, 559, 806)); // 设置边距 document.setMargins(0, 0, 0, 0); // 添加内容 Paragraph paragraph = new Paragraph(content); paragraph.setBorder(Border.NO_BORDER); paragraph.setTextAlignment(TextAlignment.LEFT); paragraph.setFontSize(12f); paragraph.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA)); document.add(paragraph); // 关闭document和pdf对象 document.close(); pdf.close(); } } ``` 在上面的代码中,我们通过设置Document对象的边距来去除PDF页面的边框,并使用Paragraph对象来添加内容。注意,我们还将Paragraph对象的边框设置为NO_BORDER,以确保内容和页面之间没有边框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值