Urządzenia i renderowanie
Urządzenia i renderowanie
Aspose.PDF FOSS for .NET udostępnia klasy urządzeń, które renderują strony PDF do obrazów rastrowych. Każde urządzenie obsługuje określony format — TIFF, JPEG, PNG lub BMP — i przyjmuje parametry rozdzielczości i jakości.
Renderowanie do PNG
PngDevice konwertuje stronę PDF na obraz PNG.
using var doc = Document.Open(pdfBytes);
var device = new PngDevice(new Resolution(300));
using var stream = File.Create("page1.png");
device.Process(doc.Pages[1], stream);Renderowanie do JPEG
JpegDevice konwertuje stronę do formatu JPEG z konfigurowalną jakością.
var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);Renderowanie do TIFF
TiffDevice konwertuje jedną lub więcej stron na wielostronicowy obraz TIFF.TiffSettings kontroluje kompresję, głębię kolorów i kształt.
var settings = new TiffSettings();
var device = new TiffDevice(new Resolution(200), settings);
using var stream = File.Create("document.tiff");
device.Process(doc, stream); // All pagesRenderowanie do BMP
BmpDevice konwertuje stronę na nieskompresowaną bitmapę.
var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);Kontrola rozdzielczości
Wszystkie urządzenia akceptują obiekt Resolution określający DPI.
var lowRes = new Resolution(72); // Screen quality
var midRes = new Resolution(150); // Print draft
var hiRes = new Resolution(300); // Print qualityEkstrakcja tekstu przy użyciu TextDevice
TextDevice wyodrębnia tekst ze strony przy użyciu potoku przetwarzania urządzenia.
var device = new TextDevice();
using var stream = new MemoryStream();
device.Process(doc.Pages[1], stream);
string text = System.Text.Encoding.UTF8.GetString(stream.ToArray());Wskazówki i najlepsze praktyki
- Użyj 300 DPI do wyjścia o jakości druku i 72‑150 DPI do użytku na ekranie/stronie internetowej.
TiffDevicemoże przetworzyć cały dokument w jednym wywołaniu; inne urządzenia przetwarzają jedną stronę na raz.- Wartości jakości JPEG mieszczą się w przedziale 0‑100; 85‑90 zapewnia dobrą równowagę między jakością a rozmiarem pliku.
- Przy konwersji wsadowej iteruj strony i przetwarzaj każdą przy użyciu odpowiedniego urządzenia.
- Zwolnij strumienie po przetworzeniu, aby zwolnić uchwyty plików.
Typowe problemy
| Issue | Cause | Fix |
|---|---|---|
| Obraz jest rozmyty | Rozdzielczość zbyt niska | Zwiększ DPI w konstruktorze Resolution |
| Plik TIFF jest za duży | Ustawienia nieskompresowane lub wysokiej rozdzielczości | Skonfiguruj kompresję TiffSettings |
| Strumień wyjściowy jest pusty | Process nie wywołano lub indeks strony jest nieprawidłowy | Sprawdź, czy strona istnieje i Process zostało wykonane |
FAQ
Czy mogę renderować określony zakres stron do TIFF?
Tak. TiffDevice.Process ma przeciążenia przyjmujące numery stron początkowej i końcowej.
Jakie typy kompresji obsługuje TiffSettings?
LZW, CCITT3, CCITT4, RLE, None i inne standardowe typy kompresji TIFF.
Czy mogę kontrolować wymiary wyjściowego obrazu?
Tak. Konstruktorzy urządzeń akceptują parametry szerokości i wysokości oprócz lub zamiast rozdzielczości.
API Podsumowanie odniesienia
| Class / Method | Description |
|---|---|
PngDevice | Renderuj stronę do formatu PNG |
JpegDevice | Renderuj stronę do formatu JPEG z kontrolą jakości |
TiffDevice | Renderuj strony do wielostronicowego TIFF |
BmpDevice | Renderuj stronę do formatu BMP |
ImageDevice | Klasa bazowa dla wszystkich urządzeń renderowania obrazu |
DocumentDevice | Klasa bazowa dla urządzeń przetwarzających całe dokumenty |
TextDevice | Wyodrębnij tekst za pośrednictwem potoku urządzenia |
Resolution | Specyfikacja DPI dla renderowania |
TiffSettings | Konfiguracja wyjścia TIFF (kompresja, głębia kolorów) |