ÐÑÐµÐ¼Ð°Ñ Ð½ÐµÑе опиÑаниÑÑа на ÑÑÑаниÑиÑе и Ñе оÑÑанеÑе Ñ ÑÑнÑк Ñлой ÑÑÑÑкÑÑÑа, коÑÑо никой не пеÑаÑа, но Ð¾Ñ ÐºÐ¾ÑÑо завиÑи вÑеки ÑеÑеÑ, индекÑаÑÐ¾Ñ Ð¸ аÑÑ Ð¸Ð²Ð¸ÑаÑа ÑиÑÑема. ÐбекÑÑÑ Ð½Ð° ÑÑÑаниÑаÑа не знае ниÑо за главаÑа, кÑм коÑÑо пÑинадлежи, за авÑоÑа, койÑо Ñ Ðµ напиÑал, или за бележкаÑа под линиÑ, коÑÑо води дÑÑгаде. Това знание живее едно ниво нагоÑе, в ÑÑи ÑÑÑÑкÑÑÑи, пÑикÑепени кÑм каÑалога на докÑменÑа: поÑоÑиÑе Ð¾Ñ Ð¼ÐµÑаданни, дÑÑвоÑо на оÑмеÑкиÑе (outline tree) и маÑивиÑе Ð¾Ñ Ð°Ð½Ð¾ÑаÑии за вÑÑка ÑÑÑаниÑа. Те ÑподелÑÑ ÐµÐ´Ð½Ð° Ñ Ð°ÑакÑеÑиÑÑика, коÑÑо пÑави леÑно допÑÑканеÑо на гÑеÑки пÑи ÑÑÑ . ÐиÑо една Ð¾Ñ Ñези ÑÑÑÑкÑÑÑи не оÑÑÐ°Ð²Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¸ белези на ÑÑÑаниÑаÑа, Ñака Ñе даден Ñайл може да Ñе визÑализиÑа пеÑÑекÑно, но вÑе пак да Ð¼Ñ Ð»Ð¸Ð¿ÑÐ²Ð°Ñ Ð¾ÑмеÑки, да пÑоÑивоÑеÑи на ÑобÑÑвеноÑо Ñи поле за авÑÐ¾Ñ Ð¸Ð»Ð¸ да наÑоÑва Ñ Ð¸Ð¿ÐµÑвÑÑзка кÑм Ð¾Ð±ÐµÐºÑ Ð½Ð° ÑÑÑаниÑа, койÑо веÑе не ÑÑÑеÑÑвÑва.
Това е ÑлоÑÑ, койÑо библиоÑекаÑа за PDF излага каÑо ÑвойÑÑва на докÑменÑа, API за оÑмеÑки и Ð¸Ð·Ð²Ð¸ÐºÐ²Ð°Ð½Ð¸Ñ Ð·Ð° вÑÑзки или аноÑаÑии, и ÑлоÑÑ, койÑо ÑÑÑÑаÑкиÑе ÑеÑаÑ, за да ÑеÑÐ°Ñ Ð·Ð° какво Ñе оÑнаÑÑ Ð²Ð°ÑиÑÑ Ð´Ð¾ÐºÑменÑ. ÐбекÑниÑÑ Ð¼Ð¾Ð´ÐµÐ» под него е Ñазгледан в пÑегледа на ÑÑÑÑкÑÑÑаÑа на PDF докÑменÑи. ТÑк ÑокÑÑÑÑ Ðµ ÑÑÑого вÑÑÑ Ñ Ñова, коеÑо виÑи Ð¾Ñ ÐºÐ°Ñалога.
Ð ÑÑиÑе ÑÑÑÑкÑÑÑи Ñе пÑикÑÐµÐ¿Ð²Ð°Ñ ÐºÑм каÑалога. ÐÑлно ÑвÑÑзване на каÑалога, коеÑо ги обединÑва, изглежда Ñака:
1 0 obj
<< /Type /Catalog
/Pages 2 0 R
/Outlines 3 0 R
/Names << /EmbeddedFiles 4 0 R >>
/Metadata 5 0 R
>>
endobj
ЧеÑиÑи запиÑа, ÑеÑиÑи незавиÑими подÑиÑÑеми. /Pages е видимиÑÑ Ð´Ð¾ÐºÑменÑ; /Outlines е дÑÑвоÑо на оÑмеÑкиÑе; /Metadata ÑоÑи кÑм XMP поÑока; /Names доÑÑига до ÑеÑника Ñ Ð¸Ð¼ÐµÐ½Ð° на ÑÐµÐ»Ð¸Ñ Ð´Ð¾ÐºÑменÑ, койÑо наÑед Ñ Ð´ÑÑги неÑа ÑÑдÑÑжа вгÑадени пÑикаÑени Ñайлове. ÐÑеки Ð·Ð°Ð¿Ð¸Ñ Ðµ незадÑлжиÑелен и ÑеÑеÑ, койÑо не оÑкÑие ниÑо един Ð¾Ñ ÑÑÑ
, вÑе пак Ñе покаже ÑÑÑаниÑиÑе. Тази незадÑлжиÑелноÑÑ Ðµ именно пÑиÑинаÑа навигаÑионниÑÑ Ñлой да бÑде пÑÑвоÑо неÑо, коеÑо Ñе ÑазвалÑ, когаÑо ÑайлÑÑ Ñе ÑедакÑиÑа Ð¾Ñ Ð¸Ð½ÑÑÑÑменÑи, коиÑо ÑазбиÑÐ°Ñ Ñамо Ð¾Ñ ÑÑÑаниÑи.
Ðве Ñ ÑанилиÑа за меÑаданни, коиÑо не ÑÑвпадаÑ
PDF пÑенаÑÑ Ð¼ÐµÑаданниÑе на докÑменÑа на две меÑÑа едновÑеменно, и пÑоблемиÑе запоÑваÑ, когаÑо Ñе ÐºÐ°Ð·Ð²Ð°Ñ ÑазлиÑни неÑа. ÐÑигиналниÑÑ Ð¼ÐµÑ
анизÑм е ÑеÑникÑÑ Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð·Ð° докÑменÑа, ÑеÑеÑиÑан ÑÑез /Info в trailer: плоÑÑк Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ Ð´Ð²Ð¾Ð¹ÐºÐ¸ клÑÑ-ÑÑойноÑÑ Ð·Ð° /Title, /Author, /Subject, /Keywords, /Creator, /Producer и двеÑе даÑи. Той е пÑоÑÑ Ð¸ вÑеки ÑеÑÐµÑ Ð³Ð¾ поддÑÑжа. PDF 2.0 оÑÑ
вÑÑÐ»Ñ Ð¿Ð¾-голÑмаÑа ÑаÑÑ Ð¾Ñ Ð½ÐµÐ³Ð¾ в полза на вÑоÑÐ¸Ñ Ð¼ÐµÑ
анизÑм â?XMP поÑока Ð¾Ñ Ð¼ÐµÑаданни.
XMP е ÑамоÑÑоÑÑелен XML докÑменÑ, запиÑан в RDF, ÑÑÑ
ÑанÑван каÑо поÑок, койÑо каÑалогÑÑ Ð´Ð¾ÑÑига ÑÑез /Metadata и е маÑкиÑан каÑо /Type /Metadata /Subtype /XML. Ðа Ñазлика Ð¾Ñ ÑеÑника Info, заÑовен в ÑÑÑÑкÑÑÑаÑа на обекÑиÑе на PDF, XMP пакеÑÑÑ Ðµ пÑоекÑиÑан да бÑде извлиÑан и анализиÑан ÑамоÑÑоÑÑелно Ð¾Ñ Ð¸Ð½ÑÑÑÑменÑи, коиÑо не знаÑÑ Ð½Ð¸Ñо за PDF. ÐÑо пÑимеÑен пакеÑ:
5 0 obj
<< /Type /Metadata /Subtype /XML /Length 1235 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<dc:title><rdf:Alt><rdf:li xml:lang="x-default">Quarterly Report</rdf:li></rdf:Alt></dc:title>
<dc:creator><rdf:Seq><rdf:li>A. Author</rdf:li></rdf:Seq></dc:creator>
<xmp:CreateDate>2026-06-16T10:46:27+08:00</xmp:CreateDate>
<xmp:CreatorTool>Reporting Service 4.2</xmp:CreatorTool>
<pdf:Producer>losLab PDF Library</pdf:Producer>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
endstream
endobj
ТÑи подÑобноÑÑи в Ñози блок опÑеделÑÑ Ð´Ð°Ð»Ð¸ меÑаданниÑе Ñе оÑелеÑÑ Ð¿Ñи конÑÐ°ÐºÑ Ñ Ð¸ÑÑинÑки инÑÑÑÑменÑи. ÐнÑÑÑÑкÑииÑе за обÑабоÑка на xpacket не Ñа декоÑаÑиÑ: Ñе ÑамкиÑÐ°Ñ Ð¿Ð°ÐºÐµÑа, Ñака Ñе екÑÑÑакÑоÑÑÑ Ð´Ð° може да го намеÑи в по-голÑм поÑок Ð¾Ñ Ð±Ð°Ð¹Ñове, а пÑогÑама за запиÑ, коÑÑо пÑопÑÑка заÑваÑÑÑÐ¸Ñ <?xpacket end="w"?>, пÑоизвежда Ñайл, койÑо Ñе оÑваÑÑ Ð´Ð¾Ð±Ñе, но пÑÐ¾Ð²Ð°Ð»Ñ ÑÑÑогиÑе валидаÑоÑи. ТиповеÑе данни на ÑвойÑÑваÑа ÑÑÑо Ñа Ð¾Ñ Ð·Ð½Ð°Ñение. dc:title е езикова алÑеÑнаÑива, обвиÑа в rdf:Alt, докаÑо dc:creator е подÑеден ÑпиÑÑк и пÑиема rdf:Seq; излÑÑванеÑо на нÑкое Ð¾Ñ ÑÑÑ
каÑо обикновен ÑекÑÑов вÑзел е единÑÑвенаÑа най-ÑеÑÑо ÑÑеÑана гÑеÑка в XMP, ÑолеÑиÑана Ð¾Ñ Ð¿Ð¾Ð²ÐµÑеÑо ÑеÑеÑи ÑоÑно до моменÑа, в койÑо нÑкой ÑпÑе да Ñ Ð¿Ñиема. ÐÑеÑикÑиÑе на пÑоÑÑÑанÑÑваÑа Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð° Ñа конвенÑионални, но URI адÑеÑиÑе, Ñ ÐºÐ¾Ð¸Ñо Ñе ÑвÑÑзваÑ, Ñа ноÑмаÑивни: паÑÑеÑÑÑ Ñе оÑиенÑиÑа по URI, а не по пÑеÑикÑа.
СÑÑогоÑо пÑавило пÑи налиÑиеÑо на две Ñ
ÑанилиÑа е, Ñе Ñе ÑÑÑбва да ÑÑвпадаÑ. Ðко /Info казва, Ñе авÑоÑÑÑ Ðµ един Ñовек, а dc:creator поÑоÑва дÑÑг, вие ÑÑе доÑÑавили докÑменÑ, койÑо оÑговаÑÑ Ð½Ð° един и ÑÑÑ Ð²ÑпÑÐ¾Ñ Ð¿Ð¾ два ÑазлиÑни наÑина, и кой оÑÐ³Ð¾Ð²Ð¾Ñ Ð¿ÐµÑели завиÑи Ð¾Ñ Ñова кое поле ÑеÑе ÑÑоÑвеÑниÑÑ Ð¸Ð½ÑÑÑÑменÑ. ÐиблиоÑекаÑа обикновено пиÑе и двеÑе вмеÑÑо ваÑ, но в моменÑа, в койÑо ги ÑедакÑиÑаÑе на ÑÑка или обединиÑе Ñайлове Ð¾Ñ ÑазлиÑни генеÑаÑоÑи, Ñе Ñе ÑазминаваÑ. ТÑеÑиÑайÑе ÑеÑника Info каÑо наÑледÑÑвена ÑÑвмеÑÑимоÑÑ, а XMP каÑо единÑÑвен изÑоÑник на иÑÑина, и ÑегенеÑиÑайÑе и двеÑе Ð¾Ñ ÐµÐ´Ð¸Ð½ единÑÑвен Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ ÑÑойноÑÑи, вмеÑÑо да ги коÑигиÑаÑе незавиÑимо. Ðа PDF/A Ñова Ñе пÑевÑÑÑа в изиÑкване за ÑÑоÑвеÑÑÑвие: ISO 19005 изиÑква XMP и забÑанÑва вÑÑко ÑвойÑÑво в Info, коеÑо пÑоÑивоÑеÑи на Ð½ÐµÐ³Ð¾Ð²Ð¸Ñ ÐµÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ Ð² XMP.
ÐÑÑвоÑо на оÑмеÑкиÑе зад панела Ñ Ð¾ÑмеÑки
Това, коеÑо пÑогÑамаÑа за пÑеглед показва каÑо панел Ñ Ð¾ÑмеÑки (bookmarks panel), вÑв Ñайла е двойно ÑвÑÑзано дÑÑво Ð¾Ñ ÑеÑниÑи, наÑеÑено ÑÑÑÑкÑÑÑа на докÑменÑа (document outline). ÐаÑалогÑÑ ÑоÑи кÑм коÑÐµÐ½Ð½Ð¸Ñ ÑеÑник на ÑÑÑÑкÑÑÑаÑа ÑÑез /Outlines; коÑенÑÑ ÑоÑи кÑм пÑÑÐ²Ð¸Ñ Ð¸ поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ñи елеменÑи на най-виÑоко ниво; и вÑеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ðµ ÑвÑÑзан ÑÑÑ ÑвоиÑе ÑÑÑеди и ÑодиÑел. ÐикÑде нÑма обикновен маÑив Ð¾Ñ Ð¾ÑмеÑки. ЦÑлаÑа ÑÑÑÑкÑÑÑа Ñе вÑзÑÑановÑва ÑÑез пÑоÑледÑване на пÑепÑаÑкиÑе, коеÑо е именно пÑиÑинаÑа една-единÑÑвена пÑекÑÑнаÑа вÑÑзка да напÑави Ñака, Ñе ÑÑл клон да изÑезне Ð¾Ñ Ð¿Ð°Ð½ÐµÐ»Ð° без никаква ÑÑобÑена гÑеÑка.
8 0 obj % the outline root
<< /Type /Outlines /Count 4 /First 9 0 R /Last 9 0 R >>
endobj
9 0 obj % top-level: a chapter
<< /Title (Chapter 1: Results)
/Parent 8 0 R /Count 2
/First 12 0 R /Last 15 0 R >>
endobj
12 0 obj % first child
<< /Title (Introduction)
/Parent 9 0 R /Next 15 0 R
/Dest [3 0 R /XYZ 72 720 0] >>
endobj
15 0 obj % second child, last sibling
<< /Title (Methodology)
/Parent 9 0 R /Prev 12 0 R
/Dest [3 0 R /Fit] >>
endobj
ÐÑоÑеÑеÑе вÑÑзкиÑе и инваÑианÑиÑе Ñе ÑÑÐ°Ð½Ð°Ñ Ð¾Ñевидни. ÐÑеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ ÑоÑи обÑаÑно кÑм ÑÐ²Ð¾Ñ ÑодиÑел /Parent. СÑÑедниÑе елеменÑи обÑазÑÐ²Ð°Ñ Ð²ÐµÑига ÑÑез /Prev и /Next, каÑо пÑÑвиÑÑ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿ÑопÑÑка /Prev, а поÑледниÑÑ Ð¿ÑопÑÑка /Next. РодиÑелÑÑ Ð¸Ð¼ÐµÐ½Ñва ÑвоиÑе пÑÑво и поÑледно деÑе ÑÑез /First and /Last, а деÑаÑа Ð¼ÐµÐ¶Ð´Ñ ÑÑÑ
Ñа доÑÑÑпни Ñамо ÑÑез пÑеминаване по веÑигаÑа на ÑÑÑедиÑе. СгÑеÑеÑе нÑÐºÐ¾Ñ Ð²ÑÑзка и пÑовалÑÑ Ñе бÑде ÑиÑ
: оÑÑаÑÑл /Next ÑÑкÑаÑава ÑÑла глава, ÑодиÑел, ÑийÑо /Last не пÑекÑаÑÑва веÑигаÑа пÑавилно, оÑÑÐ°Ð²Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñи ÑиÑаÑи, а ÑеÑеÑÑÑ Ð¸Ð·Ð¾Ð±ÑазÑва Ñамо Ñова, коеÑо може да доÑÑигне.
ÐолеÑо /Count ноÑи ÑÑÑÑоÑние, коеÑо ÑеÑÑо изненадва Ñ
оÑаÑа. РкоÑена и пÑи вÑеки ÑазÑиÑен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ñо ÑÑдÑÑжа бÑÐ¾Ñ Ð½Ð° наÑледниÑиÑе, коиÑо в моменÑа Ñа видими; пÑи ÑÐ²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ñо е оÑÑиÑаÑелно ÑиÑло, ÑиÑÑо абÑолÑÑна ÑÑойноÑÑ Ðµ бÑоÑÑ Ð½Ð° наÑледниÑиÑе, коиÑо биÑ
а Ñе поÑвили пÑи ÑазÑиÑÑване. Така /Count не е ÑикÑиÑан ÑÑÑÑкÑÑÑен ÑÐ°ÐºÑ Ð·Ð° дÑÑвоÑо, а запазеноÑо ÑÑÑÑоÑние (оÑвоÑено или заÑвоÑено) на панела, и генеÑаÑоÑ, койÑо го кодиÑа ÑвÑÑдо каÑо положиÑелно ÑиÑло, оÑваÑÑ Ð¾Ñново вÑеки клон, койÑо авÑоÑÑÑ Ðµ вÑзнамеÑÑвал да оÑÑави заÑвоÑен.
ÐÑеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ð·Ð°ÑлÑжава мÑÑÑоÑо Ñи, каÑо ÑоÑи нанÑкÑде. /Title е Ñова, коеÑо панелÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°; /Dest е мÑÑÑоÑо, кÑдеÑо Ñе пÑиземÑва кликванеÑо. ÐеÑÑинаÑиÑÑа може да бÑде вгÑадена в елеменÑа, какÑо по-гоÑе, или име, коеÑо Ñе ÑазÑеÑава ÑÑез ÑеÑника Ñ Ð¸Ð¼ÐµÐ½Ð° на докÑменÑа, коеÑо е по-добÑиÑÑ Ð¸Ð·Ð±Ð¾Ñ, когаÑо много оÑмеÑки и вÑÑзки Ñе наÑоÑÐ²Ð°Ñ ÐºÑм ÑÑÑиÑе меÑÑа, ÑÑй каÑо коÑигиÑаÑе пÑемеÑÑенаÑа Ñел Ñамо на едно мÑÑÑо. ÐиблиоÑекаÑа обикновено кÑие Ñова дÑÑво зад манипÑлаÑÐ¾Ñ Ð½Ð° коÑена на ÑÑÑÑкÑÑÑаÑа и меÑоди, коиÑо добавÑÑ Ð´Ð¾ÑеÑни запиÑи; в HotPDF докÑменÑÑÑ Ð¸Ð·Ð»Ð°Ð³Ð° OutlineRoot Ð¾Ñ Ñип THPDFDocOutlineObject и ÑвÑÑзва /Prev, /Next, /Parent и /Count пÑепÑаÑкиÑе вмеÑÑо ваÑ, докаÑо добавÑÑе елеменÑи. СÑÑÑва Ñи да Ñе вÑзползваÑе Ð¾Ñ Ñова, ÑÑй каÑо ÑÑÑнаÑа поддÑÑжка на Ñези инваÑианÑи пÑи ÑедакÑии е мÑÑÑоÑо, кÑдеÑо оÑмеÑкиÑе най-ÑеÑÑо Ñе ÑÑпÑÑ.
ÐеÑÑинаÑии: гÑамаÑикаÑа на Ñова накÑде води кликванеÑо
ÐакÑо оÑмеÑкиÑе, Ñака и аноÑаÑииÑе на вÑÑзки ÑоÑÐ°Ñ ÐºÑм деÑÑинаÑии, а деÑÑинаÑиÑÑа е неÑо повеÑе Ð¾Ñ Ð½Ð¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа. Това е маÑив, койÑо именÑва обекÑа на ÑÑÑаниÑаÑа и Ñлед Ñова Ñказва ÑÑез глагол вÑв вÑоÑÐ¸Ñ ÑÐ»Ð¾Ñ ÐºÐ°Ðº пÑогÑамаÑа за пÑеглед ÑÑÑбва да Ñ ÑамкиÑа. Ðай-ÑеÑÑо ÑÑеÑаниÑÑ Ð¸ най-злоÑпоÑÑебÑваниÑÑ Ðµ /XYZ, Ñ ÑоÑма [page /XYZ left top zoom]. ÐеговиÑе ÑÑи опеÑанда Ñа незавиÑими и вÑеки може да бÑде null, коеÑо ознаÑава âоÑÑавÐ?Ñова Ñака, какÑо го е наÑÑÑоил ÑеÑеÑÑÑâ? Така [page /XYZ null null null] ÑкаÑа на ÑÑÑаниÑаÑа, без да докоÑва позиÑиÑÑа на пÑевÑÑÑане или маÑабиÑане â?обикновено Ñова, коеÑо иÑкаÑе Ð¾Ñ Ð²ÑÑзка âкÑÐ?ÑÑÑаниÑаâ? ЧиÑлаÑа Ñа в пÑоÑÑÑанÑÑвоÑо на поÑÑебиÑÐµÐ»Ñ Ð¿Ð¾ подÑазбиÑане, измеÑено Ð¾Ñ Ð´Ð¾Ð»Ð½Ð¸Ñ Ð»Ñв ÑгÑл Ñ Ð½Ð°ÑаÑÑване на y нагоÑе â?ÑÑÑаÑа кооÑдинаÑна ÑиÑÑема, коÑÑо използва ÑÑдÑÑжаниеÑо на ÑÑÑаниÑаÑа. РазÑабоÑÑиÑиÑе, идваÑи Ð¾Ñ Ñеб дизайн, ÑеÑлекÑоÑно измеÑÐ²Ð°Ñ Ð¾ÑгоÑе и изпÑаÑÐ°Ñ ÑиÑаÑÐµÐ»Ñ Ð² гÑеÑÐ½Ð¸Ñ ÐºÑай на ÑÑÑаниÑаÑа.
ФамилиÑÑа /Fit Ð·Ð°Ð¼ÐµÐ½Ñ Ð¿ÑеÑизноÑо позиÑиониÑане Ñ ÑÑÑойÑивоÑÑ. [page /Fit] маÑабиÑа ÑÑлаÑа ÑÑÑаниÑа в пÑозоÑеÑа, [page /FitH top] напаÑва ÑиÑинаÑа на ÑÑÑаниÑаÑа ÑпÑÑмо даден гоÑен ÑÑб, а [page /FitR l b r t] маÑабиÑа пÑавоÑгÑлник, за да запÑлни изгледа. ТÑй каÑо Ñе изÑиÑлÑÐ²Ð°Ñ Ð¼Ð°Ñаба Ð¾Ñ Ð³ÐµÐ¾Ð¼ÐµÑÑиÑÑа на ÑÑÑаниÑаÑа, а не Ð¾Ñ ÑикÑиÑани кооÑдинаÑи, /Fit деÑÑинаÑиÑÑа пÑодÑлжава да Ñе дÑÑжи пÑавилно доÑи Ñлед оÑазмеÑÑване на ÑÑÑаниÑаÑа, докаÑо деÑÑинаÑиÑÑа /XYZ Ñ ÑикÑиÑано маÑабиÑане може да оÑÑави ÑиÑаÑÐµÐ»Ñ Ð´Ð° гледа пÑазноÑо поле. Ðа ÑÑдÑÑжание на докÑменÑ, /FitH Ñ Ð³Ð¾ÑнаÑа кооÑдинаÑа на Ñаздела оÑÑаÑÑва много по-добÑе Ð¾Ñ /XYZ Ñ Ð½Ð°Ð»ÑÑкано маÑабиÑане.
ÐноÑаÑии: вÑиÑко инÑеÑакÑивно, коеÑо не е ÑÑдÑÑжание на ÑÑÑаниÑаÑа
ÐноÑаÑиÑÑа е обекÑ, койÑо наÑлагва ÑÑÑаниÑаÑа, без да е ÑаÑÑ Ð¾Ñ Ð½ÐµÐ¹Ð½Ð¸Ñ Ð¿Ð¾Ñок Ð¾Ñ ÑÑдÑÑжание. ÐÑÑзки, лепкави бележки, маÑкеÑи, ÑиджеÑи за ÑоÑмÑлÑÑи, икони за пÑикаÑени Ñайлове, пеÑаÑи â?вÑиÑко Ñова Ñа аноÑаÑии, избÑоени в маÑива /Annots на ÑÑÑаниÑаÑа, вÑÑÑ
Ñ ÐºÐ¾ÑÑо ÑедÑÑ. ÐÑемаÑ
ванеÑо на аноÑаÑÐ¸Ñ Ð¾Ñ Ñози маÑив Ñ Ð¸Ð·ÑÑива Ð¾Ñ ÑÑÑаниÑаÑа, вÑпÑеки Ñе базовоÑо ÑÑдÑÑжание е непокÑÑнаÑо. Това е ÑелиÑÑ Ð·Ð°Ð¼Ð¸ÑÑл: аноÑаÑииÑе Ñа Ñлой за ÑедакÑиÑане, оÑделен Ð¾Ñ ÑеÑÑежиÑе под ÑÑÑ
.
ÐÑÑка аноÑаÑÐ¸Ñ ÑÐ¿Ð¾Ð´ÐµÐ»Ñ Ð¼Ð°Ð»Ñк ÑкелеÑ. /Subtype именÑва вида, /Rect дава Ð½ÐµÐ¹Ð½Ð¸Ñ Ð¾Ð±Ñ
ваÑÐ°Ñ Ð¿ÑавоÑгÑлник (bounding box) в кооÑдинаÑиÑе на ÑÑÑаниÑаÑа, а /Contents ÑÑдÑÑжа ÑекÑÑ, койÑо ÑлÑжи и за доÑÑÑпно опиÑание. ÐноÑаÑиÑÑа за вÑÑзка (Link) Ñи ÑÑÑÑва да Ñе пÑоÑÑи, ÑÑй каÑо идва в две ÑоÑми: ÑиÑÑа деÑÑинаÑÐ¸Ñ Ð¸ дейÑÑвие (action).
12 0 obj % link to a destination
<< /Type /Annot /Subtype /Link
/Rect [100 200 300 250]
/Border [0 0 0]
/Dest [5 0 R /XYZ null null null] >>
endobj
13 0 obj % link that runs an action
<< /Type /Annot /Subtype /Link
/Rect [50 50 200 100]
/Border [0 0 0]
/A << /Type /Action /S /URI /URI (https://www.example.com) >> >>
endobj
ÐÑавоÑгÑлникÑÑ /Rect е акÑивнаÑа зона; ÑÑакванеÑо в Ð½ÐµÑ Ð¸Ð·Ð¿ÑаÑа ÑиÑаÑÐµÐ»Ñ Ð´Ð¾ деÑÑинаÑиÑÑа, използвайки ÑÑÑаÑа гÑамаÑика, коÑÑо използва и ÑÑÑÑкÑÑÑаÑа на докÑменÑа. СÑойноÑÑÑа /Border [0 0 0] вÑÑÑи важна ÑабоÑа, поÑиÑкайки гÑÐ¾Ð·Ð½Ð¸Ñ Ð¿ÑавоÑгÑлник по подÑазбиÑане, койÑо пÑогÑамиÑе за пÑеглед ÑеÑÑаÑÑ Ð¾ÐºÐ¾Ð»Ð¾ вÑÑзкиÑе. ÐÑоÑаÑа ÑоÑма Ð·Ð°Ð¼ÐµÐ½Ñ ÑиÑÑаÑа деÑÑинаÑÐ¸Ñ /Dest Ñ Ð´ÐµÐ¹ÑÑвие /A (action), ÑийÑо подÑип /S избиÑа поведениеÑо: /GoTo в ÑамкиÑе на Ñози Ñайл, /GoToR за дÑÑг Ñайл, /URI за Ñеб адÑеÑ, /Launch за ÑÑаÑÑиÑане на вÑнÑна пÑогÑама. Това поÑледноÑо заÑлÑжава подозÑение. ÐейÑÑвиеÑо /Launch, коеÑо ÑÑаÑÑиÑа изпÑлним Ñайл, е поведениеÑо, коеÑо пÑави PDF ÑайловеÑе векÑÐ¾Ñ Ð·Ð° зловÑеден ÑоÑÑÑеÑ, Ñака Ñе ÑÑвмеÑÑимиÑе пÑогÑами за пÑеглед го блокиÑÐ°Ñ Ð¸Ð»Ð¸ пÑедÑпÑÐµÐ¶Ð´Ð°Ð²Ð°Ñ ÑÑмно, и вÑÑзкаÑа Ñе пÑÐ¾Ð²Ð°Ð»Ñ Ð¿Ñи повеÑеÑо ÑеÑеÑи. ÐзползвайÑе /URI и /GoTo и оÑÑавеÑе /Launch наÑÑÑана.
ÐноÑаÑииÑе за маÑкиÑане (каÑо маÑкеÑи и лепкави бележки) и аноÑаÑииÑе за ÑоÑми (каÑо /Square) ноÑÑÑ ÐµÐ´Ð½Ð° оÑобеноÑÑ: ÑеÑ
ниÑÑ Ð²Ð¸Ð´ на екÑана не Ñе подÑазбиÑа авÑомаÑиÑно Ð¾Ñ ÑеÑ
Ð½Ð¸Ñ Ñип. ÐÑогÑамаÑа за пÑеглед изобÑазÑва ÑÐ²Ð¾Ñ ÑобÑÑвена веÑÑиÑ, оÑвен ако не ÑикÑиÑаÑе вÑнÑÐ½Ð¸Ñ Ð²Ð¸Ð´ Ñ Ð¿Ð¾Ñок за вÑнÑен вид â?запиÑа /AP, койÑо ÑеÑеÑиÑа XObject ÑоÑма, ÑÑдÑÑжаÑа опеÑаÑоÑиÑе за ÑеÑÑане. ÐÑопÑÑнеÑе го и едно и ÑÑÑо маÑкиÑане може да изглежда ÑазлиÑно в два ÑеÑеÑа или пÑеди и Ñлед пÑеминаване пÑез ÑедакÑоÑ. Ðа вÑиÑко, ÑийÑо ÑоÑен вид е важна ÑаÑÑ Ð¾Ñ Ð´Ð¾ÐºÑменÑа, оÑигÑÑеÑе /AP. ÐÑикаÑениÑе Ñайлове, Ð¼ÐµÐ¶Ð´Ñ Ð´ÑÑгоÑо, Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ ÑÑÑаÑа маÑина: вгÑаден поÑок Ð¾Ñ Ñайлове и ÑеÑник за ÑпеÑиÑикаÑÐ¸Ñ Ð½Ð° Ñайлове, изведени на повÑÑÑ
ноÑÑÑа или каÑо аноÑаÑÐ¸Ñ /FileAttachment, или ÑÑез дÑÑвоÑо Ñ Ð¸Ð¼ÐµÐ½Ð° /EmbeddedFiles под каÑаложноÑо /Names.
ÐÑде Ñе ÑÑпи Ñози Ñлой и как да го Ñловим
ÐовÑаÑÑÑиÑÑ Ñе пÑовал в ÑÐµÐ»Ð¸Ñ Ñози Ñлой е виÑÑÑаÑа пÑепÑаÑка (dangling reference). ÐÑмеÑкиÑе ÑпиÑÐ°Ñ Ð´Ð° Ñе показваÑ, когаÑо каÑалогÑÑ Ð½Ñма Ð·Ð°Ð¿Ð¸Ñ /Outlines или веÑигаÑа на ÑÑÑедиÑе Ñе ÑкÑÑа по ÑÑедаÑа на дÑÑвоÑо; меÑаданниÑе Ñе игноÑиÑаÑ, когаÑо XMP поÑокÑÑ Ð½Ñма ÑвоÑÑа маÑкиÑовка /Type /Metadata /Subtype /XML или xpacket обвивкаÑа е деÑекÑна. ÐÑв вÑеки ÑлÑÑай ÑÑдÑÑжаниеÑо на ÑÑÑаниÑаÑа е наÑед, Ñака Ñе обикновеноÑо оÑваÑÑне изглежда пÑавилно и деÑекÑÑÑ Ð¸Ð·Ð»Ð¸Ð·Ð° наÑве Ñамо в панела, койÑо никой не е пÑовеÑил.
Ðва леÑни навика ÑлавÑÑ Ð¿Ð¾-голÑмаÑа ÑаÑÑ Ð¾Ñ Ñези пÑоблеми. ÐÑвоÑеÑе гоÑÐ¾Ð²Ð¸Ñ Ñайл в Ñеална пÑогÑама за пÑеглед и пÑеминеÑе пÑез панела Ñ Ð¾ÑмеÑки и извадка Ð¾Ñ Ð²ÑÑзки, коеÑо ÑеÑÑва гÑаÑа Ð¾Ñ Ð¿ÑепÑаÑки по наÑина, по койÑо Ñе го напÑави ÑеÑеÑÑÑ. След Ñова пÑоÑеÑеÑе меÑаданниÑе обÑаÑно Ñ Ð¾Ñделен инÑÑÑÑÐ¼ÐµÐ½Ñ Ð¸ поÑвÑÑдеÑе, Ñе ÑеÑникÑÑ Info и XMP ÑÑÐ²Ð¿Ð°Ð´Ð°Ñ â?неÑÑоÑвеÑÑÑвие, коеÑо никакво кликане нÑма да ÑазкÑие. ÐенеÑиÑайÑе Ñози Ñлой ÑÑез библиоÑека, коÑÑо пÑиÑежава ÑÑеÑоводÑÑвоÑо на вÑÑзкиÑе, и повеÑеÑо Ð¾Ñ Ñези капани никога нÑма да Ñе оÑвоÑÑÑ. HotPDF Component за Delphi и C++Builder излага ÑÑÑÑкÑÑÑиÑе за оÑмеÑки, аноÑаÑии и меÑаданни ÑÑез пÑогÑамни инÑеÑÑейÑи (APIs) на ниво докÑменÑ, Ñака Ñе вие опиÑваÑе йеÑаÑÑ Ð¸ÑÑа на оÑмеÑкиÑе и вÑÑзкиÑе, а библиоÑекаÑа ÑвÑÑзва пÑепÑаÑкиÑе. Ðа обекÑÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ», кÑм койÑо Ñе пÑикÑÐµÐ¿Ð²Ð°Ñ Ñези ÑÑÑÑкÑÑÑи, ÑÐµÑ Ð½Ð¸ÑеÑкиÑÑ Ð¿Ñеглед на ÑÑÑÑкÑÑÑаÑа на PDF Ñайлове Ð¾Ð±Ñ Ð²Ð°Ñа каÑалога и ÑаблиÑаÑа Ñ ÐºÑÑÑÑоÑани пÑепÑаÑки, Ð¾Ñ ÐºÐ¾Ð¸Ñо завиÑÑÑ Ñе.