冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

Spire.Doc 8.6.3已发布。该版本主要修复了将Word文档转为PDF、HTML,更新目录域以及替换文档时出现的一些问题。问题修复详情如下。

问题修复:


获取Spire.Doc 8.6.3,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html

Spire.Presentation 5.6.1已于今日发布。该版本主要修复了一些在转换PPT到PDF以及加载、操作、保存文档时出现的问题。详情见下文。

问题修复:


获取Spire.Presentation 5.6.1,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html

本文将介绍如何使用Spire.XLS for Java提取Excel中的OLE对象。

import com.spire.xls.*;
import com.spire.xls.core.IOleObject;

import java.io.*;

public class ExtractOLEObjects {
    public static void main(String[] args){
        //创建Workbook实例
        Workbook workbook = new Workbook();

        //加载Excel文档
        workbook.loadFromFile("OLEObjectsExample.xlsx");

        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //提取工作表中的OLE对象
        if (sheet.hasOleObjects()) {
            for (int i = 0; i < sheet.getOleObjects().size(); i++) {
                IOleObject object = sheet.getOleObjects().get(i);
                OleObjectType type = sheet.getOleObjects().get(i).getObjectType();
                switch (type) {
                    //Word文档
                    case WordDocument:
                        byteArrayToFile(object.getOleData(), "output/extractOLE.docx");
                        break;
                    //PowerPoint文档
                    case PowerPointSlide:
                        byteArrayToFile(object.getOleData(), "output/extractOLE.pptx");
                        break;
                    //PDF文档
                    case AdobeAcrobatDocument:
                        byteArrayToFile(object.getOleData(), "output/extractOLE.pdf");
                        break;
                    //Excel文档
                    case ExcelWorksheet:
                        byteArrayToFile(object.getOleData(), "output/extractOLE.xlsx");
                        break;
                }
            }
        }
    }
    public static void byteArrayToFile(byte[] datas, String destPath) {
        File dest = new File(destPath);
        try (InputStream is = new ByteArrayInputStream(datas);
             OutputStream os = new BufferedOutputStream(new FileOutputStream(dest, false));) {
            byte[] flush = new byte[1024];
            int len = -1;
            while ((len = is.read(flush)) != -1) {
                os.write(flush, 0, len);
            }
            os.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

提取结果:

Java 提取 Excel 中的 OLE 对象

Spire.Presentation for Java 3.6.0现已发布。该版本主要修复了一些PPT转Image及操作PPT文档时出现的问题。详情参见下文。

问题修复:


获取Spire.Presentation for Java 3.6.0,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html

本文介绍如何使用Spire.XLS for Java根据Excel中某列值的大小对Excel数据区域进行排序。

import com.spire.xls.*;

public class SortData {

    public static void main(String[] args) {

        //创建Workbook对象
        Workbook workbook = new Workbook();

        //加载测试文档
        workbook.loadFromFile("G:\\360MoveData\\Users\\Administrator\\Desktop\\学生成绩表.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //指定要排序的列号(列号从0开始)以及排序方式(升序或降序)
        workbook.getDataSorter().getSortColumns().add(7, SortComparsionType.Values, OrderBy.Descending);

        //指定要排序的数据区域
        workbook.getDataSorter().sort(sheet.getCellRange("A1:H9"));

        //保存文档
        workbook.saveToFile("SortData.xlsx", ExcelVersion.Version2013);
    }
}

Java Excel 数据排序

该文将介绍如何使用Spire.Presentation for Java移除幻灯片中的文本和图片水印。

示例文档:

Java 删除 PowerPoint 文本和图片水印

import com.spire.presentation.*;
import com.spire.presentation.drawing.*;

public class removeTextOrImageWatermark {

    public static void main(String[] args) throws Exception {
        //加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("Sample.pptx");

        //移除文本水印
        for (int i = 0; i < presentation.getSlides().getCount(); i++)
        {
            for (int j = 0; j < presentation.getSlides().get(i).getShapes().getCount(); j++)
            {
                if (presentation.getSlides().get(i).getShapes().get(j) instanceof IAutoShape)
                {
                    IAutoShape shape = (IAutoShape)presentation.getSlides().get(i).getShapes().get(j);
                    if (shape.getTextFrame().getText().contains("E-iceblue"))
                    {
                        presentation.getSlides().get(i).getShapes().remove(shape);
                    }
                }
            }
        }

        //移除图片水印
        for (int i = 0; i < presentation.getSlides().getCount(); i++)
        {
            presentation.getSlides().get(i).getSlideBackground().getFill().setFillType(FillFormatType.NONE);
        }

        //保存文档
        presentation.saveToFile("removeTextOrImageWatermark.pptx";, FileFormat.PPTX_2013);
    }
}

效果图:

Java 删除 PowerPoint 文本和图片水印

Word 文档的页眉和页脚分别位于文档页面的顶部和底部,用于显示页码、文档标题和作者等信息。但当需要打印文档或共享文档时,可能需要删除这些信息以保护隐私。此外,页眉和页脚会占用打印纸上宝贵的空间,并且可能会干扰文档的整体格式。删除页眉页脚可以腾出页面空间,并确保文档格式不会因其变得混乱。本文将演示如何使用 Spire.Doc for Java 在 Java 程序中删除 Word 文档的页眉和页脚。

安装 Spire.Doc for Java

首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。您可以从此链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>14.9.5</version>
    </dependency>
</dependencies>

Java 按类型删除页眉页脚

在 Word 文档中,可以为首页、奇数页和偶数页设置不同的页眉和页脚。这些页眉页脚类型可以通过 HeaderFooter.getByHeaderFooterType(hfType) 方法获取,并通过 HeaderFooter.getChildObjects().clear() 方法删除。

以下是枚举及其代表的页眉和页脚类型的列表。

枚举 描述
HeaderFooterType.Header_First_Page 代表首页页眉。
HeaderFooterType.Footer_First_Page 代表首页页脚。
HeaderFooterType.Header_Odd 代表奇数页页眉。
HeaderFooterType.Footer_Odd 代表奇数页页脚。
HeaderFooterType.Header_Even 代表偶数页页眉。
HeaderFooterType.Footer_Even 代表偶数页页脚。

以下是详细操作步骤:

  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.HeaderFooterType;

public class removeHeaderFooter {
    public static void main(String[] args) {
        //创建一个Document类的对象
        Document doc = new Document();

        //载入Word文档
        doc.loadFromFile("示例.docx");

        //获取文档第一节
        Section section = doc.getSections().get(0);

        //获取首页页眉并清除其中的内容
        HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page);
        header.getChildObjects().clear();

        //获取首页页脚并清除其中的内容
        HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page);
        footer.getChildObjects().clear();

        //获取奇数页的页眉页脚并清除其中的内容
        //HeaderFooter header1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd);
        //header1.getChildObjects().clear();
        //HeaderFooter footer1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd);
        //footer1.getChildObjects().clear();

        //获取偶数页的页眉页脚并清除其中的内容
        //HeaderFooter header2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even);
        //header2.getChildObjects().clear();
        //HeaderFooter footer2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even);
        //footer2.getChildObjects().clear();

        //保存文档
        doc.saveToFile("按页眉页脚类型移除.docx", FileFormat.Auto);
        doc.dispose();
    }
}

Java 删除 Word 文档中的页眉页脚

Java 按节删除页眉页脚

不同节可能有不同的页眉页脚。要删除某个节的页眉和页脚,可以使用 Document.getSections().get() 方法获取该节,然后使用 HeaderFooter.getChildObjects().clear() 方法删除其中的页眉和页脚。

需要注意的是,删除一节中的页眉和页脚内容后,该节的页眉页脚将自动变更为上一节的页眉页脚。因此,有必要在删除页眉和页脚后添加一个空白段落,以防止其自动变更。

具体步骤如下:

  • Java
import com.spire.doc.Document;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;

public class removeHeaderFooterSection {
    public static void main(String[] args) {
        //创建一个Document类的对象
        Document doc = new Document();

        //载入Word文档
        doc.loadFromFile("示例1.docx");

        //获取文档第二节
        Section section = doc.getSections().get(1);

        //获取该节的页眉,移除其中的内容,然后在其中添加一个空白段落
        HeaderFooter header1 = section.getHeadersFooters().getHeader();
        header1.getChildObjects().clear();
        header1.addParagraph();

        //获取该节的页脚,移除其中的内容,然后在其中添加一个空白段落
        HeaderFooter footer1 = section.getHeadersFooters().getFooter();
        footer1.getChildObjects().clear();
        footer1.addParagraph();

        //保存文档
        doc.saveToFile("按节删除页眉页脚.docx");
        doc.dispose();
    }
}

Java 删除 Word 文档中的页眉页脚

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.Doc for Java 3.5.5已发布。该版本在文档打印质量上做了改进和提升,并修复了在转换Word为PDF、 提取公式值以及加载文档时出现的一些问题。新功能及问题修复详情如下。

新功能:

问题修复:


获取Spire.Doc for Java 3.5.5,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-JAVA.html

本文将介绍如何使用Spire.XLS for Java将Excel工作表中的单列文本拆分为多列。

原Excel文档:

Java 实现 Excel 文本分列

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ConvertTextToColumns {
    public static void main(String[] args){
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("Template.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        String[] splitText = null;
        String text = null;
        //将工作表中第一列的文本根据分隔符(空格)拆分为多列
        for (int i = 1; i < sheet.getLastRow()+1; i++)
        {
            text = sheet.getRange().get(i, 1).getText();
            splitText = text.split(" ");
            for (int j = 0; j < splitText.length; j++)
            {
                sheet.getRange().get(i, 1 + j + 1).setText(splitText[j]);
            }
        }

        //保存结果文档
        workbook.saveToFile("ConvertTextToColumns.xlsx", ExcelVersion.Version2013);
    }
}

结果文档:

Java 实现 Excel 文本分列

Spire.XLS for Java 3.5.7 现已发布。该版本支持拷贝单元格时只保留公式值,并新增了转换Excel到HTML的方法。除此之外,一些在转换Excel到图片及复制sheet时出现的问题也得以成功解决。详情见下文。

新功能:

问题修复:


获取Spire.XLS for Java 3.5.7,请点击:

https://www.e-iceblue.cn/Downloads/Spire-XLS-JAVA.html