Repository navigation
Installation ru
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
docxi — гем, написанный только на Ruby. При установке подтягиваются всего две зависимости, nokogiri и rubyzip, и больше ничего. Офисные программы не нужны.
| Требование | Версия |
|---|---|
| Ruby | 2.5 или новее |
| nokogiri |
>= 1.8, < 2, устанавливается автоматически |
| rubyzip |
>= 1.3, < 4, устанавливается автоматически |
| Rails | Не требуется |
Добавьте гем в Gemfile:
gem "docxi", "~> 0.1"Затем установите его:
bundle installgem install docxiruby -e 'require "docxi"; puts Docxi::VERSION'В проекте с Bundler запускайте команду как bundle exec ruby -e 'require "docxi"; puts Docxi::VERSION'. Она выводит установленную версию, например 0.1.0.
Если Gemfile фиксирует docxi на версии 0.0.x, например через "~> 0.0.6", замените строку на gem "docxi", "~> 0.1". Затем выполните bundle update docxi. Менять код не нужно, и 0.1.0 создаёт те же документы, что и 0.0.6: набор тестов сравнивает результат с файлами, созданными версией 0.0.6.
Что изменилось внутри:
- nokogiri и rubyzip теперь могут быть любой версии из указанных выше диапазонов, поэтому docxi устанавливается рядом с актуальными версиями Rails.
- docxi больше не требует, чтобы был загружен ActiveSupport.
- Архивы записываются без записей Zip64.
- Изображения загружаются без
Kernel#open, поэтому URL работают в Ruby 3. -
tab,frameи номера страниц в верхних колонтитулах работают.
Приложения на Ruby старше 2.5 по-прежнему получают 0.0.6, потому что 0.1.0 объявляет Ruby 2.5 минимальной версией. Все изменения перечислены в журнале изменений.
Каждая версия Rails проверяется с полностью загруженным фреймворком рядом с docxi.
| Ruby | Rails |
|---|---|
| 2.5 | 5.2 |
| 2.7 | 6.0 |
| 3.0 | 6.1 |
| 3.1 | 7.0 |
| 3.2 | 7.1 |
| 3.3 | 7.2 |
| 3.4 | 8.0 |
| 4.0 | 8.1 |
CI также запускает:
- тесты без Rails на Ruby 2.5, 2.6 и 4.0
- тесты с rubyzip 1.3 (Ruby 2.5), rubyzip 2.4 (Ruby 3.3) и nokogiri 1.11 (Ruby 2.5)
- проверку того, что LibreOffice может конвертировать примеры документов
- nokogiri поставляет предкомпилированные гемы для распространённых платформ Linux, macOS и Windows. Если подходящего нет, он компилируется из исходников, и для этого нужен компилятор C. См. руководство по установке nokogiri.
- CI работает на Ubuntu 24.04, тесты также запускались на macOS. Windows не тестируется.
Конфликты Bundler вокруг nokogiri или rubyzip почти всегда означают, что подбирается старая версия docxi 0.0.6. См. Устранение неполадок.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages