function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;
| Stream | TStream يستقبل PDF تيار الكائنات الكامل |
| FileName | Output path replaced only after a sibling temporary file succeeds |
| Option | Normal save option or saRemoveSecurity; saIncremental is rejected |
| PdfVersion | Output version from PDF 1.5 upward, or pvUnknown to preserve or upgrade the current version |
| MaxObjectsPerStream | الحد الأقصى لأعضاء الكائنات لكل مجموعة ObjStm؛ الافتراضي 100 |
| MaxDecodedBytesPerStream | الحد الأقصى لحمولة الأعضاء المفكوكة لكل مجموعة؛ الافتراضي 65536 بايت |
True عندما يكتمل إخراج تيار الكائنات بنجاحتستخدم الطريقة أولًا مسار حفظ PDFium العادي كمصدر دلالي، ثم تحل المراجعة النشطة الكلاسيكية أو الهجينة أو xref-stream
تُجسَّد أعضاء object-stream الموجودة قبل إعادة ترقيم المراجع إلى ترتيب محلي للصفحة
تُجمَّع الكائنات غير التيارية المؤهلة حسب كل من عدد الأعضاء وحجم الحمولة المفكوكة، ثم تُضغط بـ Flate فقط عندما يقلل الضغط المجموعة
يظل الكتالوج، وكائنات التيارات، وقواميس التوقيع، وأطوال التيارات غير المباشرة، والقيم الضخمة قابلة للعنونة المباشرة
يستخدم تيار xref خالص أعرضة حقول تكيفية ومدخلات من النوع 2 لكل عضو مضغوط
saIncremental وتصبح التوقيعات الرقمية الموجودة غير صالحةsaRemoveSecurity لأن إعادة ترقيم الكائنات تغيِّر مفاتيح التعمية على مستوى الكائن
// Balance compact output with bounded random-access decompression
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);