根据查询到的数据生成两个PDF,然后将两个PDF合并为一个PDF后转为base64编码,怎样才能在不生成本地临时文件的情况下完成操作呢
Maven依赖:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.pdf</artifactId>
<version>4.6.8</version>
</dependency>
</dependencies>
合并PDF到流:
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfDocumentBase;
import java.io.ByteArrayOutputStream;
public class MergePDFs {
public static void main(String[] args) throws IOException {
String[] files = new String[]
{
"C:\\Users\\Administrator\\Desktop\\1.pdf",
"C:\\Users\\Administrator\\Desktop\\2.pdf",
};
PdfDocumentBase pdf = PdfDocument.mergeFiles(files); //合并PDF文件,也可以传“流"参数
ByteArrayOutputStream bos = new ByteArrayOutputStream();
pdf.save(bos); //保存到流
//转为base 64
byte[] encoded=java.util.Base64.getEncoder().encode(bos.toByteArray());
//关闭流
bos.close();
}
}
将2个PDF的模板放一起?数据一起扔进去生成。