Функція HPDFTransferStream
Переносить байти з поточної позиції джерела в поточну позицію призначення та уникає проміжного копіювання для підтримуваних типів зберігання
Оголошення
function HPDFTransferStream(
Source, Destination: TStream;
Count: Int64 = -1): Int64;
Модуль
HPDFObjs
Шляхи перенесення
TMemoryStreamзаписує безпосередньо зі свого покажчика пам'яті, не виділяючи буфер перенесенняTFileStreamзаписує безпосередньо з обмежених доступних лише для читання відображених представлень і автоматично перемикається на запасний шлях, коли відображення недоступнеTHPDFMappedFileStreamі підкріплений джереломTHPDFLazyFileStreamзаписують безпосередньо з резидентних відображених вікон- Потоки з довільним доступом делегують
THPDFRandomAccessSource.TransferAt, тоді якTHPDFCoalescingRandomAccessSourceзаписує збережені блоки кешу безпосередньо - Інші класи потоків використовують запасний буфер обмеженого розміру 64 КіБ
Лічильник і позиції
Count, що дорівнює -1, переносить усі байти, що лишилися від поточної позиції джерела; нуль нічого не переносить, а додатне значення обмежується доступними байтами; значення нижчі за -1 відхиляються
Обидві позиції потоків зсуваються на кількість повернених байтів; джерело та призначення мають бути різними ненулевими об'єктами
Інтеграція з PDF-письменником
Тіла незашифрованих PDF-потоків, декодований вивід без фільтрів, необроблений експорт завантажених зображень, матеріалізація лінивих потоків і адаптивне відкидання тимчасових потоків автоматично використовують цей шар перенесення
Тіла зашифрованих потоків усе ще потребують етапу перетворення, оскільки їхні байти й довжина змінюються до серіалізації