Enheter och Rendering
Enheter och rendering
Aspose.PDF FOSS for .NET tillhandahåller enhetsklasser som renderar PDF‑sidor till rasterbilder. Varje enhet riktar sig mot ett specifikt format — TIFF, JPEG, PNG eller BMP — och accepterar upplösnings‑ och kvalitetsparametrar.
Rendera till PNG
PngDevice konverterar en PDF-sida till en PNG-bild.
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);Rendering till JPEG
JpegDevice konverterar en sida till JPEG med konfigurerbar kvalitet.
var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);Rendera till TIFF
TiffDevice konverterar en eller flera sidor till en flersidig TIFF-bild.TiffSettings styr komprimering, färgdjup och form.
var settings = new TiffSettings();
var device = new TiffDevice(new Resolution(200), settings);
using var stream = File.Create("document.tiff");
device.Process(doc, stream); // All pagesRendering till BMP
BmpDevice konverterar en sida till en okomprimerad bitmap.
var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);Upplösningskontroll
Alla enheter accepterar ett Resolution-objekt som specificerar DPI.
var lowRes = new Resolution(72); // Screen quality
var midRes = new Resolution(150); // Print draft
var hiRes = new Resolution(300); // Print qualityTextutdrag via TextDevice
TextDevice extraherar text från en sida med hjälp av enhetens bearbetningspipeline.
var device = new TextDevice();
using var stream = new MemoryStream();
device.Process(doc.Pages[1], stream);
string text = System.Text.Encoding.UTF8.GetString(stream.ToArray());Tips och bästa praxis
- Använd 300 DPI för utskriftskvalitet och 72‑150 DPI för skärm/webbanvändning.
TiffDevicekan bearbeta hela dokumentet i ett anrop; andra enheter bearbetar en sida åt gången.- JPEG‑kvalitetsvärden sträcker sig från 0‑100; 85‑90 ger en bra balans mellan kvalitet och filstorlek.
- För batchkonvertering, iterera sidor och bearbeta varje med lämplig enhet.
- Frigör strömmar efter bearbetning för att släppa filhandtag.
Vanliga problem
| Issue | Cause | Fix |
|---|---|---|
| Bilden är suddig | Upplösningen är för låg | Öka DPI i Resolution-konstruktorn |
| TIFF-fil för stor | Okopprimerade eller högupplösta inställningar | Konfigurera TiffSettings-komprimering |
| Utdatastreamen är tom | Process anropas inte eller sidindex fel | Verifiera att sidan finns och att Process slutförs |
Vanliga frågor
Kan jag rendera ett specifikt sidintervall till TIFF?
Ja. TiffDevice.Process har överladdningar som accepterar start- och slutsidnummer.
Vilka komprimeringstyper stöder TiffSettings?
LZW, CCITT3, CCITT4, RLE, Ingen och andra standard TIFF‑komprimeringstyper.
Kan jag styra utdata bildens dimensioner?
Ja. Enhetskonstruktörer accepterar bredd‑ och höjdpunktsparametrar utöver eller i stället för upplösning.
API-referenssammanfattning
| Class / Method | Description |
|---|---|
PngDevice | Rendera en sida till PNG-format |
JpegDevice | Rendera en sida till JPEG med kvalitetskontroll |
TiffDevice | Rendera sidor till flersidig TIFF |
BmpDevice | Rendera en sida till BMP-format |
ImageDevice | Bas-klass för alla bildrenderingsenheter |
DocumentDevice | Bas-klass för enheter som bearbetar hela dokument |
TextDevice | Extrahera text via enhetens pipeline |
Resolution | DPI-specifikation för rendering |
TiffSettings | TIFF-utdata konfiguration (komprimering, färgdjup) |