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

Spire.Cloud 纯前端文档控件

制作 PDF 文档时,如果我们只使用黑色字体,有时会让文章变得单调乏味。我们可以为不同的文字设置不同的字体颜色,使制作的文档更美观、更生动,增强文档对读者的吸引力。本文将介绍如何使用 Spire.PDF for Java 通过代码设置 PDF 文档中文字的字体颜色。

安装 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>12.9.0</version>
    </dependency>
</dependencies>

设置 PDF 文档中文字的字体颜色

Spire.PDF for Java 提供了 PdfSolidBrush 类以设置文本的绘制颜色,支持以特定的 RGB 值或 HTML 颜色代码来定义绘制颜色。详细操作步骤如下:

  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfRGBColor;
import com.spire.pdf.graphics.PdfSolidBrush;
import com.spire.pdf.graphics.PdfTrueTypeFont;

import java.awt.*;

public class setFontColor {
    public static void main(String[] args) {
        //创建 PdfDocument 类的对象
        PdfDocument doc = new PdfDocument();

        //添加一个页面
        PdfPageBase page = doc.getPages().add();

        //设置位置
        float y = 30;

        //创建 PdfSolidBrush 类的对象并设置颜色
        PdfRGBColor rgb1 = new PdfRGBColor(Color.green);
        PdfSolidBrush brush1 = new PdfSolidBrush(rgb1);

        //以RGB值设置颜色
        PdfRGBColor rgb2 = new PdfRGBColor(0,197,205);
        PdfSolidBrush brush2 = new PdfSolidBrush(rgb2);

        //以HTML代码设置颜色
        Color color = Color.decode("#A52A2A");
        PdfSolidBrush brush3 = new PdfSolidBrush(new PdfRGBColor(color));

        //创建 PdfTrueTypeFont 类的对象
        Font font = new Font("华文中宋", java.awt.Font.BOLD, 14);
        PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font);

        //绘制文本
        page.getCanvas().drawString("设置绘制颜色", trueTypeFont, brush1, 0, (y = y + 30f));
        page.getCanvas().drawString("以RGB值设置颜色", trueTypeFont, brush2, 0, (y = y + 50f));
        page.getCanvas().drawString("以HTML颜色代码设置颜色", trueTypeFont, brush3, 0, (y = y + 60f));

        //保存文档
        doc.saveToFile("设置字体颜色.pdf");
    }
}

Java 设置 PDF 文档中文字的字体颜色

申请临时 License

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

Excel 中,我们可以通过调整数据列顺序来实现将批量数据进行布局调整,以达到表格设计美观性或者表格数据设计得严谨性等目的。本文,将通过使用 Spire.XLS for Java 来实现如何调整列顺序。以下是具体步骤及方法。

安装 Spire.XLS for Java

首先,您需要在 Java 程序中添加 Spire.XLS for Java 文件作为依赖项。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>16.9.2</version>
    </dependency>
</dependencies>

调整列顺序

以下是调整列顺序的主要代码步骤:

  • Java
import com.spire.xls.*;

public class ChangeColumnOrder {
    public static void main(String[] args) {
        //创建Workbook类的对象
        Workbook workbook = new Workbook();

        //加载Excel文件
        workbook.loadFromFile( "test.xlsx");

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

        //设置新的列顺序
        int[] newColumnOrder = new int[]{3, 0, 1, 5, 7, 4,2,8,6};

        //添加一个临时工作表
        Worksheet newSheet = workbook.getWorksheets().add("temp");

        //将数据从第一个工作表复制到临时工作表
        newSheet.copyFrom(worksheet);

        //循环遍历newColumnOrder数组
        for (int i = 0; i < newColumnOrder.length; i++) {

            //从临时工作表复制列到第一个工作表
            newSheet.getColumns()[newColumnOrder[i]].copy(worksheet.getColumns()[i],true,true);

            //将第一个工作表的某一列的宽度设置为临时工作表的宽度
            worksheet.getColumns()[i].setColumnWidth(newSheet.getColumns()[newColumnOrder[i]].getColumnWidth());
        }

        //删除临时表格
        workbook.getWorksheets().remove(newSheet);

        //将工作簿另存为文件
        workbook.saveToFile("ChangeColumnOrder.xlsx", FileFormat.Version2010);
    }
}

Java 调整 Excel 列顺序

申请临时 License

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

XPS(XML Paper Specification)是一种固定布局的文档格式,旨在保持文档的保真度并提供与设备无关的文档外观。XPS 类似于 PDF,但 XPS 基于 XML 而不是 PostScript。如果想要将 Word 文档保存为固定布局的文件格式,XPS 是个不错的选择。本文将介绍如何使用 Spire. Doc for .NET 通过代码将 Word 文档转换为 XPS 文件。

安装 Spire.Doc for .NET

首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。

PM> Install-Package Spire.Doc

将 Word 文档转换为 XPS 文档

使用 Spire.Doc for .NET 将 Word 文档转换为 XPS 文件只需载入 Word 文档后保存为 XPS 格式文件即可,详细操作步骤如下:

  • C#
  • VB.NET
using Spire.Doc;
namespace ConvertWordToXps
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入Word文档
            doc.LoadFromFile(@"C:\示例.docx");

            //将文档保存为XPS文件
            doc.SaveToFile("Word转XPS.xps", FileFormat.XPS);
        }
    }
}
Imports Spire.Doc
Namespace ConvertWordToXps
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入Word文档
            doc.LoadFromFile("C:\示例.docx")

            '将文档保存为XPS文件
            doc.SaveToFile("Word转XPS.xps", FileFormat.XPS)
        End Sub
    End Class
End Namespace

C#/VB.NET 将 Word 文档转换为 XPS 文件

申请临时 License

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

Spire.PDF for Java 8.8.3 已发布。本次更新新增支持创建无序列表,且调整了签名时间戳的内部安全性。同时该版本还增强了 PDF 到 Tiff 的转换。此外,一些已知问题也得到了修复。详情请阅读以下内容。

新功能:

功能调整:

问题修复:


获取Spire.PDF for Java 8.8.3请点击:

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

Spire.Office 7.8.4 已发布。该版本进行了一些功能更新,如:Spire.XLS支持获取单元格相关联的范围; Spire.Presentation增强了PPT到PDF的转换功能;Spire.PDF增强了 PDF 到 SVG 和图片,以及 OFD 到 PDF 的转换。此外,该版本还成功修复了大量已知问题。详情请阅读以下内容。

该版本涵盖了最新版的Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExport。

版本信息如下:

获取Spire.Office 7.8.4 请点击:

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


Spire.XLS

新功能:

问题修复:


Spire.Presentation

问题修复:


Spire.PDF

问题修复:

Spire.Presentation for Java 7.8.2 已发布。本次更新新增支持设置自动换片时间以及判断文档是否加密。此版本还增强了 PPT 到 HTML 和 PDF 的转换。此外,许多已知问题也得到了修复,如:拆分 PPT 文档后, “自动换片” 的选中状态不正确等问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Presentation for Java 7.8.2请点击:

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

Spire.PDF 8.8.6 已发布。本次更新增强了 PDF 到 SVG 和图片,以及 OFD 到 PDF 的转换。此外,此版本还修复了一些已知问题,如:转换的 PDF/A3A 文档不符合标准和灰度转换后文件损坏等问题。详情请阅读以下内容。

问题修复:


获取Spire.PDF 8.8.6请点击:

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

Spire.XLS 12.8.1已发布。本次更新支持获取单元格相关联的范围。并增强了Excel到PDF的转换功能。此外,还修复了保存后,Excel文档中的图片被替换等已知问题。详情请阅读以下内容。

新功能:

问题修复:


下载Spire.XLS 12.8.1请点击:

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

RTF(Rich Text Format)指富文本格式,是微软开发的一种跨平台文档格式,方便于不同的设备、系统查看的文本和图形文档。大多数文字处理软件都能读取和保存RTF文档。富文本格式包含多种页面格式选项,如自定义页边距、行距和跳格宽度等。富文本格式可以帮助使用者便捷地创建栏目、表格,以及以更易阅读的格式制作文档。本文将介绍如何使用 Spire.Doc for .NET 将 Word 文档转换为 RTF 文档或将 RTF 文档转换为 Word 文档。

安装 Spire.Doc for .NET

首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。

PM> Install-Package Spire.Doc

将 Word 文档转为 RTF 文档

使用 Spire.Doc for .NET 将 Word 文档转换为 RTF 文档非常简单,只需载入 Word 文档后保存问 RTF 文件即可。以下是操作步骤:

  • C#
  • VB.NET
using Spire.Doc;
using System;

namespace ConvertWordToPng
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入Word文档
            doc.LoadFromFile(@"C:\示例.docx");

            //将Word文档保存为RTF文档
            doc.SaveToFile("Word转RTF.rtf", FileFormat.Rtf);
        }
    }
}
Imports Spire.Doc
Imports System

Namespace ConvertWordToPng
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入Word文档
            doc.LoadFromFile("C:\示例.docx")

            '将Word文档保存为RTF文档
            doc.SaveToFile("Word转RTF.rtf", FileFormat.Rtf)
        End Sub
    End Class
End Namespace

C#/VB.NET Word 转 RTF 或 RTF 转 Word

将 RTF 文档转为 Word 文档

操作步骤如下:

  • C#
  • VB.NET
using Spire.Doc;
using System;

namespace ConvertWordToPng
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入RTF文档
            doc.LoadFromFile(@"C:\示例.rtf", FileFormat.Rtf);

            //将RTF文档保存为Word文档
            doc.SaveToFile("RTF转Word.docx", FileFormat.Docx2013);
        }
    }
}
Imports Spire.Doc
Imports System

Namespace ConvertWordToPng
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入RTF文件
            doc.LoadFromFile("C:\示例.rtf", FileFormat.Rtf)

            '将RTF文件保存为Word文档
            doc.SaveToFile("RTF转Word.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET Word 转 RTF 或 RTF 转 Word

申请临时 License

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

与 Word 文档相比,图片格式的文件不需要安装 MS Word 就可以直接查看,便于在不同平台之间分享和预览文档内容。而且将 Word 文档转换为图片可以保护文档的原始外观,让文档不会因被他人编辑而破坏原有的排布等。本文将展示用 Spire.Doc for .NET 以编程的方式将 Word 文档转换为图片的操作方法。

安装 Spire.Doc for .NET

首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。

PM> Install-Package Spire.Doc

将 Word 文档转换为 JPG 格式的图片

Spire.Doc for .NET 为大家提供了 Document.SaveToImages() 方法以将 Word 文档的页面分别转换为位图(Bitmap)或图元文件(Metafile)。之后,我们可以将位图或图元文件保存为 BMP、EMF、JPEG、PNG、GIF、WMF 等格式的图片。以下是将 Word 文档转换为 JPG 格式图片的操作步骤。

  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using System;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConvertWordToJPG
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入Word文档
            doc.LoadFromFile(@"C:\示例.docx");

            //将整个文档的页面分别转换为图片
            Image[] images = doc.SaveToImages(ImageType.Bitmap);

            //在转换出的图片集合中循环
            for (int i = 0; i < images.Length; i++)
            {
                //将图片保存的JPG文件
                string outputfile = String.Format("图片-{0}.jpg", i);
                images[i].Save(outputfile, ImageFormat.Jpeg);
            }
        }
    }
}
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging

Namespace ConvertWordToJPG
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入Word文档
            doc.LoadFromFile("C:\示例.docx")

            '将整个文档的页面分别转换为图片
            Dim images() As Image = doc.SaveToImages(ImageType.Bitmap)

            '在转换出的图片集合中循环
            Dim i As Integer
            For i = 0 To images.Length - 1 Step i + 1
                '将图片保存的JPG文件
                Dim outputfile As String = String.Format("图片-{0}.jpg", i)
                images(i).Save(outputfile, ImageFormat.Jpeg)
            Next
        End Sub
    End Class
End Namespace

将 Word 文档转换为 SVG 格式的图片

你可以用 Spire.Doc for .NET 将 Word 文档保存为一系列字节数组(Byte Array),然后再将这些字节数组分别写入 SVG 文件。以下是将 Word 文档转换为 SVG 文件的操作步骤。

  • C#
  • VB.NET
using Spire.Doc;
using System;
using System.Collections.Generic;
using System.IO;

namespace CovnertWordToSVG
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入Word文档
            doc.LoadFromFile(@"C:\示例.docx");

            //将文档保存为一系列字节数组
            Queue<byte[]> svgBytes = doc.SaveToSVG();

            //循环遍历所有字节数组
            for (int i = 0; i < svgBytes.Count; i++)
            {
                //将数组写入SVG文件
                byte[][] bytes = svgBytes.ToArray();
                string outputfile = String.Format("图片-{0}.svg", i);
                FileStream fs = new FileStream(outputfile, FileMode.Create);
                fs.Write(bytes[i], 0, bytes[i].Length);
                fs.Close();
            }
        }
    }
}
Imports Spire.Doc
Imports System
Imports System.Collections.Generic
Imports System.IO

Namespace CovnertWordToSVG
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入Word文档
            doc.LoadFromFile("C:\示例.docx")

            '将文档保存为一系列字节数组
            Dim svgBytes()> As Queue<Byte =  doc.SaveToSVG() 
 
            '循环遍历所有字节数组
            Dim i As Integer
            For i = 0 To svgBytes.Count - 1 Step i + 1
                '将数组写入SVG文件
                Dim bytes()() As Byte = svgBytes.ToArray()
                Dim outputfile As String = String.Format("图片-{0}.svg", i)
                Dim fs As FileStream = New FileStream(outputfile, FileMode.Create)
                fs.Write(bytes(i), 0, bytes(i).Length)
                fs.Close()
            Next
        End Sub
    End Class
End Namespace

将 Word 文档转换为 PNG 图片并自定义分辨率

分辨率更高的图片能够将内容展示得更清楚,通过以下步骤,你可以在转换 Word 文档到 PNG 图片时,设置其分辨率。

  • C#
  • VB.NET
using Spire.Doc;
using System;
using System.Drawing;
using System.Drawing.Imaging;
using Spire.Doc.Documents;

namespace ConvertWordToPng
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 类的对象
            Document doc = new Document();

            //载入 Word 文档
            doc.LoadFromFile(@"C:\示例.docx");

            //将整个Word文档转换为位图集合
            Image[] images = doc.SaveToImages(ImageType.Metafile);

            //循环遍历位图集合中的位图
            for (int i = 0; i < images.Length; i++)
            {
                //设置图片的分辨率
                Image newimage = ResetResolution(images[i] as Metafile, 150);

                //将图片保存为PNG文件
                string outputfile = String.Format("图片-{0}.png", i);
                newimage.Save(outputfile, ImageFormat.Png);
            }
        }

        //设置图片分辨率
        public static Image ResetResolution(Metafile mf, float resolution)
        {
            int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
            int height = (int)(mf.Height * resolution / mf.VerticalResolution);
            Bitmap bmp = new Bitmap(width, height);
            bmp.SetResolution(resolution, resolution);
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.DrawImage(mf, Point.Empty);
            }
            return bmp;
        }
    }
}
Imports Spire.Doc
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports Spire.Doc.Documents

Namespace ConvertWordToPng
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建 Document 类的对象
            Dim doc As Document = New Document()

            '载入 Word 文档
            doc.LoadFromFile("C:\示例.docx")

            '将整个Word文档转换为位图集合
            Dim images() As Image = doc.SaveToImages(ImageType.Metafile)

            '循环遍历位图集合中的位图
            Dim i As Integer
            For i = 0 To images.Length - 1 Step i + 1
                '设置图片的分辨率
                Dim Newimage As Image = ResetResolution(images(i) As Metafile, 150)

                '将图片保存为PNG文件
                Dim outputfile As String = String.Format("图片-{0}.png", i)
                Newimage.Save(outputfile, ImageFormat.Png)
            Next
        End Sub

        '设置图片分辨率
        Public Shared Function ResetResolution(ByVal mf As Metafile, ByVal resolution As Single) As Image
            Dim width As Integer = CType((mf.Width * resolution / mf.HorizontalResolution), Integer)
            Dim height As Integer = CType((mf.Height * resolution / mf.VerticalResolution), Integer)
            Dim bmp As Bitmap = New Bitmap(width, height)
            bmp.SetResolution(resolution, resolution)
            Imports (Graphics g = Graphics.FromImage(bmp))
            {
                g.DrawImage(mf, PoInteger.Empty)
            }
            Return bmp
        End Function
    End Class
End Namespace

C#/VB.NET 将 Word 转为图片(JPG、PNG、SVG)

申请临时 License

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