Усунення проблем
Типові проблеми та рішення при роботі з Aspose.PDF FOSS для .NET.
Завантаження документа
| Problem | Cause | Solution |
|---|
Document.Open викидає виключення при дійсному PDF | Файл захищений паролем | Передайте пароль у конструкторі |
| Недостатньо пам’яті при великих PDF | Увесь файл завантажується у масив байтів | Обробляйте сторінки окремо або використовуйте потокову обробку |
Pages[0] викидає помилку індексу | Сторінки використовують індексацію, починаючи з 1 | Використовуйте Pages[1] для першої сторінки |
Анотації
| Проблема | Причина | Рішення |
|---|
| Анотація не видима після збереження | Прямокутник має нульову площу або знаходиться поза межами сторінки | Перевірте, чи координати знаходяться в межах сторінки MediaBox |
LinkAnnotation.Uri повертає null | Посилання використовує дію GoTo або JavaScript | Вирішіть за допомогою PdfAction.Create і перевірте ActionType |
Flatten() викидає | У анотації відсутня посилання /P (сторінка) | Переконайтеся, що анотація була додана через Page.Annotations |
Витяг тексту
| Problem | Cause | Solution |
|---|
| Витягнутий текст спотворений | Нестандартне кодування або відображення шрифту CID | Перевірте вбудовування шрифту; скановані PDF можуть потребувати OCR |
| Не знайдено текстових фрагментів | Вміст сторінки — растрове зображення | Використайте OCR перед витягом тексту |
| Регулярний вираз не повертає збігів | Розмітка тексту PDF вставляє пробіли | Використайте менш жорсткий шаблон або нормалізуйте пробіли |
Візуалізація та конвертація
| Problem | Cause | Solution |
|---|
| Rendered image is blurry | Resolution too low | Increase DPI in Resolution constructor |
| HTML output missing images | External image paths not configured | Use HtmlSaveOptions with embedded images |
| PDF/A conversion removes annotations | Target profile disallows annotations | Use PDF/A-2 or PDF/A-3 |
Поля форми
| Problem | Cause | Solution |
|---|
| Значення поля порожнє | Поле не має запису /V | Перевірте, що field.Value не дорівнює null |
FillField не має ефекту | Несумісність імені поля | Використайте Form.FieldNames для переліку доступних імен |
| ExportToJson повертає порожній результат | Анотація віджету не правильно приведена | Перевірте, що анотація є WidgetAnnotation |
Загальні поради
- Завжди обгортуйте
Document у using, щоб звільнити дескриптори файлів. - Використовуйте
Document.Open(byte[]) для робочих процесів у пам’яті, щоб уникнути блокувань файлів. - Перевіряйте
doc.Pages.Count перед доступом до сторінок за індексом. - Зберігайте документ один раз після усіх змін для кращої продуктивності.
Див. також