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

Spire.Cloud 纯前端文档控件

本文介绍如何使用Spire.Presentation for Java将ZIP文件嵌入PowerPoint文档中。

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

import javax.imageio.ImageIO;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

public class InsertZip {

    public static void main(String[] args) throws Exception {

        //创建Presentation对象
        Presentation presentation = new Presentation();
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //获取第一个幻灯片
        ISlide slide = presentation.getSlides().get(0);

        //加载一个zip文件并转换为byte[]对象
        String filePath = "C:\\Users\\Administrator\\Desktop\\sample.zip";
        File zipFile = new File(filePath);
        FileInputStream inputStream = new FileInputStream(zipFile);
        byte[] data = new byte[(int) zipFile.length()];
        inputStream.read(data, 0, data.length);

        //加载一个图片作为zip文件的展示图片
        File file = new File("C:\\Users\\Administrator\\Desktop\\winrar-icon.png");
        BufferedImage image = ImageIO.read(file);
        IImageData oleImage = presentation.getImages().append(image);
        
        //将zip文件嵌入第一个幻灯片
        Rectangle2D rect = new Rectangle2D.Float(60, 60, image.getWidth(), image.getHeight());
        IOleObject oleObject = slide.getShapes().appendOleObject("zip", data, rect);
        oleObject.getSubstituteImagePictureFillFormat().getPicture().setEmbedImage(oleImage);
        oleObject.setProgId("Package");
        
        //保存文档
        presentation.saveToFile("output/InsertZip.pptx", FileFormat.PPTX_2013);
    }
}

Java 在 PowerPoint 文档中嵌入 ZIP 文件

当我们与同事协同编辑一份 Excel 文档时,常会遇到这样一种情况:若 Excel 文档数据存在问题,我们就需要对文档中各个部分或某些内容进行修改。通常我们就会用到修订功能。因为使用修订可以直观地跟踪到文档的修改情况,看出是哪位作者对文档进行了修改,以及修改的正确内容。如果对文档拥有完全权限,则可以接受或拒绝每个修订。在本文中,您将学习如何使用 Spire.XLS for Java 一次接受或拒绝所有修订

安装 Spire.XLS for Java

首先,您需要在 Java 程序中添加 Spire.Xls.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.xls</artifactId>
        <version>15.11.3</version>
    </dependency>
</dependencies>

接受工作表中的修订

您可以使用 Workbook.hasTrackedChanegs() 方法来确定工作簿是否已修订。如果是,可以使用 Workbook.acceptAllTrackedchanges() 方法一次接受所有修订。以下是在 Excel 工作簿中接受修订的具体步骤:

  • Java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class AcceptTrackedChanges {

    public static void main(String[] args) {

        //创建一个Workbook对象
        Workbook wb = new Workbook();

        //加载示例 Excel 文档
        wb.loadFromFile("test.xlsx");

        //确认工作簿是否已修订
        if (wb.hasTrackedChanges())
        {
            //接受修订
            wb.acceptAllTrackedChanges();
        }

        //保存文件
        wb.saveToFile("AcceptChanges.xlsx", FileFormat.Version2013);
    }
}

Java 接受或拒绝 Excel 中的修订

拒绝工作表中的修订

如果已确定修订存在于工作簿中,您可以使用 Workbook.rejectAllTrackedChanges() 方法拒绝工作表中的修订。以下是实现此目的的步骤:

  • Java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class RejectTrackedChanges {

    public static void main(String[] args) {

        //创建一个Workbook对象
        Workbook wb = new Workbook();

        //加载示例 Excel 文档
        wb.loadFromFile("test.xlsx");

        //确认工作簿是否已修订
        if (wb.hasTrackedChanges())
        {
            //拒绝修订
            wb.rejectAllTrackedChanges();
        }

        //保存文件
        wb.saveToFile("RejectChanges.xlsx", FileFormat.Version2013);
    }
}

Java 接受或拒绝 Excel 中的修订

申请临时 License

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

Spire.XLS for Java 4.8.1已发布。本次更新增强了转换Excel到PDF的功能,并且还修复了添加HTML字串符时出现的问题。详情请阅读以下内容。

问题修复:


下载Spire.XLS for Java 4.8.1请点击:

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

本文将介绍如何使用Spire.XLS for .NET转换Excel中的形状和SmartArt图形到图片。

原Excel文档:

C#/VB.NET 转换 Excel 中的形状和 SmartArt 图形到图片

C#
using Spire.Xls;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;

namespace Convert_Shapes_and_SmartArt_to_Image
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook对象
            Workbook workbook = new Workbook();
            //加载Excel文档
            workbook.LoadFromFile("Sample.xlsx");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //创建SaveShapeTypeOption对象
            SaveShapeTypeOption shapelist = new SaveShapeTypeOption();
            //保存工作表中的形状和SmartArt图形到图片
            List images = sheet.SaveShapesToImage(shapelist);

            //保存图片到指定路径
            int index = 0;
            foreach (Image img in images)
            {
                img.Save("Image/" + "toImage" + index + ".Png", ImageFormat.Png);
                index++;
            }
        }
    }
}
VB.NET
Imports Spire.Xls
Imports System.Collections.Generic
Imports System.Drawing.Imaging

Namespace Convert_Shapes_and_SmartArt_to_Image
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建Workbook对象
            Dim workbook As Workbook = New Workbook()
            '加载Excel文档
            workbook.LoadFromFile("Sample.xlsx")

            '获取第一个工作表
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '创建SaveShapeTypeOption对象
            Dim shapelist As SaveShapeTypeOption = New SaveShapeTypeOption()
            '保存工作表中的形状和SmartArt图形到图片
            Dim images As List(Of Bitmap) = sheet.SaveShapesToImage(shapelist)

            '保存图片到指定路径
            Dim index As Integer = 0

            For Each img As Image In images
                img.Save("Image/" & "toImage" & index & ".Png", ImageFormat.Png)
                index += 1
            Next
        End Sub
    End Class
End Namespace

转换结果:

C#/VB.NET 转换 Excel 中的形状和 SmartArt 图形到图片

项目符号和编号是放在文本前的点或其它符号,起强调作用。合理使用项目符号和编号,可以使文档的层次结构更清晰、更有条理。通过组织良好的列表,读者可以轻松了解每个项目的结构和要点。 本文将介绍如何使用 Spire.Doc for 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>13.12.2</version>
    </dependency>
</dependencies>

从 Word 文档中的现有文本创建项目符号列表和编号列表

Spire.Doc for Java 提供了 ListFormat.applyBulletStyle()ListFormat.applyNumberedStyle() 两种方法,用于创建项目符号和编号列表。

创建项目符号和编号列表的详细步骤如下:

  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.formatting.ListFormat;

public class CreateLists {
    public static void main(String[] args) {

        //创建 Document 类的对象
        Document document = new Document();

        //加载 Word 文档
        document.loadFromFile("测试文档.docx");

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

        //循环遍历第 4 到第 6 段
        for(int i = 3; i <= 5; i++){
            Paragraph para = section.getParagraphs().get(i);
            ListFormat listFormat = para.getListFormat();

            //应用项目符号列表样式
            listFormat.applyBulletStyle();

            //设置列表位置
            listFormat.getCurrentListLevel().setNumberPosition(-10);
        }

        //循环遍历第 8 到第 10 段
        for(int i = 7; i <= 9; i++){
            Paragraph para = section.getParagraphs().get(i);
            ListFormat listFormat = para.getListFormat();

            //应用编号列表样式
            listFormat.applyNumberedStyle();

            //设置列表位置
            listFormat.getCurrentListLevel().setNumberPosition(-10);

        }

        //保存文件
        document.saveToFile("创建列表.docx", FileFormat.Docx_2013);
    }
}

Java 从 Word 文档中的现有文本创建项目符号列表或编号列表

申请临时 License

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

本文将介绍如何使用Spire.XLS for .NET加载、编辑和保存WPS表格(.et/.ett格式)文档。

原WPS表格文档:

C#/VB.NET 加载、编辑和保存 WPS 表格文档

C#
using Spire.Xls;

namespace Load_Edit_And_Save_WPS_Excel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook实例
            Workbook workbook = new Workbook();
            //加载WPS表格文档
            workbook.LoadFromFile("学生个人信息登记表.et");
            //workbook.LoadFromFile("学生个人信息登记表.ett");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //向工作表的指定单元格填充数据
            sheet.Range["C11"].Text = "广东省珠海市XX街道XX号";
            sheet.Range["C12"].Text = "广东省珠海市XX街道XX号";
            sheet.Range["C13"].Text = "1598523XXXX";
            sheet.Range["C14"].Text = "daokeer@ 163.com";

            //保存文档为.et格式
            workbook.SaveToFile("WPS.et", FileFormat.ET);
            //保存文档为.ett格式
            //wb.SaveToFile("WPS.ett", FileFormat.ETT);
        }
    }
}
VB.NET
Imports Spire.Xls

Namespace Load_Edit_And_Save_WPS_Excel
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建Workbook实例
            Dim workbook As Workbook = New Workbook()
            '加载WPS表格文档
            workbook.LoadFromFile("学生个人信息登记表.et")
            'workbook.LoadFromFile("学生个人信息登记表.ett");

            '获取第一个工作表
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '向工作表的指定单元格填充数据
            sheet.Range("C11").Text = "广东省珠海市XX街道XX号"
            sheet.Range("C12").Text = "广东省珠海市XX街道XX号"
            sheet.Range("C13").Text = "1598523XXXX"
            sheet.Range("C14").Text = "daokeer@ 163.com"

            '保存文档为.et格式
            workbook.SaveToFile("WPS.et", FileFormat.ET)
            '保存文档为.ett格式
            'wb.SaveToFile("WPS.ett", FileFormat.ETT);
        End Sub
    End Class
End Namespace

结果文档:

C#/VB.NET 加载、编辑和保存 WPS 表格文档

Spire.PDF for Java 支持排列或调整 PDF 文档中的页面顺序,如:将原有 PDF 文档中的 1、2、3 顺位顺序的页面调整为 3、2、1 的页面顺序。下面,将通过 Java 程序代码展示实现页面顺序调整的方法及步骤。

安装 Spire.PDF for Java

首先,您需要在 Java 程序中添加 Spire.Pdf.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.pdf</artifactId>
        <version>11.11.11</version>
    </dependency>
</dependencies>

调整页面顺序

Spire.PDF for Java 提供了 PdfDocument.getPages().reArrange(int[] orderArray) 方法用于调整页面顺序,下面是主要代码步骤:

  • Java
import com.spire.pdf.PdfDocument;

public class ReArrangePage {
    public static void main(String[] args) {
        //加载PDF文档
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("http://cdn.e-iceblue.cn/sample.pdf");

        //重新排列PDF页面顺序
        pdf.getPages().reArrange(new int[]{1, 3, 0, 2,4});

        //保存PDF
        pdf.saveToFile("result.pdf");
        pdf.close();
    }
}

调整后的页面效果:

Java 重新排列 PDF 页面顺序

申请临时 License

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

Spire.XLS 11.8.0已发布。该版本支持转换SmartArt/Shape为图片,支持加载保存et/ett格式的文档的功能。此外,本次更新还增强了转换Excel/HTML到PDF的功能。详情请阅读以下内容。

新功能:

问题修复:


下载Spire.XLS 11.8.0请点击:

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

本文介绍使用Spire.PDF for .NET在PDF文档中添加可视化数字签名和不可见数字签名的方法 。

1、添加可视化数字签名

C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Interactive.DigitalSignatures;
using System.Drawing;
using System.Security.Cryptography.X509Certificates;

namespace VisibleDigitalSignature
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载PDF测试文档
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("http://cdn.e-iceblue.cn/sample.pdf");

            //获取PDF文档中的第二页
            PdfPageBase page = pdf.Pages[1];

            //在页面中的指定位置添加可视化签名
            X509Certificate2 x509 = new X509Certificate2("cer.pfx", "e-iceblue");
            PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, x509);
            IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();            
            signatureMaker.MakeSignature("signName_" , page, page.ActualSize.Width-300,page.ActualSize.Height-300,150,150, signatureAppearance);

            //保存文档
            pdf.SaveToFile("VisibleDigitalSignature.pdf", FileFormat.PDF);
            System.Diagnostics.Process.Start("VisibleDigitalSignature.pdf");
            pdf.Close();   
            
        }
        public class PdfCustomSignatureAppearance : IPdfSignatureAppearance
        {
            public void Generate(PdfCanvas g)
            {
                float fontSize = 15;
                PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", fontSize), true);
                float lineHeight = fontSize; g.DrawString("Sign Here:", font, PdfBrushes.Black, new PointF(0, 0));
                g.DrawImage(PdfImage.FromFile("sign.png"), new PointF(20, 20));
            }
        }

    }
}
VB.NET
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Interactive.DigitalSignatures
Imports System.Drawing
Imports System.Security.Cryptography.X509Certificates

Namespace VisibleDigitalSignature
	Class Program
		Private Shared Sub Main(args As String())
			'加载PDF测试文档
			Dim pdf As New PdfDocument()
			pdf.LoadFromFile(""sample.pdf"")

			'获取PDF文档中的第二页
			Dim page As PdfPageBase = pdf.Pages(1)

			'在页面中的指定位置添加可视化签名
			Dim x509 As New X509Certificate2(""cer.pfx"", ""e-iceblue"")
			Dim signatureMaker As New PdfOrdinarySignatureMaker(pdf, x509)
			Dim signatureAppearance As IPdfSignatureAppearance = New PdfCustomSignatureAppearance()
			signatureMaker.MakeSignature(""signName_"", page, page.ActualSize.Width - 300, page.ActualSize.Height - 300, 150, 150,
				signatureAppearance)

			'保存文档
			pdf.SaveToFile(""VisibleDigitalSignature.pdf"", FileFormat.PDF)
			System.Diagnostics.Process.Start(""VisibleDigitalSignature.pdf"")
			pdf.Close()

		End Sub
		Public Class PdfCustomSignatureAppearance
			Implements IPdfSignatureAppearance
			Public Sub Generate(ByVal g As PdfCanvas) Implements IPdfSignatureAppearance.Generate
				Dim fontSize As Single = 15
				Dim font As New PdfTrueTypeFont(New Font(""Arial"", fontSize), True)
				Dim lineHeight As Single = fontSize
				g.DrawString(""Sign Here:"", font, PdfBrushes.Black, New PointF(0, 0))
				g.DrawImage(PdfImage.FromFile(""sign.png""), New PointF(20, 20))
			End Sub
		End Class
	End Class
End Namespace

可视化数字签名效果:

C#/VB.NET 在 PDF 中添加可视化和不可见数字签名

2、添加不可见数字签名

C#
using Spire.Pdf;
using Spire.Pdf.Interactive.DigitalSignatures;
using System.Security.Cryptography.X509Certificates;

namespace InvisibleDigitalSignature
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化一个PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            //加载PDF文档
            pdf.LoadFromFile(""sample.pdf"");

            //添加签名
            X509Certificate2 x509 = new X509Certificate2(@""cer.pfx"", ""e-iceblue"");
            PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, x509);
            signatureMaker.MakeSignature(""signName"");           
            //保存文档
            pdf.SaveToFile(""result.pdf"", FileFormat.PDF);
            System.Diagnostics.Process.Start(""result.pdf"");
        }
    }
}
VB.NET
Imports Spire.Pdf
Imports Spire.Pdf.Interactive.DigitalSignatures
Imports System.Security.Cryptography.X509Certificates

Namespace InvisibleDigitalSignature
	Class Program
		Private Shared Sub Main(args As String())
			'初始化一个PdfDocument实例
			Dim pdf As New PdfDocument()

			'加载PDF文档
			pdf.LoadFromFile(""sample.pdf"")

			'添加签名
			Dim x509 As New X509Certificate2(""cer.pfx"", ""e-iceblue"")
			Dim signatureMaker As New PdfOrdinarySignatureMaker(pdf, x509)
			signatureMaker.MakeSignature(""signName"")

			'保存文档
			pdf.SaveToFile(""result.pdf"", FileFormat.PDF)
			System.Diagnostics.Process.Start(""result.pdf"")
		End Sub
	End Class
End Namespace

数字签名效果:

C#/VB.NET 在 PDF 中添加可视化和不可见数字签名

尊敬的新老客户:

多年以来,我司一直为客户提供免费的技术支持服务。随着用户群体的增长,咨询的问题数越来越多,我们很难主观地给这些问题分配一个合理的优先级。因此,我们上线了分级服务来确保购买客户的问题能够被妥善处理。

为了满足客户的不同需求,我们保留了免费服务(服务内容较之前的免费服务有所调整),推出了两种付费服务:金牌服务和钻石服务。免费服务仍然随产品赠送,只要购买授权即享有一年的免费服务。如果您需要优先的技术支持 ,Developer Subscription 用户可选择金牌服务,Developer OEM Subscription 及以上用户可选择钻石服务。具体服务内容参考链接:

https://www.e-iceblue.cn/service.html


其他事项说明:


成都冰蓝科技感谢您的理解与支持!