gyselroth/docx-tidy

通过整理具有冗余属性/类型的连续元素来简化DOCX XML的标记。

0.5.1 2018-01-16 10:15 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:09:01 UTC


README

Total Downloads Latest Stable Version

描述

一个用于整理DOCX XML文件的PHP库:合并相同类型和属性的连续元素。

通过简化DOCX XML的标记,DocxTidy减轻了进行自定义修改(例如基于DOCX的模板)所需的努力。

  • 合并具有相同运行属性的连续运行
  • 合并每个运行内的相同类型元素(

DocxTidy支持两种整理模式

  1. DOCX文件(包括包含的XML文件的解包和重新存档)
  2. XML字符串

请注意

  • 通过合并分割的标签,DocxTidy删除了版本编辑历史信息
  • 使用默认设置运行时,DocxTidy删除了拼写检查标志("noProof","proofErr","lang")
  • DocxTidy删除了所有xml:space="preserve"标志,并将xml:space="preserve"重新插入所有标签
  • 为了标准化运行属性,DocxTidy删除了任何字体提示
  • 在统一具有相同属性的两个连续运行并删除任何拼写检查标志后,DocxTidy删除了任何生成的空标签

本库以“原样”为基础分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。

安装

推荐安装方式是通过Composer

$ composer require gyselroth/docx-tidy

自DocxTidy版本0.5.0以来需要PHP 7.1(版本0.4.5之前的PHP 5.6)

使用方法

示例1:整理整个DOCX文件

<?php

use DocxTidy\DocxTidy;

// tidy a DOCX file
(new DocxTidy())->tidyDocx('path/to/your.docx');

示例2:整理XML(字符串)

<?php

use DocxTidy\DocxTidy;

// read DOCX XML, e.g. "document.xml" / "header1.xml" / etc
$xml = file_get_contents('path/to/your_unzipped_docx/word/document.xml');

// tidy DOCX XML string
$xml = (new DocxTidy())->tidyXml($xml);

变更日志

https://github.com/gyselroth/docx-tidy/blob/master/CHANGELOG.md

提交错误和功能请求

错误和功能请求在GitHub上进行跟踪

第三方致谢

Microsoft Office和Word是微软公司的注册商标。

作者和许可证

版权所有 2017 gyselroth™ (http://www.gyselroth.com)

在Apache License,Version 2.0(“许可证”)下授权;除非适用法律要求或书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。有关许可证管理权限和限制的具体语言,请参阅许可证。