Repository navigation
Troubleshooting ru
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
Найдите свой симптом ниже. Большинство проблем в старых приложениях вызваны docxi 0.0.x, и обновление до 0.1.0 устраняет их без изменения кода.
Bundler не находит совместимые версии nokogiri в приложении на Rails 6+.
docxi 0.0.6 фиксирует nokogiri < 1.7, а всем версиям Rails начиная с 6.0 нужен nokogiri 1.8.5 или новее. Используйте gem "docxi", "~> 0.1".
Bundler не находит совместимые версии rubyzip.
docxi 0.0.6 фиксирует rubyzip ~> 0.9.9, что конфликтует с любым гемом, которому нужен более новый rubyzip. docxi 0.1.0 принимает rubyzip от 1.3 до 3.x.
Bundler продолжает устанавливать 0.0.6.
Либо Gemfile фиксирует docxi на версии 0.0.x, например через "~> 0.0.6", либо версия Ruby ниже 2.5, а 0.1.0 требует как минимум 2.5. Замените строку в Gemfile на gem "docxi", "~> 0.1" и проверьте ruby -v.
nokogiri не компилируется. Для вашей платформы нет подходящего предкомпилированного гема nokogiri, поэтому он собирается из исходников. Установите компилятор C и следуйте руководству по установке nokogiri.
NoMethodError: undefined method 'present?' вне Rails.
docxi 0.0.6 рассчитывал, что ActiveSupport уже загружен. Версии 0.1.0 он не нужен.
NameError при вызове tab, frame или page_numbers верхнего колонтитула.
В 0.0.6 эти методы не работали, а в 0.1.0 работают, включая document.frame("text").
Errno::ENOENT при добавлении изображения.
Путь не существует относительно каталога, в котором запущена программа. В Ruby 3 с docxi 0.0.6 так же падают и URL изображений, потому что 0.0.6 использовал Kernel#open. 0.1.0 скачивает URL через URI#open.
Google Docs или LibreOffice не открывают файл. docxi 0.0.6 с rubyzip 3 записывает записи Zip64 в каждую запись архива, а эти программы их отклоняют. 0.1.0 записывает архивы без них.
На первой странице нет колонтитулов.
docxi задаёт первой странице собственные колонтитулы. Установите их через add_first_header и add_first_footer. См. Настройка.
Пропало поле или макет страницы выглядит неправильно.
Задавая поля, передавайте top, right, bottom и left вместе. Пропущенные значения записываются пустыми.
Пропадают пробелы между фрагментами текста.
Word удаляет пробелы в начале или в конце фрагмента. Добавьте space: true в этот вызов text.
Изображения в колонтитулах, в ячейках таблиц или с pH/pV получаются крошечными или квадратными.
Известная проблема 0.1.0: их размер вычисляется как width * height * 14.92 EMU по обоим измерениям. Используйте встроенные изображения с размером, заданным через style:, или обходной путь из раздела Рекомендации.
Изображение пропадает при повторном формировании того же документа.
Изображения, добавленные из открытого File или другого IO, читаются во время render, и при повторном формировании читается пустой поток. Передавайте путь или формируйте документ один раз.
Границы, заданные для table, появляются вокруг каждой ячейки.
Известная проблема: borders: на уровне таблицы применяются к каждой ячейке, а не к внешнему контуру таблицы. Чтобы нарисовать только контур, задайте borders: для крайних ячеек и только для их внешних сторон.
Номера страниц в ячейках таблиц начинаются с «GlobalOptions».
Известная проблема TableCell#page_numbers. Размещайте номера страниц в колонтитулах.
Изображение JPEG или GIF выглядит неправильно или не отображается. Каждое изображение сохраняется как часть PNG с типом содержимого PNG, независимо от реального формата, поэтому некоторые программы могут не показывать другие форматы. Перед добавлением преобразуйте изображения в PNG.
.docx — это zip-архив, поэтому его содержимое можно посмотреть:
unzip -l report.docx
unzip -p report.docx word/document.xmlЕсли проблема осталась, создайте issue с коротким скриптом, который её воспроизводит, и версиями Ruby, docxi, nokogiri и rubyzip.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages