Устранение неполадок Aspose.Words FOSS for .NET

Устранение неполадок Aspose.Words FOSS for .NET

Эта страница охватывает распространённые проблемы, возникающие при сборке и использовании Aspose.Words FOSS для .NET, а также способы их решения.


Проблемы сборки и установки

dotnet add package Aspose.Words не может найти пакет

Эта команда указывает на коммерческий пакет Aspose.Words, а не на FOSS-издание — идентификатор FOSS-пакета: Aspose.Words.FOSS:

dotnet add package Aspose.Words.FOSS

В качестве альтернативы выполните git clone, чтобы получить исходный код, затем cd в клонированную папку и запустите dotnet build для решения:

git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release

Затем добавьте ссылку на проект Aspose.Words.csproj из вашего собственного приложения, а не ссылку на пакет.

Ссылка на проект не разрешается после клонирования

Убедитесь, что ссылка указывает на Aspose.Words.csproj внутри клонированной папки Aspose.Words-FOSS-for-.NET/Aspose.Words/, и что решение сначала успешно собирается (dotnet build Aspose.Words.sln -c Release). Библиотека нацелена на .NET Standard 2.0, поэтому любой SDK, нацеленный на .NET Framework 4.6.2+ или .NET 6/8/10, может ссылаться на неё.


Проблемы загрузки

UnsupportedFileFormatException при загрузке документа

UnsupportedFileFormatException выбрасывается во время загрузки, когда формат файла не распознан или не поддерживается этой редакцией. Форматы загрузки этой редакции: DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown и обычный текст — передача неподдерживаемого пути, например input.doc, в конструктор Document вызывает это исключение вместо возвращения загруженного документа:

using Aspose.Words;

try
{
    Document doc = new Document("input.doc");
}
catch (UnsupportedFileFormatException ex)
{
    Console.WriteLine("Format not supported by this edition: " + ex.Message);
}

Отлавливание UnsupportedFileFormatException вокруг конструктора Document позволяет вывести понятное сообщение вместо того, чтобы исключение распространялось в виде необработанного стека вызовов.

FileCorruptedException на файле, который выглядит корректным

FileCorruptedException выбрасывается во время загрузки, когда файл кажется повреждённым и не может быть проанализирован — например, файл .docx, который не является корректным ZIP-based OOXML пакетом, или файл, усечённый во время передачи. Получите файл заново из его источника и убедитесь, что он открывается корректно, прежде чем загружать его с помощью Document.

IncorrectPasswordException при открытии защищённого документа

Это выбрасывается, когда документ зашифрован паролем, а пароль, переданный в перегрузку LoadOptions конструктора Document, отсутствует или неверен. Перед загрузкой укажите правильный пароль через LoadOptions.Password.


Проблемы с сохранением и экспортом

Document.Save() в PDF, XPS или в формат изображения не удалось.

В этом издании отсутствует подсистема верстки и рендеринга, поэтому Document.Save() не может экспортировать в PDF, XPS или форматы изображений.

Сохраните в DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown или простой текст вместо этого — именно эти форматы эта редакция действительно записывает. Коммерческая Aspose.Words для .NET добавляет вывод в PDF, XPS и изображения.

Номера страниц и записи оглавления всегда показывают 0.

Aspose.Words FOSS для .NET включает полноценный движок оценки полей, поэтому поля содержимого, такие как DATE и DOCPROPERTY, обновляются корректно. Поля, зависящие от разметки страницы — номера страниц, NUMPAGES и элементы Оглавления — оцениваются как заполнитель 0 вместо вычисленного значения, потому что в этом издании отсутствует движок разметки, который обычно нумерует документ. Это ожидаемое поведение в данном издании, а не ошибка.


Проблемы с цифровой подписью

Подписание документа не оказывает эффекта

DigitalSignatureUtil.Sign() и связанные с ним API подписи присутствуют в объектной модели для структурной совместимости с коммерческим продуктом, но создание новой подписи не работает в этой FOSS-версии — вызов их не приводит к получению подписанного результата. Эта версия может просматривать и проверять подписи, уже вложенные в документ, через Document.DigitalSignatures и DigitalSignatureUtil.LoadSignatures(), однако процесс подписи требует коммерческого Aspose.Words для .NET.


Проблемы со шрифтами

Встроенные шрифты больше, чем ожидалось

Когда включено EmbedTrueTypeFonts, шрифты встраиваются целыми файлами, а не подмножеством только тех глифов, которые действительно используются в документе, поэтому сохраняемые файлы с встраиваемыми шрифтами крупнее, чем аналогичный вывод коммерческого продукта. В этом издании нет обходного решения — подмножество встроенных шрифтов не включено.


См. также:

 Русский