百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Spire.Office for Java 8.10.2 已发布

bigegpt 2024-09-10 11:10 3 浏览

Spire.Office for Java 8.10.2 已发布。在该版本中,Spire.XLS for Java 新增支持验证限制编辑的密码是否正确的方法;Spire.PDF for Java新增支持设置 AES 加密算法以及重置已有域的名字;Spire.Doc for Java将 AppendHorizonalLine() 方法同步到 Java中; Spire.Presentation for Java支持转换指定幻灯片到 SVG 以及转换 PPT 到 SVGZ。 此外,一些已知问题也在该版本中得到修复。详情请阅读以下内容。

获取 Spire.Office for Java 8.10.2请点击:

Spire.Office for JAVA | 下载

Spire.XLS for Java

新功能:

  • 新增支持验证限制编辑的密码是否正确的方法
worksheet.checkProtectionPassword(String password)

问题修复:

  • 修复了将Excel转换为PDF后,文档内容不正确的问题。
  • 修复了将Excel转换为图像后,图表中的内容不正确的问题。
  • 修复了将Excel转换为OFD后,表格边框丢失的问题。
  • 修复了加载Excel文档时,程序抛出 “Invalid ValidationAlertType string val” 的问题。
  • 修复了无法将透视表计算域添加为列字段的问题。
  • 修复了透视表计算域的名称自动添加 “Sum of” 前缀的问题。
  • 修复了加载Excel文档时,程序抛出 “java.lang.ClassException” 的问题。

Spire.PDF for Java

新功能:

  • 同步 .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<? extends PdfFieldWidget>) 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.Doc for Java

    新功能:

    • 同步AppendHorizonalLine()方法到JAVA。
    • paragraph.appendHorizonalLine()
    • 支持在转换为非流式布局文档时,将不支持绘制字符的字体通过FontFallbackRule方法中的xml做字体切换。
    Document doc = New Document();
    doc.loadFromFile(inputFile);
    doc.saveFontFallbackRuleSettings(outputFile_xml);
    doc.loadFontFallbackRuleSettings(outputFile_xml);
    doc.saveToFile(outputFile, FileFormat.PDF);
    • 使用说明:
      如果没有 XML需要先通过saveFontFallbackRuleSettings保存一个XML,然后可以通过XML手动编辑字体替换的规则。
      规则现在一共包含三个属性Ranges,FallbackFonts,BaseFonts:
      Ranges对应字符对应的Unicode范围;FallbackFonts对应字符需要替换的字体名称;BaseFonts是文档中字符对应的字体名;
      在编辑XML的时候需要注意在XML中字符查找对应的规则是按从上到下的顺序查找。
      在对XML编辑过后通过loadFontFallbackRuleSettings方法把规则加载进来。

    问题修复:

    • 修复了使用WPS规则转换Word到PDF时程序抛“OutOfMemoryError”的问题。
    • 修复了"楷体_GB2312"字体嵌入失败的问题。
    • 修复了转换RTF到PDF后中文乱码的问题。
    • 修复了保存Word文档后可编辑区域被改变的问题。
    • 修复了修改Word文档后可编辑区域被改变的问题。
    • 修复了设置图片缩放大小的结果不正确的问题。
    • 修复了转换Word 到HTML后表格样式不正确的问题。
    • 修复了转换HTML到Word后字号不正确的问题。
    • 修复了使用executeWidthNestedRegion()方法执行嵌套域填充字段后每个值会显示两次的问题。
    • 修复了转换Word到OFD后文件变大很多的问题。

    Spire.Presentation for Java

    新功能:

    • 支持转换PPT文档到SVGZ格式文档。
    Presentation ppt = new Presentation(); 
    ppt.loadFromFile("input.pptx"); 
    List<byte[]> bytes=ppt.saveToSVGZ(); 
    for (int i=0;i<bytes.size();i++)
    { 
      FileOutputStream fileOutputStream=new FileOutputStream("slide"+i+".svgz");
      fileOutputStream.write(bytes.get(i)); fileOutputStream.flush(); fileOutputStream.close();
    }
  • 支持转换指定的幻灯片到SVGZ格式文档。
  • Presentation ppt = new Presentation();
    ppt.loadFromFile("input.pptx");
    List<byte[]> bytes=ppt.saveToSVG(0,36);
    for (int i=0;i<bytes.size();i++){
        FileOutputStream fileOutputStream=new FileOutputStream("slide"+(i+1)+".svg");
        fileOutputStream.write(bytes.get(i));
        fileOutputStream.flush();
        fileOutputStream.close();
    }

    问题修复:

    • 修复了转换PPT到PDF后内容显示不完整的问题。
    • 修复了转换PPT到PDF后手绘图画丢失的问题。
    • 修复了加载PPT文档时程序抛异常java.lang.NullPointerException的问题。

    相关推荐

    LangChain4j如何自定义文档转换器实现数据清洗?

    LangChain4j提供了3种RAG(Retrieval-AugmentedGeneration,检索增强生成)实现,我们通常在原生或高级的RAG实现中,要对数据进行清洗,也就是将外接...

    Java 8 Stream API 详解(java stream.)

    Java8StreamAPI详解一、概述在Java8中,StreamAPI是一个重要的新特性。它为处理集合(如List、Set等)中的元素提供了一种高效且富有表现力的方式。Str...

    Java修炼终极指南:185 使用 Stream 过滤嵌套集合

    这是面试中的一个经典问题,通常从一个模型开始,如下所示(我们假设集合是一个List):publicclassAuthor{privatefinalStringname;pri...

    java8的stream使用小示例(java stream())

    据JetBrains发布的2021年开发者生态系统调查,Java8在java使用的版本中仍然是当前最流行的版本。72%的专业开发人员使用Java8作为其在java开发中主要编程语言版本。现...

    Node.js Stream - 实战篇(node.js in action)

    本文转自“美团点评技术团队”http://tech.meituan.com/stream-in-action.html背景前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介...

    Java Stream:集合处理的api(java 集合操作)

    JavaStream流:高效集合处理的函数式编程利器一、什么是JavaStream?Java8引入的StreamAPI是一套用于处理集合数据的流式编程接口,通过函数式风格(无副作用的...

    去除 List 中的重复元素,你知道几种实现方法?

    去除List中重复元素,这在实际编程或面试中经常遇到,每个人都有习惯的写法吧,这里抛砖引玉,汇总了一些实现方案,开拓思路。准备数据假设数组中有10个数据,可能有重复,需要将重复的数据从数组中去掉。pu...

    Java开发者必看!Stream流式编程10个爆款技巧,让你代码优雅飞起

    为什么你的Java代码总像拧巴的麻绳?掌握这10个Stream实战技巧,代码效率与优雅度将产生质的飞跃。以下案例均来自真实电商系统场景,带你感受流式编程的降维打击!一、过滤与映射组合拳(Filter...

    leetcode每日一题之存在重复元素(存在重复元素 iii)

    题:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。比如:输入:[1,2,3,1]输出:true...

    告别for循环!揭秘Stream API如何让你的代码简洁度提升300%

    一、当传统循环遇上现代需求真实场景复现:某电商平台需要处理10万条订单数据,要求:筛选出金额>500的订单提取用户ID并去重统计VIP用户数量传统实现方案://常规写法Set<Long...

    Java中List去重的N种方法:从基础到优雅

    Java中List去重的N种方法:从基础到优雅在日常的Java开发中,我们经常会遇到需要对List集合去重的情况。无论是为了清理重复的数据,还是为了优化算法性能,掌握多种去重方式都是一项非常实用的技能...

    Java Stream流没用过?常用高频方法

    概念Stream流是Java8添加的以一种链式调用的方法处理数据,主要侧重于计算。具有以下相关特点代码简洁链式调用Stream常用方法1.将数组变为当作List操作String[]strArr=...

    核医学专业名词索引(M-R)(核医学重点归纳)

    M吗啡(morphia)埋藏式心律转复除颤器(implantablecardioverterdefibrillator,ICD)麦角骨化醇(VD2,calciferol)脉冲堆积(pulsepi...

    CodeMeter 新版发布(codesigner下载)

    威步于2022年8月4日发布CodeMeter7.50及CodeMeter软件保护套装11.10,以下为新版内容。CodeMeterRuntime7.50StreamingSIMDExten...

    世界上最小的五轴铣床Pocket NC(最小的五轴加工中心)

    PocketNC,由MIT学生研制,还有说法是这款产品的设计者是来自美国蒙大拿州的一对极客夫妻。目前主要有两款产品:PocketNCV2-50,9000美元;PocketNCV2-10,60...