spire.pdf for java 9.10.3 已发布。本次更新新增支持设置 aes 加密算法以及重置已有域的名字,同时还增强了 pdf 到 svg、pptx 和 pdfa2b 以及 ofd 到 pdf 的转换功能。此外,一些已知问题也在该版本中得到修复,如加载 pdf 时程序抛"nullpointerexception"的问题。详情请阅读以下内容。
新功能:
- 同步 .net 新的加解密接口到 java,并支持设置 aes 加密算法。
- 支持重置已有域的名字。
pdfencryptionalgorithm.aes
//创建密码安全策略
pdfsecuritypolicy securitypolicy = new pdfpasswordsecuritypolicy("", "123456");
//设置加密算法
securitypolicy.setencryptionalgorithm( pdfencryptionalgorithm.aes_256);
//设置文档权限(所有权),默认是forbidall
securitypolicy.setdocumentprivilege(pdfdocumentprivilege.getforbidall());
securitypolicy.getdocumentprivilege().setallowdegradedprinting(true);
securitypolicy.getdocumentprivilege().setallowmodifyannotations(true);
securitypolicy.getdocumentprivilege().setallowassembly(true);
securitypolicy.getdocumentprivilege().setallowmodifycontents(true);
securitypolicy.getdocumentprivilege().setallowfillformfields(true);
securitypolicy.getdocumentprivilege().setallowprint(true);
pdf.encrypt(securitypolicy);
pdfdocument pdf = new pdfdocument();
//传递打开密码打开pdf文档
pdf.loadfromfile(inputfile, "1234");
//解密
pdf.decrypt();
pdf.savetofile(outputfile, fileformat.pdf);
pdf.dispose();
pdfdocument document=new pdfdocument();
document.loadfromfile("input.pdf");
pdfformwidget formwidget = (pdfformwidget)document.getform();
for (int i = 0; i < formwidget.getfieldswidget().getcount(); i )
{
pdffield field = (pdffield)formwidget.getfieldswidget().get(i);
for (pdffieldwidget widget : (iterable) formwidget.getfieldswidget())
{
if (widget.getname() == "oldname")
{
widget.setname("newname");
}
}
}
document.savetofile("result.pdf",fileformat.pdf);
问题修复:
- 修复了转换pdf到svg后背景不正确的问题。
- 修复了转换pdf到pptx后形状颜色不正确以及内容缺失的问题。
- 修复了转换pdf到pptx后图像被遮挡的问题。
- 修复了转换pdf到pdfa2b后标准验证失败的问题。
- 修复了转换ofd到pdf后图章丢失的问题。
- 修复了加载pdf时程序抛"nullpointerexception"的问题。
获取spire.pdf for java 9.10.3请点击: