1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/colin_86-MDword

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-CN.md 7.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 17:11 a967426

Проект MDword

Общее название

Материнская версия: Модификация на основе некоторого документа Word, эта версия Word называется «материнская». Блок: Часть, которая должна быть заменена или клонирована.

Описание проекта

Основное назначение: динамическое создание документов Word. Преимущество: для создания документа Word нужно только сосредоточиться на динамических данных и логике, без необходимости настройки стиля (стиль можно настроить с помощью офисного пакета Word).

Сравнение с PHPWord

  • Общие черты:
    • Оба являются библиотеками, написанными на PHP.
    • Предназначены для генерации документов Word.
  • Различия:
    • PHPWord фокусируется на записи одного элемента за раз, в то время как MDword сосредоточен на модификации материнской версии, имеет более мощные функции и более высокую эффективность кодирования.
    • MDword позволяет легко изменять стиль текста, добавлять обложки и редактировать заголовки и нижние колонтитулы страниц, используя материнскую версию в редакторе Word, в то время как PHPWord требует более сложной настройки каждого элемента.
    • MDword может автоматически создавать оглавление.

Руководство

  • Установка:
// Метод 1
composer require mkdreams/mdword
// Метод 2, ручная загрузка автозагрузчика
require_once('Autoloader.php');
  • Добавление комментариев или специальных символов «${value/}» в материнскую версию «temple.docx»: Обратите внимание на наличие символа «/» в конце. image
  • Вызов метода (для ознакомления с более разнообразными способами вызова, см. пример: tests\samples\simple for readme, например: создание оглавления, нумерации и т. д.):
// Создание класса и загрузка материнской версии
$TemplateProcessor = new WordProcessor();
$template = 'temple.docx';
$TemplateProcessor->load($template);

// Присвоение значения
$TemplateProcessor->setValue('value', 'r-value');

// Клонирование и копирование
$TemplateProcessor->clones('people', 3);

$TemplateProcessor->setValue('name#0', 'colin0');
$TemplateProcessor->setValue('name#1', [
    ['text'=>'colin1','style'=>'style','type'=>MDWORD_TEXT],
    ['text'=>1,'type'=>MDWORD_BREAK],
    ['text'=>'86','style'=>'style','type'=>MDWORD_TEXT]
]);
$TemplateProcessor->setValue('name#2', 'colin2');

$TemplateProcessor->setValue('sex#1', 'woman');

$TemplateProcessor->setValue('age#0', '280');
$TemplateProcessor->setValue('age#1', '281');
$TemplateProcessor->setValue('age#2', '282');

// Копирование изображения
$TemplateProcessor->setImageValue('image', dirname(__FILE__).'/logo.jpg');

// Удаление строки
$TemplateProcessor->deleteP('style');

// Сохранение
$rtemplate = __DIR__.'/r-temple.docx';
$TemplateProcessor->saveAs($rtemplate);
  • Результат: image

  • Анимированный график: image

Производительность (статистический скрипт [https://github.com/mkdreams/MDword/blob/main/tests/samples/performance/index.php]):

Тестовый элемент Время (с)
Присвоение значения 100 раз на одной странице материнской версии 0,04
Присвоение значения 500 раз на одной странице материнской версии 0,16
Присвоение значения 1 000 раз на одной странице материнской версии 0,33
Присвоение значения 10 000 раз на одной странице материнской версии 7,80
Присвоение значения 100 раз на 1 750 страницах материнской версии 4,61
Присвоение значения 500 раз на 1 750 страницах материнской версии 4,94
Присвоение значения 1 000 раз на 1 750 страницах материнской версии 5,43
Присвоение значения 10 000 раз на 1 750 страницах материнской версии 17,39

Использование памяти (статистический скрипт [https://github.com/mkdreams/MDword/blob/main/tests/samples/memory%20use/index.php]):

Последовательный запуск Накопленное использование памяти Примечание
1 0,050590515136719 M Первый запуск требует загрузки классов PHP
2 0,050949096679688 M
3 0,050949096679688 M
4 0,050949096679688 M
5 0,050949096679688 M
6 0,050949096679688 M
7 0,050949096679688 M
8 0,050949096679688 M

Дополнительные примеры:

  • Простой комплексный пример [https://github.com/mkdreams/MDword/tree/main/tests/samples/simple%20for%20readme].
  • Пример с форматированным текстом [https://github.com/mkdreams/MDword/tree/main/tests/samples/text].
  • Добавление изображений [https://github.com/mkdreams/MDword/tree/main/tests/samples/image].
  • Клонирование [https://github.com/mkdreams/MDword/tree/main/tests/samples/clone].
  • Различные способы установки блоков и решение проблемы невозможности добавления комментариев [https://github.com/mkdreams/MDword/tree/main/tests/samples/block].
  • Запись PHPWORD в блоки [https://github.com/mkdreams/MDword/tree/main/tests/samples/phpword].
  • Включение оглавления в таблицы [https://github.com/mkdreams/MDword/tree/main/tests/samples/toc].
  • Объединение ячеек таблицы [https://github.com/mkdreams/MDword/tree/main/tests/samples/merge%20table%20cells].

Общение:

Пожалуйста, оставьте комментарий: MDword общение

image

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/colin_86-MDword.git
git@api.gitlife.ru:oschina-mirror/colin_86-MDword.git
oschina-mirror
colin_86-MDword
colin_86-MDword
main