Operasi Kandungan

Operasi Kandungan

Operasi Kandungan

Halaman PDF dipaparkan oleh satu urutan operator yang disimpan dalam aliran kandungan.
Aspose.PDF FOSS for .NET mendedahkan operator-operator ini melalui OperatorCollection
pada setiap Page, dan menyediakan ContentStreamBuilder untuk membina kandungan baru
secara programatik.


Membaca operator aliran kandungan

Setiap Page mempunyai sifat Contents yang mengembalikan OperatorCollection. Iterasikan ia untuk memeriksa setiap operator.

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

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

Membina aliran kandungan

ContentStreamBuilder menyediakan API yang lancar untuk membina urutan operator content-stream termasuk pengurusan keadaan-grafik, pembinaan laluan, output teks, dan tetapan warna.

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

Keadaan grafik

GraphicsState menjejaki matriks transformasi semasa, keadaan teks, dan nilai warna semasa operator dilaksanakan. Operasi utama:

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

Operator warna

SetColor dan SetColorStroke menetapkan warna isi dan warna garis masing-masing. Mereka menerima komponen RGB, CMYK, atau skala kelabu.

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

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

Operator teks

ShowText memaparkan rentetan teks pada kedudukan teks semasa menggunakan fon dan saiz semasa daripada keadaan grafik.

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

SetTextMatrix menempatkan teks dengan mendefinisikan matriks transformasi untuk ruang teks.


Keadaan grafik lanjutan

ExtGState mengawal sifat rendering lanjutan seperti isi dan stroke alpha (ketelusan) dan blend mode.


Petua dan Amalan Terbaik

  • Sentiasa padankan SaveState / RestoreState (atau operator q / Q) untuk mengelakkan kerosakan pada timbunan keadaan grafik.
  • Gunakan ContentStreamBuilder untuk kandungan baru daripada membina objek operator secara manual.
  • Periksa OperatorCollection dalam mod baca sahaja sebelum mengubah — urutan operator yang tidak dijangka boleh menyebabkan masalah rendering.
  • Operator warna mesti sepadan dengan ruang warna semasa (RGB, CMYK, atau skala kelabu).
  • Gunakan SetAdvancedColor untuk ruang warna berasaskan corak dan ICC.

Isu Umum

IssueCauseFix
Teks tidak kelihatan selepas menambah operatorTiada fon ditetapkan dalam keadaan teksTambah operator SetFont sebelum ShowText
Warna muncul salahTidak sepadan ruang warna (RGB vs CMYK)Gunakan operator yang sepadan dengan ruang warna aktif
Tumpukan keadaan grafik melimpahPasangan Save / Restore tidak seimbangPastikan setiap SaveState mempunyai padanan RestoreState
Kandungan muncul pada kedudukan yang salahTransformasi matriks hilang atau tidak betulSahkan nilai SetMatrix atau ConcatMatrix

Soalan Lazim

Apakah aliran kandungan PDF?

Aliran kandungan adalah satu urutan operator yang menerangkan cara untuk memaparkan halaman — melukis laluan, meletakkan teks, menetapkan warna, dan mengurus keadaan grafik.

Bolehkah saya menambah kandungan baru pada halaman yang sedia ada?

Ya. Akses page.Contents dan tambahkan operator baru, atau gunakan ContentStreamBuilder untuk membina satu urutan dan menambahkannya.

Bagaimana saya membuat teks telus?

Gunakan ExtGState untuk menetapkan alfa isi (ca) kepada nilai antara 0 (sepenuhnya telus) dan 1 (sepenuhnya legap).


Ringkasan Rujukan API

Kelas / KaedahKeterangan
OperatorCollectionUrutan operator aliran‑kandungan pada halaman
ContentStreamBuilderPembina beralir untuk membina urutan operator
ContentStreamBuilder.SaveStateTolak keadaan grafik semasa ke atas timbunan
ContentStreamBuilder.RestoreStateKeluarkan keadaan grafik dari timbunan
ContentStreamBuilder.SetFillColorTetapkan warna isi dalam ruang warna semasa
ContentStreamBuilder.SetMatrixTerapkan transformasi koordinat
GraphicsStateMenjejaki matriks transformasi, warna, dan keadaan teks
SetColorOperator yang menetapkan warna tidak‑garis (isi)
SetColorStrokeOperator yang menetapkan warna garisan
SetAdvancedColorOperator untuk ruang warna berasaskan corak / ICC
ShowTextOperator yang memaparkan rentetan teks
SetTextMatrixOperator yang menempatkan teks melalui matriks
ExtGStateKeadaan grafik lanjutan (alfa, mod campuran)

Lihat Juga

 Bahasa Melayu