Troubleshooting
Typowe problemy i rozwiązania podczas pracy z Aspose.PDF FOSS dla .NET.
Wczytywanie dokumentu
| Problem | Przyczyna | Solution |
|---|
Document.Open rzuca wyjątek przy prawidłowym PDF | Plik jest chroniony hasłem | Podaj hasło w konstruktorze |
| Brak pamięci przy dużych plikach PDF | Cały plik wczytany do tablicy bajtów | Przetwarzaj strony indywidualnie lub użyj strumieniowania |
Pages[0] rzuca błąd indeksu | Strony używają indeksowania od 1 | Użyj Pages[1] dla pierwszej strony |
Adnotacje
| Problem | Przyczyna | Solution |
|---|
| Adnotacja nie jest widoczna po zapisaniu | Prostokąt ma zerową powierzchnię lub znajduje się poza granicami strony | Sprawdź, czy współrzędne mieszczą się w obrębie strony MediaBox |
LinkAnnotation.Uri zwraca null | Link używa akcji GoTo lub JavaScript | Rozwiąż za pomocą PdfAction.Create i sprawdź ActionType |
Flatten() wyrzuca | Brak adnotacji /P (odniesienie do strony) | Upewnij się, że adnotacja została dodana za pomocą Page.Annotations |
Ekstrakcja tekstu
| Problem | Przyczyna | Solution |
|---|
| Wyodrębniony tekst jest zniekształcony | Niestandardowe kodowanie lub mapowanie czcionki CID | Sprawdź osadzenie czcionek; zeskanowane pliki PDF mogą wymagać OCR |
| Nie znaleziono fragmentów tekstu | Zawartość strony to obraz rastrowy | Użyj OCR przed wyodrębnianiem tekstu |
| Wyrażenie regularne nie zwraca dopasowań | Układ tekstu PDF wstawia białe znaki | Użyj luźniejszego wzorca lub znormalizuj białe znaki |
Renderowanie i konwersja
| Problem | Przyczyna | Solution |
|---|
| Renderowany obraz jest rozmyty | Rozdzielczość zbyt niska | Zwiększ DPI w konstruktorze Resolution |
| Brakujące obrazy w wyjściu HTML | Zewnętrzne ścieżki do obrazów nie są skonfigurowane | Użyj HtmlSaveOptions z osadzonymi obrazami |
| Konwersja PDF/A usuwa adnotacje | Profil docelowy nie zezwala na adnotacje | Użyj PDF/A-2 lub PDF/A-3 |
Pola formularza
| Problem | Przyczyna | Solution |
|---|
| Wartość pola jest pusta | Pole nie ma wpisu /V | Sprawdź, że field.Value nie jest null |
FillField nie ma efektu | Niezgodność nazwy pola | Użyj Form.FieldNames, aby wyświetlić dostępne nazwy |
| ExportToJson generuje pusty wynik | Adnotacja widgetu nie jest poprawnie rzutowana | Zweryfikuj, że adnotacja jest WidgetAnnotation |
Ogólne wskazówki
- Zawsze umieszczaj
Document w using, aby zwolnić uchwyty plików. - Używaj
Document.Open(byte[]) w przepływach pracy w pamięci, aby uniknąć blokad plików. - Sprawdź
doc.Pages.Count przed dostępem do stron według indeksu. - Zapisz dokument raz po wszystkich modyfikacjach, aby uzyskać najlepszą wydajność.
Zobacz także