Устранение неполадок

Устранение неполадок

Устранение неполадок

Распространённые проблемы и решения при работе с Aspose.PDF FOSS для .NET.


Загрузка документа

ProblemCauseSolution
Document.Open бросает исключение при действительном PDFФайл защищён паролемПередайте пароль в конструкторе
Недостаточно памяти при больших PDFВесь файл загружается в массив байтовОбрабатывайте страницы по отдельности или используйте потоковую обработку
Pages[0] бросает ошибку индексаСтраницы используют индексацию, начинающуюся с 1Используйте Pages[1] для первой страницы

Аннотации

ПроблемаПричинаРешение
Аннотация не видна после сохраненияПрямоугольник имеет нулевую площадь или находится за пределами страницыУбедитесь, что координаты находятся в пределах страницы MediaBox
LinkAnnotation.Uri возвращает nullСсылка использует действие GoTo или JavaScriptРешите через PdfAction.Create и проверьте ActionType
Flatten() генерирует исключениеВ аннотации отсутствует ссылка /P (страница)Убедитесь, что аннотация была добавлена через Page.Annotations

Извлечение текста

ПроблемаПричинаРешение
Извлечённый текст искаженНестандартная кодировка или сопоставление шрифтов CIDПроверьте встраивание шрифтов; отсканированные PDF могут потребовать OCR
Не найдено текстовых фрагментовСодержимое страницы — растровое изображениеИспользуйте OCR перед извлечением текста
Регулярное выражение не возвращает совпаденийРазметка текста PDF вставляет пробелыИспользуйте более свободный шаблон или нормализуйте пробелы

Рендеринг и конверсия

ProblemCauseSolution
Rendered image is blurryResolution too lowIncrease DPI in Resolution constructor
HTML output missing imagesExternal image paths not configuredUse HtmlSaveOptions with embedded images
PDF/A conversion removes annotationsTarget profile disallows annotationsUse PDF/A-2 or PDF/A-3

Поля формы

ПроблемаПричинаРешение
Значение поля пустоПоле не имеет записи /VПроверьте, что field.Value не равно null
FillField не оказывает эффектаНесоответствие имени поляИспользуйте Form.FieldNames для списка доступных имен
ExportToJson возвращает пустой выводАннотация виджета некорректно приведенаУбедитесь, что аннотация является WidgetAnnotation

Общие рекомендации

  • Всегда оборачивайте Document в using, чтобы освободить дескрипторы файлов.
  • Используйте Document.Open(byte[]) для потоков в памяти, чтобы избежать блокировок файлов.
  • Проверьте doc.Pages.Count перед доступом к страницам по индексу.
  • Сохраняйте документ один раз после всех изменений для лучшей производительности.

См. также

 Русский