Устранение неполадок 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, шрифты встраиваются целыми файлами, а не подмножеством только тех глифов, которые действительно используются в документе, поэтому сохраняемые файлы с встраиваемыми шрифтами крупнее, чем аналогичный вывод коммерческого продукта. В этом издании нет обходного решения — подмножество встроенных шрифтов не включено.