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

Spire.Cloud 纯前端文档控件

Spire.XLS for Java 15.5.1 更新已发布。本次更新增强了 Excel 到 HTML 的转换功能。此外,该版本还成功修复了一些已知问题,如对特定 Excel 文档调用 Worksheet.findAllString 程序抛异常的问题。详情请阅读以下内容。

问题修复:


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

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

在数据处理和管理场景中,将原始文本文件(TXT)高效转换为结构化的 Excel 电子表格是一项常见要求。对于那些需要自动生成报表或者处理日志文件的开发人员而言,借助 C# 实现 TXT 到 Excel 的转换工作,可以简化数据组织和分析。本文将探讨如何使用 Spire.XLS for .NET(一个功能强大的库,无需 Microsoft Office 即可处理 Excel XLS 或 XLSX 文件)实现这一目标。

本文将介绍如何通过 C# 和 Spire.XLS for .NET 库,将 TXT 文本转换为 Excel 表格,主要内容包括:

为什么要通过编程将 TXT 转换为 Excel?

文本文件虽具备轻量易用的特性,但在数据分析能力上远不及 Excel。将 TXT 转换为 XLS 或 XLSX 格式的核心优势体现在以下方面:

  • 自动化处理:可实现大规模文件或重复性任务的自动处理,显著提升数据处理效率。
  • 结构化组织:将原始文本数据有序编排为行、列、表的结构化形态,便于快速定位与分析。
  • 功能扩展性:无缝对接 Excel 的公式计算、动态图表、数据透视表等高级分析工具,释放数据价值。
  • 系统集成性:支持将转换功能深度嵌入 .NET 应用程序或 API 体系,适配多样化的业务场景需求。

安装 Spire.XLS for .NET

Spire.XLS for .NET 是一款专业的 Excel 文档处理组件,提供高效便捷的 API,允许开发人员通过简单的代码实现 TXT 到 Excel 的转换。在开始使用之前,您可以选择以下方法之一来安装该库:

方法 1:NuGet 包管理器

  • 在 Visual Studio 中打开项目。
  • 在 “解决方案资源管理器 ”中右键单击项目,选择 “管理 NuGet 程序包”。
  • 搜索 “Spire.XLS ”并点击 “安装”。

方法 2:程序包管理器控制台

  • 转到 “工具 > NuGet 包管理器 > 程序包管理器控制台”。
  • 在控制台中运行以下命令:
    Install-Package Spire.XLS

方法 3:手动安装 DLL 文件

  • 访问 Spire.XLS 下载页面并获取最新版本。
  • 解压文件,然后将 Spire.Xls.dll 添加到项目中。

使用 C# 将文本文件导入 Excel

可以按照以下步骤将 TXT 文件中的数据写入 Excel 工作表:

  • 读取 TXT 文件:使用 File.ReadAllLines() 方法读取文本文件中的所有行,并将其作为字符串数组返回。
  • 解析每一行:
    • 使用 string.Trim() 方法删除前后空格。
    • 使用 string.Split() 方法根据指定的分隔符分割数据。
    • 将分割后的文本数据添加到列表中。
  • 创建 Workbook 实例并获取工作表
  • 将数据写入指定的单元格
    • 遍历列表中的行和列。
    • 通过工作表 Worksheet.Range[].Value 属性将列表中的数据赋值给相应的 Excel 单元格。
  • 保存 Excel 文件

C# 代码示例:

  • C#
using Spire.Xls;
using System.IO;
using System.Collections.Generic;

class TxtToExcelConverter
{
    static void Main()
    {
        // 读取txt文件
        string[] lines = File.ReadAllLines("库存.txt", System.Text.Encoding.UTF8);

        // 创建一个列表来存储文本文件中的数据
        List<string[]> data = new List<string[]>();

        // 读取每一行的数据并将其添加到列表中
        foreach (string line in lines)
        {
            data.Add(line.Trim().Split('\t'));
        }

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

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

        // 遍历数据列表中的行和列
        for (int row = 0; row < data.Count; row++)
        {
            for (int col = 0; col < data[row].Length; col++)
            {
                // 将数据写入到指定单元格中
                sheet.Range[row + 1, col + 1].Value = data[row][col];

                // 将标题行加粗
                sheet.Range[1, col + 1].Style.Font.IsBold = true;
            }
        }

        // 设置自适应列宽
        sheet.AllocatedRange.AutoFitColumns();

        // 保存Excel文件
        workbook.SaveToFile("TXT转Excel.xlsx", ExcelVersion.Version2016);
        workbook.Dispose();
    }
}

将txt文本数据导入到Excel工作表

将 TXT 转换为 Excel 的进阶技巧

  • 处理不同的分隔符:

    如果 TXT 文件使用不同的分隔符(如空格、逗号、分号等),可修改 Split(params char[] separator) 方法中的参数。

  • 格式化单元格:

    将文本文件转换为 Excel 文件后,您可以利用 Spire.XLS 库的丰富功能来格式化单元格,如 设置背景颜色添加单元格边框应用数字格式等。

结论

按照本分步指南操作,您可以高效地将非结构化文本数据转换为有序的 Excel 电子表格,这非常适合数据分析、报告生成和数据管理。转换过程中,您可以针对不同的分隔符优化实现方式,并利用 Spire.XLS 的高级功能来处理复杂的转换场景。

申请临时 License

如您需要去除生成文档中的评估提示或解除功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

简介

数据透视表是Excel中一种高效、灵活的数据分析工具,它能够快速汇总大量信息,帮助用户深入挖掘数据的价值并生成直观的报告。在数据透视表的众多功能中,筛选功能尤为重要,它允许用户精准聚焦特定数据子集,且无需对原始数据做任何修改,从而保障数据的完整性和准确性。

本教程涵盖的内容

本教程介绍如何使用 Python 和 Spire.XLS for Python 库,以编程方式对 Excel 数据透视表应用多种筛选器。主要内容包括:

为什么需要对数据透视表进行筛选?

筛选是数据透视表中不可或缺的功能,它拥有诸多优势:

  • 提升数据分析效率:快速锁定特定的数据区域或类别,帮助挖掘更具价值的信息。
  • 实现动态更新:当底层数据更新时,筛选条件会自动调整,保证分析结果始终准确可靠。
  • 优化数据展示:只显示与分析相关的数据内容,避免修改或删除原始数据,确保数据的完整性和安全性。

安装 Python Excel 库——Spire.XLS for Python

在使用 Python 操作 Excel 数据透视表前,请先安装 Spire.XLS for Python 库。

最快捷的安装方式是通过 pip(Python 包管理器),你只需要在终端或命令提示符中输入以下命令,即可安装Spire.XLS for Python:

pip install spire.xls

向数据透视表添加报表筛选器

报表筛选器允许用户根据指定字段和值对整个数据透视表进行全局筛选。它适用于在不改变表格布局的情况下,仅显示特定类别或项目的数据。

添加报表筛选器的步骤

  • 初始化工作簿: 创建 Workbook 类的对象以处理 Excel 文件。
  • 加载 Excel 文件: 使用 Workbook.LoadFromFile() 加载包含数据透视表的现有文件。
  • 访问工作表: 使用 Workbook.Worksheets[] 选择目标工作表。
  • 定位数据透视表: 使用 Worksheet.PivotTables[] 访问指定的数据透视表。
  • 定义报表筛选器: 创建 PivotReportFilter 对象并指定筛选字段。
  • 应用报表筛选: 使用 XlsPivotTable.ReportFilters.Add() 将筛选器添加到数据透视表。
  • 保存更新的文件: 使用 Workbook.SaveToFile() 保存更改。

代码示例

  • Python
from spire.xls import *

# 创建 Workbook 类的对象
workbook = Workbook()

# 加载 Excel 文件
workbook.LoadFromFile("示例.xlsx")

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

# 获取工作表中的第一个数据透视表
pt = sheet.PivotTables[0]

# 为"产品" 字段创建报表筛选器
reportFilter = PivotReportFilter("产品", True)

# 将报表筛选器添加到数据透视表
pt.ReportFilters.Add(reportFilter)

# 保存结果文件
workbook.SaveToFile("报表筛选器.xlsx", FileFormat.Version2016)
workbook.Dispose()

***

在数据透视表中应用行字段筛选器

行字段筛选器允许用户筛选显示在 Excel 数据透视表行字段中的数据。这些筛选可以基于标签(特定文本值)或数值。

添加行字段筛选器的步骤

  • 初始化工作簿: 创建 Workbook 对象以处理 Excel 文件。
  • 加载 Excel 文件: 使用 Workbook.LoadFromFile() 加载目标文件。
  • 访问工作表: 使用 Workbook.Worksheets[] 选择目标工作表。
  • 定位数据透视表: 使用 Worksheet.PivotTables[] 访问指定数据透视表。
  • 添加行字段筛选器: 使用 XlsPivotTable.RowFields[].AddLabelFilter() 或 XlsPivotTable.RowFields[].AddValueFilter() 为特定行字段添加标签筛选器或数值筛选器。
  • 计算数据透视表数据: 使用 XlsPivotTable.CalculateData() 刷新筛选后的数据。
  • 保存更新的文件: 使用 Workbook.SaveToFile() 保存更改。

代码示例

  • Python
from spire.xls import *

# 创建 Workbook 类的对象
workbook = Workbook()

# 加载 Excel 文件
workbook.LoadFromFile("示例.xlsx")

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

# 获取第一个数据透视表
pt = sheet.PivotTables[0]

# 向第一个行字段添加数值筛选器(筛选条件:大于 5000)
pt.RowFields[0].AddValueFilter(PivotValueFilterType.GreaterThan, pt.DataFields[0], Int32(5000), None)

# 或者向第一个行字段添加标签筛选器(筛选条件:等于 "张超")
# pt.RowFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "张超", None)

# 计算数据透视表数据
pt.CalculateData()

# 保存结果文件
workbook.SaveToFile("行字段筛选器.xlsx", FileFormat.Version2016)
workbook.Dispose()

***

在数据透视表中应用列字段筛选器

列字段筛选器可以让用户筛选数据透视表中列字段的数据。与行字段筛选器类似,列字段筛选既可以基于标签(文本)进行,也可以基于数值条件来设置。

添加列字段筛选器的步骤

  • 初始化工作簿: 创建 Workbook 对象。
  • 加载 Excel 文件: 使用 Workbook.LoadFromFile() 打开文件。
  • 访问工作表: 使用 Workbook.Worksheets[] 选择目标工作表。
  • 定位数据透视表: 使用 Worksheet.PivotTables[] 访问目标数据透视表。
  • 添加列字段筛选器: 使用 XlsPivotTable.ColumnFields[].AddLabelFilter() 或 XlsPivotTable.ColumnFields[].AddValueFilter()为特定列字段添加标签筛选器或数值筛选器。
  • 计算数据透视表数据: 使用 XlsPivotTable.CalculateData() 刷新筛选数据。
  • 保存更新的文件: 使用 Workbook.SaveToFile()。

代码示例

  • Python
from spire.xls import *

# 创建 Workbook 类的对象
workbook = Workbook()

# 加载 Excel 文件
workbook.LoadFromFile("示例.xlsx")

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

# 获取第一个数据透视表
pt = sheet.PivotTables[0]

# 给第一个列字段添加标签筛选器
pt.ColumnFields[0].AddLabelFilter(PivotLabelFilterType.Equal, String("笔记本电脑"), None)

# 如果想应用数值筛选,参考下面这行代码
# pt.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt.DataFields[0], Int32(5000), Int32(10000))

# 计算数据透视表数据
pt.CalculateData()

# 保存结果文件
workbook.SaveToFile("列字段筛选器.xlsx", FileFormat.Version2016)
workbook.Dispose()

***

申请临时 License

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

总结

在 Excel 中,筛选数据透视表是实现高效数据分析的关键,它帮助用户聚焦重要信息,同时保持表格结构不变。借助 Spire.XLS for Python,开发者可以轻松通过编程自动化添加、修改和管理数据透视表的筛选条件,提高工作效率。

Spire.XLS for C++ 15.5.0 现已正式发布。该版本增加了一系列新功能,例如支持转换 Excel 到 PDF 时设置页面大小,支持将图像嵌入单元格,支持对形状进行分组以及启用修订模式。详情请查阅以下内容。

调整::

新功能:


获取 Spire.XLS for C++ 15.5.0 请点击:

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

在现代软件开发中,从模板生成动态 Word 文档是生成报告、合同、发票或其他业务文档的常见需求。寻求文档自动化高效解决方案的 Java 开发者可以利用 Spire.Doc for Java,这是一个无需安装 Microsoft Office 即可处理 Word 文件的强大库。

本指南将探讨如何使用 Spire.Doc for Java 从 模板创建 Word 文档,涵盖两种关键方法:替换文本占位符修改书签内容

用于创建 Word 文档的 Java 库

Spire.Doc for Java 是一个功能强大的库,支持开发者创建、操作和转换 Word 文档。它提供了直观的 API,可对现有文档中的文本、图片和书签等进行各种操作。

首先,请从我们的官网下载该库并导入到 Java 项目中。如果使用 Maven,请在 pom.xml 文件中添加以下依赖:

<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 文档

该方法使用包含标记占位符(如 #name#、#date#)的模板文档,这些占位符会被动态替换为真实数据。Spire.Doc 的 Document.replace() 方法可高效处理文本替换,同时其他 API 支持高级替换功能(例如在指定位置插入图片)。

通过替换文本占位符从模板生成 Word 文档的步骤:

  • 初始化文档:创建 Document 对象以操作 Word 文件。
  • 加载模板:载入包含占位符的模板文档。
  • 创建替换映射:用 HashMap 存储占位符与替换内容的键值对。
  • 执行文本替换:通过 replace() 方法查找并替换所有占位符实例。
  • 处理图片插入:使用自定义 replaceTextWithImage() 方法将文本占位符替换为图片。
  • 保存结果:将修改后的文档保存至指定路径。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;

import java.util.HashMap;
import java.util.Map;

public class ReplaceTextPlaceholders {

    public static void main(String[] args) {

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

        // 加载模板文档
        document.loadFromFile("https://cdn.e-iceblue.cn/C:\\Users\\Administrator\\Desktop\\template.docx");

        // 创建HashMap用于保存占位符及其替换内容
        Map replaceDict = new HashMap<>();
        replaceDict.put("#name#", "约翰");
        replaceDict.put("#gender#", "男");
        replaceDict.put("#birthdate#", "1990年1月15日");
        replaceDict.put("#address#", "缅因街123号");
        replaceDict.put("#city#", "斯普林菲尔德");
        replaceDict.put("#province#", "伊利诺伊州");
        replaceDict.put("#postal#", "62701");
        replaceDict.put("#country#", "美国");

        // 用相应的值替换文档中的占位符
        for (Map.Entry entry : replaceDict.entrySet()) {
            document.replace(entry.getKey(), entry.getValue(), true, true);
        }

        // 图像文件的路径
        String imagePath = "C:\\Users\\Administrator\\Desktop\\portrait.png";

        // 用图像替换照片占位符
        replaceTextWithImage(document, "#photo#", imagePath);

        // 保存修改后的文档
        document.saveToFile("output/ReplacePlaceholders.docx", FileFormat.Docx);

        // 释放资源
        document.dispose();
    }

    // 方法用于用图像替换文档中的占位符
    static void replaceTextWithImage(Document document, String stringToReplace, String imagePath) {

        // 从指定路径加载图像
        DocPicture pic = new DocPicture(document);
        pic.loadImage(imagePath);
        pic.setScale(80f);

        // 在文档中查找占位符
        TextSelection selection = document.findString(stringToReplace, false, true);

        //  获取找到的文本范围
        TextRange range = selection.getAsOneRange();
        int index = range.getOwnerParagraph().getChildObjects().indexOf(range);

        // 插入图像并移除占位符文本
        range.getOwnerParagraph().getChildObjects().insert(index, pic);
        range.getOwnerParagraph().getChildObjects().remove(range);
    }
}

效果图:

通过替换文本占位符生成Word文档

通过修改书签内容生成 Word 文档

该方法利用 Word 文档中的书签来标识需要插入或修改内容的位置。Spire.Doc 提供的 BookmarksNavigator 类简化了这一流程,可直接定位书签位置进行精准内容替换,同时自动保留文档原有的结构和格式。

通过修改书签内容从模板生成Word文档的步骤:

  • 初始化文档:创建 Document 对象。
  • 加载模板:载入已预设书签的模板文档。
  • 配置替换内容:创建 HashMap 建立书签名称与替换内容的映射关系。
  • 定位书签:实例化 BookmarksNavigator 对象遍历文档中的书签。
  • 替换内容:调用 replaceBookmarkContent() 方法更新书签内容
  • 保存结果:将修改后的文档输出至指定路径。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import java.util.HashMap;
import java.util.Map;

public class ModifyBookmarkContent {

    public static void main(String[] args) {

        // 初始化Document 对象
        Document document = new Document();

        // 加载模板文档
        document.loadFromFile("https://cdn.e-iceblue.cn/C:\\Users\\Administrator\\Desktop\\template.docx");

        // 定义书签名称及对应的用于替换的文本
        Map replaceDict = new HashMap<>();
        replaceDict.put("name", "Tech Innovations Inc.");
        replaceDict.put("year", "2015");
        replaceDict.put("headquarter", "美国,加州,旧金山");
        replaceDict.put("history", "Tech Innovations Inc. 由一群怀抱梦想的工程师和创业者共同创立," +
                "他们立志在科技领域掀起一场革命。公司最初专注于软件开发,随后逐步将业务版图扩展至人工智能和云计算解决方案领域。");

        // 创建BookmarksNavigator对象用于管理文档中的书签
        BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);

        // 遍历HashMap中的条目
        for (Map.Entry entry : replaceDict.entrySet()) {

            // 定位到具体书签
            bookmarkNavigator.moveToBookmark(entry.getKey());

            // 替换书签内容
            bookmarkNavigator.replaceBookmarkContent(entry.getValue(), true);
        }

        // 保存修改后的文档
        document.saveToFile("output/ReplaceBookmarkContent.docx", FileFormat.Docx);

        // 释放资源
        document.dispose();
    }
}

效果图:

通过替换书签内容生成Word文档

结论

两种方法都能有效实现模板化文档生成,但适用于不同场景:

文本替换法适用于以下情况:

  • 需要进行简单文本替换
  • 需在指定位置插入图片
  • 需替换文档任意位置的文本(不限于特定区域)

书签替换法更适合以下需求:

  • 处理结构复杂的文档(需精确定位内容位置)
  • 需要替换大段内容或完整段落
  • 需保留书签以便后续更新

Spire.Doc 还提供邮件合并功能(Mail Merge),支持从数据库等外部数据源批量生成个性化文档(如群发信函/报告)。该功能通过将模板字段与外部数据关联,可高效完成大批量文档自动化生成。

常见问题解答

Q1:能否将生成的 Word 文档转换为 PDF 格式?

A:可以。Spire.Doc for Java 支持将文档转换为 PDF 等多种格式,只需使用 saveToFile() 方法并指定 FileFormat.PDF 参数即可。

Q2:如何保持生成文档的复杂格式?

A:建议先在Word模板中设置好所有需要的格式,然后在需要插入动态内容的位置使用占位符或书签。生成文档时,这些标记周围的格式会自动保留。

Q3:邮件合并和文本替换有什么区别?

A:邮件合并专为将数据库类数据与文档合并而设计,支持记录重复节等高级功能;而文本替换更简单,但对表格数据的处理不如邮件合并灵活。

申请临时License

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

Spire.XLS for Python 15.5.0 现已正式发布。最新版本支持给 shape 分组。此外,本次更新还修复了一些已知问题,例如将 chart 保存为 image 时,程序报"SpireException: Arg_InvalidCastException"错的问题。详情查看下列内容。

新功能:

调整::

问题修复:


获取 Spire.XLS for Python 15.5.0,请点击:

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

在库存管理、零售系统、物流以及各类数据密集型应用中,条形码扮演着至关重要的角色。对于开发者而言,使用 Python 生成条形码可能会非常复杂而难以实现,尤其是在处理多种条码格式或需要大规模自动化生成的情况下。因此,选择一款功能强大、支持多种条形码类型并具备批量处理能力的 Python 条形码生成库尤为重要。

本文将详细介绍如何使用 Spire.Barcode for Python 高效生成条形码,并提供完整代码示例,助开发者快速上手条形码开发。

目录

引入 Spire.Barcode for Python

为什么选择 Spire.Barcode?

Spire.Barcode for Python 是一款专业且易于使用的 Python 条形码生成与识别库,专为需要在应用程序中集成条形码功能的开发者打造。它的主要优势包括:

  • 支持多种主流条形码类型(如 Code 128、QR Code、EAN-13、UPC 等)
  • 输出高质量图像,支持高度自定义
  • API 简洁易用,易于集成
  • 无需依赖第三方组件
  • 一套库即可实现条形码生成与扫描

安装方法

您可以通过 pip 命令轻松安装 Spire.Barcode for Python

pip install spire.barcode

如果只需执行简单的条形码生成任务,也可以选择免费版本 Free Spire.Barcode for Python

pip install spire.barcode.free

如何使用 Python 生成条形码

在 Python 中生成条形码的基本流程包括:指定条形码类型、设置编码内容、生成图像并输出。使用 Spire.Barcode,只需几行代码即可完成条形码的配置与生成。

需要用到的主要类与方法介绍

  • BarcodeSettings:设置条形码类型、数据、样式、颜色等属性
  • BarCodeGenerator:根据设置生成条形码图像
  • GenerateImage():输出图像流,可保存为本地图片

第一步:导入所需模块

  • Python
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator, Code128SetMode, FontStyle, Color

第二步:配置条形码参数

创建 BarcodeSettings 对象并定义条形码属性:

  • Python
# Create a BarcodeSettings object
barcodeSettings = BarcodeSettings()
# Set the barcode type
barcodeSettings.Type = BarCodeType.Code128
# Set the barcode data
barcodeSettings.Data = "ABC123456789"
# Set the barcode code128 set mode
barcodeSettings.Code128SetMode = Code128SetMode.Auto
# Choose the data display position
barcodeSettings.ShowTextOnBottom = True
# Set the bottom text and style
barcodeSettings.BottomText = "Code 128 Example"
barcodeSettings.SetTextFont("Arial", 12.0, FontStyle.Regular)
barcodeSettings.ShowBottomText = True
# Set the background color
barcodeSettings.BackColor = Color.get_Beige()

第三步:生成条形码图像

使用配置的 BarcodeSettings 创建 BarCodeGenerator 对象,然后生成数据流形式的条形码图像,并保存到本地文件:

  • Python
# Create a BarCodeGenerator object
barcodeGenerator = BarCodeGenerator(barcodeSettings)
# Generate the barcode image
barcodeImage = barcodeGenerator.GenerateImage()
# Save the image
with open("output/Code 128.png", "wb") as fp:
fp.write(barcodeImage)

生成的 Code 128 条形码:

使用 Spire.Barcode 的 Python 条码生成器 Code 128 示例

该代码用于生成 Code 128 条形码并将其保存为图像,替换 BarCodeTypeData 值,并配置其他参数,可生成其他类型的条形码。

支持条形码类型一览

Spire.Barcode for Python 支持市场上常见的 1D 线性条码、二维码、堆叠码和邮政条码,覆盖零售、物流、票务等多个应用场景。

条形码类型支持表

条码类别 示例类型 免费版 商业版
条形码 Codabar, Code11, Code25, Interleaved25, Code39, Code39Extended, Code93, Code93Extended, Code128, EAN8, EAN13, EAN128, EAN14, UPCA, UPCE, MSI, PostNet, Planet, SCC14, SSCC18, ITF14, ITF6, PZN, OPC ✅(部分) ✅(全部)
二维码 QRCode, DataMatrix, Pdf417, Pdf417Macro, Aztec, MicroQR ✅(仅 QRCode)
堆叠/复合码 RSS14, RSS14Truncated, RSSLimited, RSSExpanded
邮政条码 USPS, SwissPostParcel, DeutschePostIdentcode, DeutschePostLeitcode, RoyalMail4State, SingaporePost4State

用 Python 批量生成条形码

Spire.Barcode 还支持批量生成条形码图像,适合用于库存标识、物流标签或自动化系统中大规模条形码生成的需求。

  • Python
data_list = ["Barcode 1", "Barcode 2", "Barcode 3"]
for item in data_list:
    settings = BarcodeSettings()
    settings.Type = BarCodeType.Code39
    settings.Data = item
    generator = BarCodeGenerator(settings)
    image_stream = generator.GenerateImage()
    with open(f"output/{item}.png", "wb") as file:
    file.write(image_stream)

此 Python 代码将每条数据自动生成一个条形码图像,极大提升批量处理效率。

结语

使用 Spire.Barcode for Python,开发者可以快速、高效地在 Python 程序中集成条形码生成功能。不论是创建单个 Code 128 条码,还是自动批量生成二维码,这款 Python 条形码库都提供了强大的功能支持和灵活的定制能力。凭借对多种编码格式的支持以及简洁的 API 设计,它是开发者在条码处理方面的理想工具。

常见问题解答(FAQ)

如何在 Python 中生成条形码?

您可以使用 Spire.Barcode 等 Python 条形码库,配置条码类型与数据内容,生成图像并保存本地,过程简便高效。

条形码是如何生成的?

条形码通过将字符串数据编码为可视的条形图案(线条或模块)生成。借助 Spire.Barcode 等库,您可将输入数据转换为标准条形码图像。

如何用 Python 编写条码生成器?

只需指定条码类型(如 Code 128)、编码内容,并调用 Spire.Barcode 提供的接口生成图像即可。支持封装函数或循环实现自动化批量生成。

如何生成二维码?

以下是一个使用 Spire.Barcode 生成二维码的完整示例:

  • Python
from spire.barcode import BarcodeSettings, BarCodeGenerator, BarCodeType

# 创建一个BarcodeSettings对象
barcodeSettings = BarcodeSettings()
# 设置条码类型为QRCode
barcodeSettings.Type = BarCodeType.QRCode
# 设置二维码的数据
barcodeSettings.Data = "ABC123456"
# 设置二维码的分辨率
barcodeSettings.DpiX = 500
barcodeSettings.DpiY = 500

# 生成二维码并保存
barcodeGenerator = BarCodeGenerator(barcodeSettings)
with open("output/QRCode.png", "wb") as f:
f.write(barcodeGenerator.GenerateImage())

生成的二维码:

使用 Spire.Barcode 库在 Python 中生成 QR 码

开发者可通过此方法将文本、URL、编号等信息编码为二维码,便于扫码识别。

相关文章:使用 Python 生成及识别二维码

获取免费许可证

Spire.Barcode for Python 提供免费试用许可证,解除功能限制与水印。该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。,全面体验这款强大条形码生成工具带来的开发便利!

Spire.XLS for JavaScript 15.5.0 更新已发布。本次更新新增 19 个新功能,包括对 Shape 分组、开启修订模式和嵌入图片到单元格等。此外,该版本还升级了 SkiaSharp 并增强了 Shape 到图片的转换功能。详情请阅读以下内容。

新功能:

调整::

问题修复:


获取 Spire.XLS for JavaScript 15.5.0 请点击:

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

通过编程方式从 Word 文档中提取图片,可以用于自动化文档处理任务。本文将演示如何使用 C# 和 Spire.Doc for .NET 库从 Word 文件中提取图片。 Spire.Doc 是一个功能强大的 .NET 库,能够帮助开发者高效操作 Word 文档。

入门:安装 Spire.Doc

在开始提取图片之前,你需要安装 Spire.Doc for .NET。方法如下:

安装完成后,即可开始操作。

从 Word 中提取图片的步骤

代码示例

以下 C# 代码展示了如何从 Word 文档中提取图片:

  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace ExtractImages
{
    class Program
    {
        static void Main(string[] args)
        {
            // 初始化一个 Document 对象
            Document document = new Document();

            // 加载 Word 文件
            document.LoadFromFile("https://cdn.e-iceblue.cn/C:\\Users\\Administrator\\Desktop\\input.docx");

            // 图像文件计数器
            int index = 0;

            // 遍历文档中的每个节
            foreach (Section section in document.Sections)
            {
                // 遍历节中的段落
                foreach (Paragraph paragraph in section.Paragraphs)
                {
                    // 遍历段落中的对象
                    foreach (DocumentObject docObject in paragraph.ChildObjects)
                    {
                        // 检查对象是否为图像
                        if (docObject.DocumentObjectType == DocumentObjectType.Picture)
                        {
                            // 将图像保存为 PNG 文件
                            DocPicture picture = docObject as DocPicture;
                            picture.Image.Save(string.Format("output/image_{0}.png", index), System.Drawing.Imaging.ImageFormat.Png);
                            index++;
                        }
                    }
                }
            }

            // 释放资源
            document.Dispose();
        }
    }
}

提取的图片将保存到"output"文件夹中,文件名格式为 image_0.png、image_1.png 等。

从Word中提取图片

进阶方案

1. 处理不同图片格式:

2. 错误处理:

  • C#
try {
    // 图片提取代码
}
catch (Exception ex) {
    Console.WriteLine($"错误:{ex.Message}");
}

3. 性能优化:

4. 其他提取场景:

结论

使用 C# 的 Spire.Doc 库能简化 Word 文档图片提取流程,这种方法高效且易于集成到更复杂的文档处理工作流中。

除图片外,Spire.Doc 还支持提取 Word 文档中的多种其他元素,例如:

无论是构建文档管理系统还是自动化报告生成,Spire.Doc 都提供了可靠的编程方式来操作Word文档。

申请临时 License

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

Spire.PDF 11.4.10 现已正式发布。该版本支持使用 .NET Standard DLL 在 Window 和 Linux 系统中进行打印,同时还支持获取按钮中的 PdfHideAction。此外,一些在转换 PDF 到图片、保存文件时出现的问题也已成功被修复。详情请查阅以下内容。

新功能:

问题修复:


获取 Spire.PDF 11.4.10,请点击:

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