Satura operācijas

Satura operācijas

Satura operācijas

PDF lapas tiek renderētas ar operatoru secību, kas saglabāta satura plūsmā. Aspose.PDF FOSS for .NET atklāj šos operatorus caur OperatorCollection katrā Page, un nodrošina ContentStreamBuilder jaunas satura programmatiskai izveidei.


Satura plūsmas operatoru lasīšana

Katrs Page ir ar Contents īpašību, kas atgriež OperatorCollection. Iterējiet to, lai pārbaudītu katru operatoru.

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

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

Satura plūsmu izveide

ContentStreamBuilder nodrošina plūstošu API satura plūsmas operatoru secību konstruēšanai, ieskaitot grafikas‑stāvokļa pārvaldību, ceļa konstruēšanu, teksta izvadi un krāsu iestatījumus.

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();

Grafikas stāvoklis

GraphicsState seko pašreizējai transformācijas matricai, teksta stāvoklim un krāsu vērtībām, kad operatori tiek izpildīti. Galvenās operācijas:

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

Krāsu operatori

SetColor un SetColorStroke iestata aizpildījuma un kontūras krāsas attiecīgi.
Tie pieņem RGB, CMYK vai pelēktoņu komponentes.

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

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

Teksta operatori

ShowText attēlo teksta virkni pašreizējā teksta pozīcijā, izmantojot pašreizējo fontu un izmēru no grafikas stāvokļa.

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

SetTextMatrix pozicionē tekstu, definējot transformācijas matricu teksta telpai.


Paplašināts grafikas stāvoklis

ExtGState kontrolē uzlabotas renderēšanas īpašības, piemēram, aizpildes un kontūras alfu (caurspīdīgumu) un jaukšanas režīmu.


Padomi un labākā prakse

  • Vienmēr pāru SaveState / RestoreState (vai q / Q operatorus), lai izvairītos no grafiskā stāvokļa steka bojāšanas.
  • Izmantojiet ContentStreamBuilder jaunam saturam, nevis manuāli konstruējot operatora objektus.
  • Pārbaudiet OperatorCollection tikai lasīšanai pirms modificēšanas — negaidītas operatoru sekvences var radīt renderēšanas problēmas.
  • Krāsu operatoriem jāatbilst pašreizējai krāsu telpai (RGB, CMYK vai pelēktoņu).
  • Izmantojiet SetAdvancedColor rakstu un ICC balstītām krāsu telpām.

Biežāk sastopamās problēmas

ProblēmaIemeslsLabojums
Teksts nav redzams pēc operatoru pievienošanasTeksta stāvoklī nav iestatīts fontsPievienojiet SetFont operatoru pirms ShowText
Krāsas izskatās nepareiziKrāstelpas neatbilstība (RGB pret CMYK)Izmantojiet operatoru, kas atbilst aktīvai krāstelpai
Grafikas stāvokļa steka pārplūdeNelīdzsvarotas Save / Restore pāriPārliecinieties, ka katram SaveState ir atbilstošs RestoreState
Saturs parādās nepareizā pozīcijāTrūkst vai nepareiza matricas transformācijaPārbaudiet SetMatrix vai ConcatMatrix vērtības

BUJ

Kas ir PDF satura plūsma?

Satura plūsma ir operatoru secība, kas apraksta, kā attēlot lapu — zīmējot ceļus, novietojot tekstu, iestatot krāsas un pārvaldot grafikas stāvokli.

Vai es varu pievienot jaunu saturu esošai lapai?

Jā. Piekļūstiet page.Contents un pievienojiet jaunus operatorus, vai izmantojiet ContentStreamBuilder, lai izveidotu secību un pievienotu to.

Kā es varu padarīt tekstu caurspīdīgu?

Izmantojiet ExtGState, lai iestatītu aizpildījuma alfa (ca) uz vērtību starp 0 (pilnīgi caurspīdīgs) un 1 (pilnīgi necaurspīdīgs).


API atsauces kopsavilkums

Class / MethodDescription
OperatorCollectionSatura plūsmas operatoru secība lapā
ContentStreamBuilderPlūstošs būvētājs operatoru secību konstruēšanai
ContentStreamBuilder.SaveStateIeliek pašreizējo grafisko stāvokli stekā
ContentStreamBuilder.RestoreStateIzņem grafisko stāvokli no steka
ContentStreamBuilder.SetFillColorIestata aizpildīšanas krāsu pašreizējā krāsu telpā
ContentStreamBuilder.SetMatrixPielieto koordinātu transformāciju
GraphicsStateIzseko transformācijas matricu, krāsu un teksta stāvokli
SetColorOperators, kas iestata neapvilkšanas (aizpildīšanas) krāsu
SetColorStrokeOperators, kas iestata apvilkšanas krāsu
SetAdvancedColorOperators paraugu / ICC balstītām krāsu telpām
ShowTextOperators teksta virknes renderēšanai
SetTextMatrixOperators teksta pozicionēšanai caur matricu
ExtGStatePaplašināts grafiskais stāvoklis (alfa, sajaukšanas režīms)

Skatīt arī

 Latviešu