Indholdsoperationer

Indholdsoperationer

Indholdsoperationer

PDF-sider renderes af en sekvens af operatorer gemt i en indholdsstrøm. Aspose.PDF FOSS for .NET eksponerer disse operatorer gennem OperatorCollection på hver Page, og leverer ContentStreamBuilder til at konstruere nyt indhold programmatisk.


Læser indholdsstrøm-operatorer

Hver Page har en Contents-egenskab, der returnerer en OperatorCollection. Iterer den for at inspicere hver operator.

using var doc = Document.Open(pdfBytes);
var page = doc.Pages[1];

foreach (var op in page.Contents)
{
    Console.WriteLine(op.ToString());
}

Opbygning af indholdsstrømme

ContentStreamBuilder leverer et flydende API til at konstruere indholdsstrøm-operatorsekvenser inklusive styring af grafisk tilstand, stikonstruering, tekstoutput og farveindstillinger.

var builder = new ContentStreamBuilder();
builder.SaveState();
builder.SetFillColor(1.0, 0.0, 0.0);  // Red fill
builder.SetMatrix(1, 0, 0, 1, 72, 700); // Translate
// ... add drawing or text operators
builder.RestoreState();

Grafisk tilstand

GraphicsState sporer den aktuelle transformationsmatrix, teksttilstand og farveværdier, mens operatorer udføres. Nøgleoperationer:

var gs = new GraphicsState();
gs.Save();
gs.ConcatMatrix(new Matrix(1, 0, 0, 1, 100, 200));
gs.Restore();

Farveoperatorer

SetColor og SetColorStroke indstiller henholdsvis udfyldnings- og stregfarver. De accepterer RGB-, CMYK- eller gråskala‑komponenter.

// RGB fill color (blue)
var fill = new SetColor(0, 0, 1);

// RGB stroke color (red)
var stroke = new SetColorStroke(1, 0, 0);

Tekstoperatorer

ShowText gengiver en tekststreng på den aktuelle tekstposition ved at bruge den aktuelle skrifttype og størrelse fra grafisk tilstand.

var textOp = new ShowText("Hello, PDF!");

SetTextMatrix placerer tekst ved at definere en transformationsmatrix for tekstrum.


Udvidet grafisk tilstand

ExtGState styrer avancerede gengivelsesegenskaber som fyld og streg alfa (gennemsigtighed) og blandingsmode.


Tips og bedste praksis

  • Par altid SaveState / RestoreState (eller q / Q operatorer) for at undgå at korrumpere grafikkens tilstandsstak.
  • Brug ContentStreamBuilder til nyt indhold i stedet for manuelt at konstruere operator‑objekter.
  • Undersøg OperatorCollection skrivebeskyttet, før du ændrer den — uventede operatorkombinationer kan forårsage gengivelsesproblemer.
  • Farveoperatorer skal matche det aktuelle farverum (RGB, CMYK eller gråtoner).
  • Brug SetAdvancedColor til mønster‑ og ICC‑baserede farverum.

Almindelige problemer

ProblemÅrsagLøsning
Tekst er ikke synlig efter tilføjelse af operatorerIngen skrifttype indstillet i teksttilstandTilføj en SetFont operator før ShowText
Farver vises forkertFarverumsmismatch (RGB vs CMYK)Brug den operator, der matcher det aktive farverum
GrafiktilstandsstakoverløbUbalancerede Save / Restore parSørg for at hver SaveState har en tilsvarende RestoreState
Indhold vises på forkert positionManglende eller forkert matrixtransformBekræft værdierne for SetMatrix eller ConcatMatrix

OSS

Hvad er en PDF-indholdsstrøm?

En indholdsstrøm er en sekvens af operatorer, der beskriver, hvordan man gengiver en side — tegner stier, placerer tekst, indstiller farver og håndterer grafisk tilstand.

Kan jeg tilføje nyt indhold til en eksisterende side?

Ja. Få adgang til page.Contents og tilføj nye operatorer, eller brug ContentStreamBuilder til at konstruere en sekvens og tilføje den.

Hvordan gør jeg teksten gennemsigtig?

Brug ExtGState til at indstille fyld‑alfa (ca) til en værdi mellem 0 (fuldt gennemsigtig) og 1 (fuldt ugennemsigtig).


API-referencens oversigt

Klasse / MetodeBeskrivelse
OperatorCollectionSekvens af indholdsstrøm-operatorer på en side
ContentStreamBuilderFlydende builder til at konstruere operatorsekvenser
ContentStreamBuilder.SaveStateSkub den aktuelle grafiske tilstand på stakken
ContentStreamBuilder.RestoreStatePop grafisk tilstand fra stakken
ContentStreamBuilder.SetFillColorIndstil udfyldningsfarven i den aktuelle farverum
ContentStreamBuilder.SetMatrixAnvend en koordinattransformation
GraphicsStateSporer transformationsmatrix, farve og teksttilstand
SetColorOperator der indstiller den ikke-stroking (fyld) farve
SetColorStrokeOperator der indstiller stroking-farven
SetAdvancedColorOperator for mønster / ICC-baserede farverum
ShowTextOperator der gengiver en tekststreng
SetTextMatrixOperator der positionerer tekst via en matrix
ExtGStateUdvidet grafisk tilstand (alpha, blandingstilstand)

Se også

 Dansk