ÐоÑÑавеÑе ÑканиÑан оÑÑÐµÑ Ð¾Ñ 80 MB зад вÑÑзка, оÑвоÑеÑе го в бÑаÑзÑÑ Ð¸ вижÑе какво Ñе ÑлÑÑва: пÑогÑамаÑа за пÑеглед ÑÑои на пÑазен екÑан, докаÑо не пÑиÑÑигне голÑма ÑаÑÑ Ð¾Ñ Ñези байÑове, Ñлед коеÑо изведнÑж изобÑазÑва пÑÑва ÑÑÑаниÑа. ÐÑеминеÑе на ÑÑÑаниÑа 40 и пÑи лоÑо конÑÑÑÑиÑан Ñайл ÑÑлоÑо изÑеглÑне може да запоÑне оÑнаÑало. РазоÑаÑоваÑаÑа ÑаÑÑ Ðµ, Ñе ÑеÑеÑÑÑ Ðµ иÑкал Ñамо пÑÑваÑа ÑÑÑаниÑа. ÐинеаÑизаÑиÑÑа е ÑÑÑÑкÑÑÑниÑÑ Ð¾ÑÐ³Ð¾Ð²Ð¾Ñ Ð½Ð° Ñози пÑоблем. Ð¢Ñ Ð¿ÑенаÑежда PDF Ñайла, Ñака Ñе пÑогÑамаÑа за пÑеглед да може да визÑализиÑа пÑÑваÑа ÑÑÑаниÑа Ð¾Ñ Ð¼Ð°Ð»Ñк пÑеÑÐ¸ÐºÑ Ð½Ð° Ñайла и да извлиÑа оÑÑаналаÑа ÑаÑÑ Ð¿Ñи поиÑкване â?еÑо заÑо Adobe попÑлÑÑизиÑа Ñази ÑÑнкÑÐ¸Ñ ÐºÐ°Ñо âFast Web Viewâ?(ÐÑÑз Ñеб пÑеглед).
ÐиÑо Ð¾Ñ Ñова не пÑедÑÑавлÑва ÑазлиÑен Ñайлов ÑоÑмаÑ. ÐинеаÑизиÑаниÑÑ PDF е обикновен PDF Ñайл, койÑо ÑÑвмеÑÑимиÑÑ ÑеÑÐµÑ Ñе оÑвоÑи без ÑпеÑиална обÑабоÑка. ТÑикÑÑ Ðµ изÑÑло в наÑина на подÑеждане на байÑовеÑе и в две допÑлниÑелни ÑÑÑÑкÑÑÑи, коиÑо ÑайлÑÑ Ð½Ð¾Ñи. СÑандаÑÑÑÑ ISO 32000-1 опиÑва ÑÑлаÑа подÑедба в ÐÑиложение F, и Ñлед каÑо видиÑе оÑоÑмлениеÑо, поведениеÑо ÑпиÑа да изглежда каÑо Ð¼Ð°Ð³Ð¸Ñ Ð¸ запоÑва да изглежда каÑо ÑÑзнаÑелен компÑÐ¾Ð¼Ð¸Ñ Ð½Ð° Ñеда на ÑайловеÑе в имеÑо на по-ниÑкоÑо вÑеме за изобÑазÑване на пÑÑваÑа ÑÑÑаниÑа.
Ðакво вÑÑÑноÑÑ Ð¿ÑенаÑежда линеаÑизаÑиÑÑа
ÐоÑмалниÑÑ PDF Ñайл може да ÑазпÑÑÑква ÑвоиÑе обекÑи в поÑÑи вÑÑкакÑв Ñед. ТаблиÑаÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки (cross-reference table) в кÑÐ°Ñ Ð½Ð° Ñайла пÑави Ñова вÑзможно: ÑеÑеÑÑÑ Ð¾Ñива до кÑаÑ, пÑоÑиÑа показалеÑа startxref, заÑежда ÑаблиÑаÑа и оÑÑам може да локализиÑа вÑеки Ð¾Ð±ÐµÐºÑ Ð¿Ð¾ неговоÑо оÑмеÑÑване. Този дизайн е оÑлиÑен за локални Ñайлове, кÑдеÑо ÑÑÑÑенеÑо до кÑÐ°Ñ Ð½Ðµ ÑÑÑÑва ниÑо, но е Ð»Ð¾Ñ Ð·Ð° Ñайл, койÑо Ñе пÑедава по мÑежа, кÑдеÑо кÑаÑÑ Ðµ ÑоÑно ÑаÑÑÑа, коÑÑо пÑиÑÑига поÑледна. Ðа да визÑализиÑа пÑÑва ÑÑÑаниÑа, конвенÑионалниÑÑ ÑеÑÐµÑ Ñе нÑждае Ð¾Ñ Ð¾Ð±ÐµÐºÑа на ÑÑÑаниÑаÑа, нейноÑо ÑÑдÑÑжание (content stream), ÑÑиÑÑовеÑе, коиÑо ÑеÑеÑиÑа, и вÑиÑки изобÑажениÑ, коиÑо изобÑазÑва, а в неподÑеден Ñайл Ñе Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе намиÑÐ°Ñ Ð½Ð°Ð²ÑÑкÑде, вклÑÑиÑелно в поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¼ÐµÐ³Ð°Ð±Ð°Ð¹Ñ.
ÐинеаÑизаÑиÑÑа коÑигиÑа Ñози Ñед. ÐбекÑиÑе, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¸ за показване на пÑÑваÑа ÑÑÑаниÑа, Ñе ÑÑбиÑÐ°Ñ Ð² непÑекÑÑÐ½Ð°Ñ Ð±Ð»Ð¾Ðº близо до наÑалоÑо, веднага Ñлед малка заглавна ÑаÑÑ, Ñака Ñе да пÑиÑÑÐ¸Ð³Ð½Ð°Ñ Ñано в поÑока Ð¾Ñ Ð±Ð°Ð¹Ñове. ÐÑиÑко оÑÑанало â?ÑледваÑиÑе ÑÑÑаниÑи и ÑеÑÑÑÑиÑе, коиÑо Ñе ÑподелÑÑ â?Ñледва в пÑедвидима поÑледоваÑелноÑÑ. ÐÑоÑа, пÑлна ÑаблиÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки вÑе оÑе ÑÑÑеÑÑвÑва в кÑÐ°Ñ Ð½Ð° Ñайла за ÑеÑÑи, коиÑо игноÑиÑÐ°Ñ Ñази опÑимизаÑиÑ, но линеаÑизиÑаниÑÑ Ñайл ÑÑÑо Ñака поÑÑÐ°Ð²Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки за пÑÑваÑа ÑÑÑаниÑа и паÑамеÑÑиÑе, Ð¾Ñ ÐºÐ¾Ð¸Ñо Ñе нÑждае поÑокÑÑ, най-оÑпÑед. ЧеÑеÑÑÑ Ð²ÐµÑе не ÑÑÑбва да доÑÑига до кÑаÑ, пÑеди да може да изÑиÑÑва каквоÑо и да било.
ÐабоÑÑÑ Ð¾Ñ Ð¾Ð±ÐµÐºÑи на пÑÑва ÑÑÑаниÑа и паÑамеÑÑиÑниÑÑ ÑеÑник за линеаÑизаÑиÑ
ÐÑÑвиÑÑ Ð¾Ð±ÐµÐºÑ Ð² линеаÑизиÑÐ°Ð½Ð¸Ñ Ñайл, веднага Ñлед заглавнаÑа ÑаÑÑ %PDF, е паÑамеÑÑиÑниÑÑ ÑеÑник за линеаÑизаÑÐ¸Ñ (linearization parameter dictionary). ТоÑно него ÑÑÑÑи ÑеÑеÑÑÑ, за да ÑеÑи дали опÑимизаÑиÑÑа пÑиÑÑÑÑва и как да Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°. РеÑникÑÑ Ð·Ð°Ð¿Ð¸Ñва дÑлжинаÑа на ÑÐµÐ»Ð¸Ñ Ñайл, байÑовоÑо оÑмеÑÑване, оÑкÑдеÑо запоÑва оÑновнаÑа ÑаблиÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки, номеÑа на обекÑа на пÑÑваÑа ÑÑÑаниÑа, какÑо и меÑÑоположениеÑо и дÑлжинаÑа на ÑледваÑÐ¸Ñ hint поÑок (hint stream). С Ñези ÑиÑла ÑеÑеÑÑÑ Ð·Ð½Ð°Ðµ Ñамо Ð¾Ñ Ð½Ð°ÑалниÑе килобайÑи колко данни ÑÑÑбва да извлеÑе, за да покаже пÑÑва ÑÑÑаниÑа, и кÑде да ÑÑÑÑи индекÑа, койÑо Ð¼Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñва да пÑеÑкоÑи дÑÑгаде.
ÐÑиложение F е ÑÑÑого по оÑноÑение на Ñова какво ознаÑава âпÑÑва ÑÑÑаниÑаâ?ÑÑк. СекÑиÑÑа за пÑÑваÑа ÑÑÑаниÑа ÑÑÑбва да ÑÑдÑÑжа ÑÐ°Ð¼Ð¸Ñ Ð¾Ð±ÐµÐºÑ Ð½Ð° ÑÑÑаниÑаÑа, неговиÑе поÑоÑи Ð¾Ñ ÑÑдÑÑжание и ÑеÑÑÑÑиÑе, коиÑо Ñези поÑоÑи ÑеÑеÑиÑа, Ñака Ñе ÑÑÑаниÑаÑа да бÑде ÑамодоÑÑаÑÑÑна веднага Ñом Ñози пÑеÑÐ¸ÐºÑ Ñе изÑегли. СподелениÑе ÑеÑÑÑÑи (ÑÑиÑÑ, използван на вÑÑка ÑÑÑаниÑа, или лого, коеÑо Ñе повÑаÑÑ Ð² гоÑнаÑа ÑаÑÑ) Ñе обÑабоÑÐ²Ð°Ñ ÑпеÑиално: Ñе Ñе поÑвÑÐ²Ð°Ñ Ð´Ð¾ÑÑаÑÑÑно Ñано, за да обÑлÑÐ¶Ð°Ñ Ð¿ÑÑваÑа ÑÑÑаниÑа, но Ñа маÑкиÑани каÑо Ñподелени, Ñака Ñе ÑеÑеÑÑÑ Ð´Ð° не ги изÑÐµÐ³Ð»Ñ Ð¾Ñново, когаÑо по-кÑÑно изобÑазÑва ÑÑÑаниÑа 30. Тази Ñазлика Ð¼ÐµÐ¶Ð´Ñ ÑаÑÑни за ÑÑÑаниÑаÑа и Ñподелени обекÑи е ÑаÑÑÑа, коÑÑо повеÑеÑо домаÑно напиÑани âопÑимизаÑоÑиâ?бÑÑкаÑ, а Ñази гÑеÑка води до Ñайл, койÑо ÑвÑÑди, Ñе е линеаÑизиÑан, но вÑе пак бави визÑализаÑиÑÑа.
Hint поÑоÑи: индекÑÑÑ, койÑо пÑави ÑкоковеÑе Ð¼ÐµÐ¶Ð´Ñ ÑÑÑаниÑиÑе евÑини
ÐÑÑзоÑо показване на пÑÑва ÑÑÑаниÑа е Ñамо половинаÑа Ð¾Ñ ÑÑойноÑÑÑа. ÐÑÑгаÑа половина е пÑеÑкаÑанеÑо до пÑоизволна ÑÑÑаниÑа, без да Ñе изÑÐµÐ³Ð»Ñ Ð²ÑиÑко по ÑÑедаÑа, и именно Ñова оÑигÑÑÑÐ²Ð°Ñ hint поÑоÑиÑе. ÐинеаÑизиÑаниÑÑ Ñайл ÑÑдÑÑжа ÑаблиÑа Ñ Ð¿Ð¾Ð´Ñказки за оÑмеÑÑванеÑо на ÑÑÑаниÑиÑе (page offset hint table) и ÑаблиÑа Ñ Ð¿Ð¾Ð´Ñказки за Ñподелени обекÑи (shared object hint table), ÑÑÑ ÑанÑвани каÑо поÑок, ÑеÑеÑиÑан Ð¾Ñ Ð¿Ð°ÑамеÑÑиÑÐ½Ð¸Ñ ÑеÑник. ТаблиÑаÑа за оÑмеÑÑване на ÑÑÑаниÑи запиÑва за вÑÑка ÑÑÑаниÑа кÑде запоÑÐ²Ð°Ñ Ð½ÐµÐ¹Ð½Ð¸Ñе обекÑи вÑв Ñайла и каква е ÑÑÑ Ð½Ð°Ñа дÑлжина. ТаблиÑаÑа за Ñподелени обекÑи пÑави ÑÑÑоÑо за ÑеÑÑÑÑиÑе, използвани на множеÑÑво ÑÑÑаниÑи.
ÐлагодаÑение на Ñези ÑаблиÑи, ÑеÑеÑÑÑ, койÑо иÑка ÑÑÑаниÑа 40, не анализиÑа Ñайла поÑледоваÑелно. Той Ñе конÑÑлÑиÑа Ñ ÑаблиÑаÑа Ñ Ð¿Ð¾Ð´Ñказки, за да ÑазбеÑе байÑÐ¾Ð²Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½, койÑо заема ÑÑÑаниÑа 40, изиÑква ÑоÑно Ñози диапазон Ð¾Ñ ÑÑÑвÑÑа и изобÑазÑва ÑÑÑаниÑаÑа, когаÑо Ñези байÑове пÑиÑÑигнаÑ, изÑеглÑйки вÑиÑки Ñподелени ÑеÑÑÑÑи, коиÑо вÑе оÑе нÑма, ÑÑез ÑÑÑÐ¸Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ñм. Hint поÑокÑÑ Ð½Ð° пÑакÑика е каÑÑа за пÑоизволен доÑÑÑп, положена над докÑменÑа, и именно Ñова е пÑиÑинаÑа добÑе линеаÑизиÑан Ñайл Ð¾Ñ 500 ÑÑÑаниÑи да Ñе ÑÑеÑа бÑÑз пÑи бавна вÑÑзка, докаÑо неопÑимизиÑан Ñайл ÑÑÑ ÑÑÑÐ¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð°Ð²Ð¸ поÑÑебиÑелÑ.
ÐаÑо ÑÑÑвÑÑÑÑ ÑÑÑбва да ÑÑÑÑÑдниÑи
ÐинеаÑизаÑиÑÑа пÑедполага, Ñе ÑÑанÑпоÑÑниÑÑ Ð¿ÑоÑокол може да доÑÑÐ°Ð²Ñ Ð¿Ñоизволни ÑаÑÑи Ð¾Ñ Ñайла, и Ñази пÑедпоÑÑавка Ñи ÑÑÑÑва да бÑде пÑовеÑена, пÑеди да обвинÑваÑе ÑоÑмаÑа за лоÑи ÑезÑлÑаÑи. ÐеÑ
анизмÑÑ Ðµ HTTP byte-serving: ÑеÑеÑÑÑ Ð¸Ð·Ð¿ÑаÑа заÑвки за диапазони (range requests), а ÑÑÑвÑÑÑÑ Ð¸Ð¼ оÑговаÑÑ Ñ 206 Partial Content. Ðко ÑÑÑвÑÑÑÑ Ð½Ðµ ÑекламиÑа Accept-Ranges: bytes, или ако пÑокÑи или CDN пÑед него пÑевÑÑÐ½Ð°Ñ Ð·Ð°ÑвкиÑе за диапазони в пÑлни ÑÑанÑÑеÑи, ÑеÑеÑÑÑ Ð½Ñма как да извлеÑе ÑÑÑаниÑа 40 изолиÑано и Ñе вÑÑÑа кÑм изÑеглÑне на ÑÐµÐ»Ð¸Ñ Ñайл. Ð Ñози ÑлÑÑай ÑÑÑÑкÑÑÑаÑа в PDF Ñайла е пеÑÑекÑна, но напÑлно безполезна.
Това е повÑедаÑа, коÑÑо най-ÑеÑÑо Ñе диагноÑÑиÑиÑа погÑеÑно как âлинеаÑизаÑиÑÑа не ÑабоÑиâ? ФайлÑÑ Ðµ наÑед; пÑÑÑÑ Ð½Ð° доÑÑавка не е. ÐÑеди да пÑенаÑÑÑоиÑе докÑменÑ, поÑвÑÑдеÑе Ñ ÑÑловна заÑвка, Ñе Ñ Ð¾ÑÑÑÑ Ð½Ð°Ð¸ÑÑина вÑÑÑа ÑаÑÑиÑно ÑÑдÑÑжание за URL адÑеÑа, койÑо ÑеÑеÑÑÑ Ð´Ð¾ÑÑÑпва. Ðного ÑÑаÑиÑни Ñ Ð¾ÑÑове пÑавÑÑ Ñова по подÑазбиÑане, но много лоÑо конÑигÑÑиÑани ÑÑÑвÑÑи за пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ кеÑиÑаÑи Ñлоеве не го поддÑÑжаÑ.
ÐнкÑеменÑалниÑе акÑÑализаÑии ÑÐ¸Ñ Ð¾ ÑазвалÑÑ Ð»Ð¸Ð½ÐµÐ°ÑизаÑиÑÑа
ÐÑо го огÑаниÑениеÑо, коеÑо изненадва Ñ Ð¾ÑаÑа, коиÑо генеÑиÑÐ°Ñ Ð»Ð¸Ð½ÐµÐ°ÑизиÑани Ñайлове пÑавилно и Ñлед Ñова Ñе ÑÑдÑÑ Ð·Ð°Ñо опÑимизаÑиÑÑа изÑезва. ÐинеаÑизаÑиÑÑа завиÑи Ð¾Ñ ÐµÐ´Ð½Ð¾-единÑÑвено, внимаÑелно подÑедено оÑоÑмление Ñ Ð½ÐµÐ³Ð¾Ð²Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð°Ð¹-оÑпÑед. ÐнкÑеменÑалнаÑа акÑÑализаÑÐ¸Ñ (incremental update) наÑÑÑава Ñова по дизайн. ÐогаÑо даден инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð¾Ð±Ð°Ð²Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñ, попÑлва поле вÑв ÑоÑмÑлÑÑ Ð¸Ð»Ð¸ Ð´Ð¾Ð±Ð°Ð²Ñ Ð°Ð½Ð¾ÑаÑÐ¸Ñ ÑÑез инкÑеменÑално запиÑване, Ñой не пÑенапиÑва ÑÐµÐ»Ð¸Ñ Ñайл. Той Ð´Ð¾Ð±Ð°Ð²Ñ Ð¿ÑоменениÑе обекÑи, нова ÑаблиÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки и нов trailer в ÑÐ°Ð¼Ð¸Ñ ÐºÑай, оÑÑавÑйки оÑигиналниÑе байÑове непокÑÑнаÑи. Това добавÑне е ÑелиÑÑ ÑмиÑÑл на инкÑеменÑалниÑе акÑÑализаÑии: Ñо е бÑÑзо и запазва по-ÑаннаÑа ÑÐµÐ²Ð¸Ð·Ð¸Ñ Ð·Ð° Ð¾Ð´Ð¸Ñ Ð¸Ð»Ð¸ валидиÑане на подпиÑа.
СÑÑаниÑниÑÑ ÐµÑÐµÐºÑ Ðµ, Ñе ÑайлÑÑ Ð²ÐµÑе има най-новиÑе Ñи данни за кÑÑÑÑоÑани пÑепÑаÑки в кÑаÑ, Ñлед внимаÑелно поÑÑÐ°Ð²ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾Ðº за пÑÑваÑа ÑÑÑаниÑа, а паÑамеÑÑиÑниÑÑ ÑеÑник за линеаÑизаÑÐ¸Ñ Ð½Ð°Ð¹-оÑпÑед опиÑва оÑоÑмлениеÑо, коеÑо веÑе не ÑÑоÑвеÑÑÑва на Ñайла. СÑвмеÑÑимиÑÑ ÑеÑÐµÑ Ð¾ÑкÑива неÑÑоÑвеÑÑÑвиеÑо и ÑÑеÑиÑа докÑменÑа каÑо обикновен, нелинеаÑизиÑан PDF Ñайл. Fast Web View изÑезва, вÑпÑеки Ñе оÑигиналнаÑа линеаÑизиÑана ÑÑÑÑкÑÑÑа вÑе оÑе ÑÑои в пÑÑваÑа половина на Ñайла. Ðко добавиÑе нÑколко акÑÑализаÑии, вÑÑка Ð¾Ñ ÑÑÑ Ð½Ð°ÑÑÑпва нова ÑÐµÐ²Ð¸Ð·Ð¸Ñ Ð½Ð°ÐºÑÐ°Ñ Ð¸ ÑазликаÑа Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑÑаÑÐµÐ»Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð¾ÑпÑед и ÑеалноÑо ÑÑÑÑоÑние Ñе ÑвелиÑава.
Ðко ваÑиÑÑ ÑабоÑен пÑоÑÐµÑ Ð¸Ð·Ð¸Ñква какÑо ÑедакÑиÑане, Ñака и Fast Web View, пÑавилоÑо пÑоизÑиÑа диÑекÑно Ð¾Ñ ÑÑÑÑкÑÑÑаÑа: ÑедакÑиÑайÑе инкÑеменÑално, докаÑо докÑменÑÑÑ Ðµ в пÑоÑÐµÑ Ð½Ð° пÑомÑна, и Ñлед Ñова го линеаÑизиÑайÑе оÑново накÑаÑ. ÐÑлноÑо пÑенапиÑване е Ñова, коеÑо вÑзÑÑановÑва оÑоÑмлениеÑо. РконÑекÑÑа на HotPDF Ñова ознаÑава, Ñе ÑедакÑиÑÑа в пÑоÑÐµÑ Ð½Ð° изпÑлнение минава пÑез BeginIncrementalUpdate и SaveIncrementalUpdate, коиÑо добавÑÑ Ð´ÐµÐ»Ñа, докаÑо поÑледнаÑа ÑÑÑпка заÑежда ÑÐµÐ»Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¸ го ÑеÑиализиÑа наново Ñ LoadFromFile, поÑледвано Ð¾Ñ SaveLoadedDocument, коеÑо изÑ
вÑÑÐ»Ñ Ð½Ð°ÑÑÑпаниÑе ÑÑаÑи Ñевизии и излÑÑва едно ÑиÑÑо оÑоÑмление. СÑÑиÑÑ ÐºÐ¾Ð¼Ð¿ÑÐ¾Ð¼Ð¸Ñ Ñе поÑвÑва и пÑи поÑоÑиÑе Ð¾Ñ Ð¾Ð±ÐµÐºÑи: акÑивиÑанеÑо на UseObjectStreams заедно Ñ UseXRefStream компÑеÑиÑа ÑаблиÑаÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки и опакова обекÑиÑе плÑÑно, коеÑо помага за ÑазмеÑа на Ñайла, но каÑо вÑеки ÑÑÑÑкÑÑÑен Ð¸Ð·Ð±Ð¾Ñ ÑÑÑбва да бÑде пÑиложено по вÑеме на Ñова Ñинално пÑенапиÑване, а не пÑоÑÑо пÑикаÑено кÑм добавена ÑевизиÑ.
// In-flight edits: append a delta, keep prior revisions intact.
// This leaves the file NOT linearized.
Pdf.BeginIncrementalUpdate('report.pdf');
Pdf.AddPage;
Pdf.CurrentPage.TextOut(72, 760, 0, 'Addendum');
Pdf.SaveIncrementalUpdate('report.pdf');
// Finishing step: full re-serialization produces one clean layout,
// dropping the stacked revisions. Re-run your linearizer on the output.
Pdf.LoadFromFile('report.pdf');
Pdf.SaveLoadedDocument('report-final.pdf');
HotPDF не пÑедлага извикване Ñ ÐµÐ´Ð½Ð° ÑÑнкÑÐ¸Ñ Ð·Ð° линеаÑизаÑиÑ, Ñака Ñе пÑакÑиÑеÑкиÑÑ Ð¼Ð¾Ð´ÐµÐ» е да Ñе пÑоизведе ÑиÑÑ, напÑлно пÑенапиÑан Ñайл и вÑÑÑ
Ñ Ð½ÐµÐ³Ð¾ да Ñе изпÑлни ÑпеÑиализиÑан опÑимизаÑоÑ. ÐнÑÑÑÑменÑиÑе за команден Ñед Ñе ÑпÑавÑÑ Ñ Ð¿ÑенаÑежданеÑо диÑекÑно. qpdf пÑенапиÑва Ñайл в линеаÑизиÑана ÑоÑма Ñ ÐµÐ´Ð¸Ð½ единÑÑвен Ñлаг:
qpdf --linearize report-final.pdf report-web.pdf
Ðак да ÑазбеÑеÑе дали ÑайлÑÑ Ðµ линеаÑизиÑан
Ðе Ñе довеÑÑвайÑе на имеÑо на Ñайла или на инÑÑÑÑменÑа, койÑо ÑвÑÑди, Ñе го е ÑÑздал; пÑовеÑеÑе байÑовеÑе. Ðай-диÑекÑнаÑа пÑовеÑка е в наÑалоÑо на Ñайла: оÑвоÑеÑе го и поÑÑÑÑеÑе паÑамеÑÑиÑÐ½Ð¸Ñ ÑеÑник за линеаÑизаÑÐ¸Ñ ÐºÐ°Ñо пÑÑÐ²Ð¸Ñ Ð¾Ð±ÐµÐºÑ Ñлед заглавнаÑа ÑаÑÑ, ноÑÐµÑ ÐºÐ»ÑÑ /Linearized. ÐÑÑÑÑ Ð·Ð° бÑÑза пÑовеÑка Ð¾Ñ Ð¿Ð¾ÑÑебиÑÐµÐ»Ñ Ðµ диалоговиÑÑ Ð¿ÑозоÑÐµÑ Document Properties на Acrobat, койÑо ÑÑобÑава âFast Web View: Yesâ?Ñамо когаÑо ÑÑÑÑкÑÑÑаÑа е Ñеално налиÑна и акÑÑална.
Ðа авÑомаÑизиÑани пÑовеÑки qpdf ÑÑобÑава какÑо за пÑиÑÑÑÑвиеÑо, Ñака и за ÑелоÑÑÑа на ÑÑÑÑкÑÑÑаÑа â?коеÑо е важно, ÑÑй каÑо ÑайлÑÑ Ð¼Ð¾Ð¶Ðµ да ноÑи ÑеÑник за линеаÑизаÑиÑ, койÑо веÑе не оÑÑазÑва неговоÑо оÑоÑмление (ÑоÑно ÑÑÑÑоÑниеÑо, коеÑо инкÑеменÑалнаÑа акÑÑализаÑÐ¸Ñ Ð¾ÑÑÐ°Ð²Ñ Ñлед Ñебе Ñи):
# Reports "File is linearized" and validates hint tables against the layout
qpdf --check report-web.pdf
# Dumps the linearization parameters and hint data in detail
qpdf --show-linearization report-web.pdf
СÑÑпкаÑа на валидиÑане е Ñази, коÑÑо наиÑÑина Ñи заÑлÑжава ÑÑилиÑÑа. ÐÑовеÑка, коÑÑо Ñамо поÑвÑÑждава ÑÑÑеÑÑвÑванеÑо на ÑеÑника, Ñе одобÑи Ñ ÑдоволÑÑвие Ñайл, ÑийÑо Ð¸Ð½Ð´ÐµÐºÑ ÑоÑи кÑм гÑеÑни оÑмеÑÑваниÑ; пÑовеÑка, коÑÑо ÑÑглаÑÑва hint ÑаблиÑиÑе Ñ Ð´ÐµÐ¹ÑÑвиÑелниÑе позиÑии на обекÑиÑе, е Ñова, коеÑо ви казва дали опÑимизаÑиÑÑа Ñе издÑÑжи под ÑеалниÑе заÑвки за диапазони на ÑеÑеÑа.
ÐинеаÑизаÑиÑÑа вÑе оÑе Ñи ÑÑÑÑва да Ñе пÑилага кÑм вÑеки голÑм докÑменÑ, обÑлÑжван по Ñеб, оÑобено за мобилни ÑеÑÑи Ñ Ð½ÐµÑÑабилна вÑÑзка, а ÑÑ ÑÑÑÑва Ñамо нÑколко пÑоÑенÑа Ð¾Ñ ÑазмеÑа на Ñайла за индекÑа в наÑалоÑо. ÐвеÑе неÑа, коиÑо ÑÑÑбва да имаÑе пÑедвид, Ñа, Ñе ÑÑÑÑкÑÑÑаÑа в PDF Ñайла и byte-serving извÑн него ÑÑÑбва да бÑÐ´Ð°Ñ Ð¿Ñавилно наÑÑÑоени, какÑо и Ñе вÑÑко ÑедакÑиÑане Ñлед Ñова оÑÐ¼ÐµÐ½Ñ Ð¾Ð¿ÑимизаÑиÑÑа, докаÑо не пÑенапиÑеÑе Ñайла. ТÑеÑиÑайÑе Ñе-линеаÑизаÑиÑÑа каÑо поÑледна ÑÑÑпка в пÑоÑеÑа, Ñлед каÑо вÑÑка дÑÑга пÑомÑна е пÑиклÑÑила. ÐпиÑаноÑо ÑÑк поведение пÑи кÑÑÑÑоÑани пÑепÑаÑки, поÑоÑи Ð¾Ñ Ð¾Ð±ÐµÐºÑи и инкÑеменÑални акÑÑализаÑии е ÑаÑÑ Ð¾Ñ ÑÑÑÑкÑÑÑÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ», койÑо HotPDF Component за Delphi и C++Builder имплеменÑиÑа; за по-ÑиÑока инÑоÑмаÑÐ¸Ñ Ð¾ÑноÑно оÑоÑмлениеÑо на Ñайлове вижÑе как е ÑÑÑÑкÑÑÑиÑан PDF ÑайлÑÑ, а за инкÑеменÑалниÑе акÑÑализаÑии и ÑабоÑаÑа Ñ Ð³Ð¾Ð»ÐµÐ¼Ð¸ Ñайлове в код вижÑе обÑабоÑка на големи PDF Ñайлове Ð¾Ñ Delphi.