ÐноÑаÑиÑÑа не е ÑаÑÑ Ð¾Ñ ÑÑдÑÑжаниеÑо на ÑÑÑаниÑаÑа. ÐогаÑо извикаÑе TextOut или изÑеÑÑаеÑе пÑавоÑгÑлник, ознаÑениÑÑа ÑÑÐ°Ð²Ð°Ñ ÑаÑÑ Ð¾Ñ Ð¿Ð¾Ñока ÑÑÑ ÑÑдÑÑжание (content stream) на ÑÑÑаниÑаÑа â?вгÑадени в байÑовеÑе, коиÑо ÑеÑеÑÑÑ Ð¸Ð·Ð¾Ð±ÑазÑва. ÐноÑаÑиÑÑа е оÑделен ÑеÑник (dictionary), койÑо Ñе пÑикÑÐµÐ¿Ñ ÐºÑм ÑÑÑаниÑаÑа ÑÑез Ð½ÐµÐ¹Ð½Ð¸Ñ Ð¼Ð°Ñив /Annots, каÑо пÑиÑежава ÑобÑÑвен пÑавоÑгÑлник, ÑобÑÑвен облик и ÑобÑÑвен жизнен ÑикÑл. Ðаден ÑеÑÐµÑ Ð¼Ð¾Ð¶Ðµ да Ñ Ð¾ÑвоÑи, пÑемеÑÑи, ÑкÑие или пÑемаÑ
не, без да пÑÐ¾Ð¼ÐµÐ½Ñ Ð½Ð¸Ñо един Ñимвол Ð¾Ñ Ð¾ÑновнаÑа ÑÑÑаниÑа. Това Ñазделение е пÑиÑинаÑа за ÑÑÑеÑÑвÑванеÑо на аноÑаÑииÑе и ÑÑÑо Ñака е изÑоÑникÑÑ Ð½Ð° двеÑе неÑа, коиÑо Ð¸Ð·Ð½ÐµÐ½Ð°Ð´Ð²Ð°Ñ ÑазÑабоÑÑиÑиÑе в наÑалоÑо: кÑде Ñе позиÑиониÑа аноÑаÑиÑÑа и как изглежда ÑÑ, Ñлед каÑо Ñе оÑвоÑи в конкÑеÑна пÑогÑама.
HotPDF пÑедоÑÑÐ°Ð²Ñ Ð´Ð¾ÑÑÑп до подÑиповеÑе аноÑаÑии по ISO 32000 ÑÑез гÑÑпа Ð¸Ð·Ð²Ð¸ÐºÐ²Ð°Ð½Ð¸Ñ AddXxxAnnotation за обекÑа на ÑÑÑаниÑаÑа. ÐÑиÑки Ñе ÑподелÑÑ ÐµÐ´Ð½Ð° и ÑÑÑа ÑÑÑÑкÑÑÑа: пÑавоÑгÑлник, койÑо ÑикÑиÑа аноÑаÑиÑÑа вÑÑÑ
Ñ ÑÑÑаниÑаÑа в поÑÑебиÑелÑкоÑо пÑоÑÑÑанÑÑво на PDF (PDF user space), ÑÑдÑÑжание (ÑекÑÑ, име на пеÑаÑ, двойка ÑоÑки) и ÑвÑÑ. ÐозиÑиониÑайÑе пÑавоÑгÑлника пÑавилно и по-голÑмаÑа ÑаÑÑ Ð¾Ñ ÑабоÑаÑа е ÑвÑÑÑена. ÐÑÑаналаÑа ÑаÑÑ Ðµ да знаеÑе кои подÑипове Ð¸Ð¼Ð°Ñ Ñвой ÑобÑÑвен облик и кои ÑазÑиÑÐ°Ñ Ð½Ð° ÑеÑеÑа за изÑеÑÑаванеÑо им.

ÐÑавоÑгÑлникÑÑ Ðµ ÑамаÑа аноÑаÑиÑ, а не ÑекÑÑÑÑ
ÐÑÑко извикване на аноÑаÑÐ¸Ñ Ð¿Ñиема ÑÑÑÑкÑÑÑа TRect, каÑо Ñози пÑавоÑгÑлник ознаÑава неÑо ÑазлиÑно Ð¾Ñ ÐºÐ¾Ð¾ÑдинаÑиÑе, коиÑо пÑедаваÑе на TextOut. Ðа ÑекÑÑова бележка Ñова е ÑÑвÑÑвиÑелнаÑа пÑи ÑÑакване зона (hotspot) â?малкаÑа облаÑÑ, кÑдеÑо Ñе намиÑа иконаÑа на бележкаÑа и кÑдеÑо ÑÑакванеÑо оÑваÑÑ ÐºÐ¾Ð¼ÐµÐ½ÑаÑа. Ðа пÑавоÑгÑлна ÑигÑÑа или ÑекÑÑово поле ÑÑÑ Ñвободен ÑекÑÑ Ñова е видимиÑÑ Ð¾Ð±Ñ
Ð²Ð°Ñ Ð½Ð° аноÑаÑиÑÑа. Ðа пеÑÐ°Ñ Ñова е пÑавоÑгÑлникÑÑ, в койÑо Ñе маÑабиÑа изобÑажениеÑо на пеÑаÑа. ЧиÑлаÑа пÑедÑÑавлÑÐ²Ð°Ñ Ð¿ÑнкÑове в поÑÑебиÑелÑкоÑо пÑоÑÑÑанÑÑво на PDF, измеÑени Ð¾Ñ Ð´Ð¾Ð»Ð½Ð¸Ñ Ð»Ñв ÑгÑл на ÑÑÑаниÑаÑа, каÑо Y ÑаÑÑе нагоÑе â?ÑÑÑаÑа конвенÑиÑ, коÑÑо използва оÑÑаналаÑа ÑаÑÑ Ð¾Ñ HotPDF.
ТекÑÑоваÑа бележка е най-лекиÑÑ Ð¿Ð¾Ð´Ñип. Ðие й задаваÑе ÑÑдÑÑжаниеÑо на ÑекÑÑа, пÑавоÑгÑлник за иконаÑа, Ñлаг дали да Ñе оÑваÑÑ Ð¿Ð¾ подÑазбиÑане, име на икона и ÑвÑÑ.
Pdf.CurrentPage.AddTextAnnotation(
'Reviewer: confirm the totals on this line before sign-off.',
Rect(120, 700, 140, 720), // icon hotspot, ~20pt square
False, // closed until the reader clicks it
taComment, // bubble icon
clBlue);
ÐÑавоÑгÑлникÑÑ ÑÑк е ÑмиÑлено малÑк â?около двадеÑÐµÑ Ð¿ÑнкÑа на ÑÑÑана, ÑÑй каÑо ÑекÑÑоваÑа бележка е Ñамо икона, докаÑо нÑкой не ÑÑакне вÑÑÑ
Ñ Ð½ÐµÑ. ÐапÑавеÑе пÑавоÑгÑлника ÑвÑÑде голÑм и нÑма да полÑÑиÑе голÑма бележка; Ñе полÑÑиÑе извÑнгабаÑиÑна зона за ÑÑакване, каÑо иконаÑа Ñе бÑде Ñазположена в ÐµÐ´Ð¸Ð½Ð¸Ñ ÑгÑл. ФлагÑÑ Open конÑÑолиÑа дали изÑкаÑаÑиÑÑ Ð¿ÑозоÑÐµÑ (popup) Ñе вижда пÑи заÑеждане на докÑменÑа. ÐадайÑе ÑÑойноÑÑ True за нÑколко бележки и Ñе Ñе Ñе наÑÐ»Ð¾Ð¶Ð°Ñ ÐµÐ´Ð½Ð° вÑÑÑ
Ñ Ð´ÑÑга и вÑÑÑ
Ñ ÑÑдÑÑжаниеÑо, Ñака Ñе запазеÑе Ñази опÑÐ¸Ñ Ñамо за бележкаÑа, коÑÑо наиÑÑина иÑкаÑе ÑиÑаÑелÑÑ Ð´Ð° види веднага.
ÐмеÑо на иконаÑа идва Ð¾Ñ Ñипа THPDFTextAnnotationType, койÑо ÑÑоÑвеÑÑÑва на ÑÑандаÑÑниÑе икони за бележки: taComment, taKey, taNote, taHelp, taParagraph, taNewParagraph, и taInsert. ÐконаÑа е единÑÑвеноÑо неÑо, коеÑо Ñе пÑÐ¾Ð¼ÐµÐ½Ñ Ð¾Ñ Ñози Ñип. Ð¢Ñ Ð½Ðµ пÑÐ¾Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÑо и е добÑе да знаеÑе, Ñе не вÑеки ÑеÑÐµÑ Ð¸Ð·ÑеÑÑава и ÑедемÑе Ñипа; най-ÑигÑÑниÑе пÑи по-ÑÑаÑиÑе и новиÑе пÑогÑами Ñа taComment, taNote и taHelp.
СвободниÑÑ ÑекÑÑ Ñе изпиÑва вÑÑÑ Ñ ÑÑÑаниÑаÑа, но оÑÑава аноÑаÑиÑ
ÐноÑаÑиÑÑа ÑÑÑ Ñвободен ÑекÑÑ (free text) изглежда каÑо ÑÑдÑÑжание на ÑÑÑаниÑаÑа, ÑÑй каÑо ÑекÑÑÑÑ Ñе вижда без ÑÑакване, Ñазположен в ÑÐ²Ð¾Ñ Ð¿ÑавоÑгÑлник каÑо надпиÑ. Ð¢Ñ Ð¾Ð±Ð°Ñе оÑÑава аноÑаÑÐ¸Ñ Ñ ÑÑлаÑа ÑамоÑÑоÑÑелноÑÑ, коÑÑо Ñова пÑедполага â?ÑоÑно Ñова, коеÑо иÑкаÑе за пеÑÐ°Ñ Ð·Ð° пÑеглед или еÑÐ¸ÐºÐµÑ Ð·Ð° ÑеÑнова, коиÑо нÑкой ÑÑÑбва да може да пÑÐµÐ¼Ð°Ñ Ð½Ðµ по-кÑÑно. СигнаÑÑÑаÑа на меÑода Ð·Ð°Ð¼ÐµÐ½Ñ Ð¸ÐºÐ¾Ð½Ð°Ñа и Ñлага за оÑваÑÑне Ñ Ð¿Ð°ÑамеÑÑÑ Ð·Ð° подÑавнÑване.
Pdf.CurrentPage.AddFreeTextAnnotation(
'DRAFT - not for distribution',
Rect(200, 210, 400, 235), // the box the text is laid into
ftCenter, // ftLeftJust / ftCenter / ftRightJust
clRed);
ТÑк пÑавоÑгÑлникÑÑ Ðµ по-важен, оÑколкоÑо пÑи ÑекÑÑоваÑа бележка, ÑÑй каÑо ÑекÑÑÑÑ Ñе пÑенаÑÑ Ð¸ подÑавнÑва вÑÑÑе в него. ÐапÑавеÑе ÑамкаÑа ÑвÑÑде ниÑка и ÑекÑÑÑÑ Ñе Ñе изÑеже оÑдолÑ; напÑавеÑе Ñ ÑвÑÑде ÑÑÑна и Ñой Ñе Ñе пÑенеÑе на меÑÑа, на коиÑо не ÑÑе планиÑали. ÐодÑавнÑванеÑо Ñе опÑÐµÐ´ÐµÐ»Ñ Ð¾Ñ Ñипа THPDFFreeTextAnnotationJust и ÑÑдÑÑжа Ñамо ÑÑиÑе ÑÑойноÑÑи. ТÑй каÑо ÑвободниÑÑ ÑекÑÑ Ðµ аноÑаÑÐ¸Ñ Ð·Ð° маÑкиÑане (markup annotation), поÑÑебиÑел, койÑо оÑвоÑи Ñайла в ÑедакÑоÑ, може да Ñ Ð¸Ð·Ð±ÐµÑе, пÑемеÑÑи или изÑÑие каÑо едно ÑÑло â?ÑазликаÑа, коÑÑо опÑÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ да избеÑеÑе Ñвободен ÑекÑÑ Ð¸Ð»Ð¸ пÑоÑÑо да изÑеÑÑаеÑе дÑмиÑе Ñ TextOut. Ðко еÑикеÑÑÑ ÑÑÑбва да бÑде поÑÑоÑнен, изÑеÑÑайÑе го. Ðко е ÑедакÑионен и ÑÑÑбва да може да Ñе маÑ
а, го напÑавеÑе аноÑаÑиÑ.
ÐеомеÑÑиÑни елеменÑи и линии за поÑоÑване
ÐÑавоÑгÑлниÑиÑе, кÑÑговеÑе и линииÑе Ñа аноÑаÑииÑе, коиÑо използваÑе, за да поÑоÑиÑе облаÑÑ, вмеÑÑо да Ñ Ð¾Ð¿Ð¸ÑваÑе Ñ Ð´Ñми. ÐеÑодÑÑ AddCircleSquareAnnotation покÑива двеÑе ÑигÑÑи ÑÑез THPDFCSAnnotationType ÑÑÑ ÑÑойноÑÑи csCircle или csSquare, каÑо пÑавоÑгÑлникÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ñ Ð³ÑаниÑиÑе на ÑигÑÑаÑа.
// A box drawn around a figure that needs attention
Pdf.CurrentPage.AddCircleSquareAnnotation(
'Check this region against the source data',
Rect(50, 300, 120, 360),
csSquare,
clGreen);
// A line, given two points rather than a rectangle
var
StartPt, EndPt: THPDFCurrPoint;
begin
StartPt.X := 130; StartPt.Y := 360;
EndPt.X := 250; EndPt.Y := 320;
Pdf.CurrentPage.AddLineAnnotation(
'Points from the note to the figure',
StartPt, EndPt,
clBlue);
end;
ÐбÑÑнеÑе внимание, Ñе аноÑаÑиÑÑа Ñ Ð»Ð¸Ð½Ð¸Ñ Ð½Ðµ Ñледва модела Ñ Ð¿ÑавоÑгÑлник: ÑÑ Ð¿Ñиема два запиÑа THPDFCurrPoint â?наÑало и кÑай, ÑÑй каÑо линиÑÑа Ñе деÑиниÑа Ð¾Ñ ÐºÑайниÑе Ñи ÑоÑки, а не Ð¾Ñ Ð¾Ð³ÑаниÑаваÑа Ñамка. ЦвеÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ñ ÐºÐ¾Ð½ÑÑÑа (stroke). Ðко желаеÑе ÑÑÑелки в кÑаиÑаÑа, HotPDF има пÑеÑоваÑени веÑÑии (overloads) на AddLineAnnotation, коиÑо пÑÐ¸ÐµÐ¼Ð°Ñ ÑÑилове за завÑÑÑек на линиÑÑа, но оÑновнаÑа ÑоÑма Ñ ÑÑи аÑгÑменÑа ÑеÑÑае обикновена линиÑ, коеÑо обикновено е напÑлно доÑÑаÑÑÑно.
ÐодÑиповеÑе за маÑкиÑане на ÑекÑÑ ÑабоÑÑÑ Ð²ÑÑÑ
Ñ Ð¾Ð±Ð»Ð°ÑÑ, коÑÑо веÑе ÑÑе оÑоÑмили. ÐеÑодÑÑ AddHighlightAnnotation пÑиема пÑавоÑгÑлник, незадÑлжиÑелно ÑÑдÑÑжание и ÑвÑÑ, койÑо по подÑазбиÑане е жÑлÑ, каÑо оÑвеÑÑва облаÑÑÑа по наÑина, по койÑо го пÑави маÑкеÑа. Той е пÑедназнаÑен да ÑÑои над Ñеален ÑекÑÑ, Ñака Ñе пÑавоÑгÑлникÑÑ ÑÑÑбва да ÑÑвпада Ñ Ð³ÑаниÑиÑе на дÑмиÑе, коиÑо ÑÑе изÑеÑÑали, коеÑо ознаÑава, Ñе ÑÑÑбва да го изÑиÑлиÑе Ð¾Ñ ÑÑÑиÑе кооÑдинаÑи, коиÑо ÑÑе пÑедали на TextOut, вмеÑÑо да гадаеÑе.
ÐеÑаÑиÑе ÑазÑиÑÐ°Ñ Ð½Ð° ÑеÑеÑа за визÑализиÑанеÑо им
ÐноÑаÑиÑÑа Ñ Ð¿ÐµÑÐ°Ñ (stamp) е Ñази, коÑÑо е най-веÑоÑÑно да изглежда ÑазлиÑно пÑи ÑазлиÑниÑе пÑогÑами, и пÑиÑинаÑа за Ñова е добÑе да Ñе ÑазбеÑе. ÐеÑодÑÑ AddStampAnnotation опÑÐµÐ´ÐµÐ»Ñ ÑÑандаÑÑен пеÑÐ°Ñ ÑÑез THPDFStampAnnotationType ÑÑÑ ÑÑойноÑÑи каÑо satApproved, satConfidential, satFinal, satDraft, и satForComment.
Pdf.CurrentPage.AddStampAnnotation(
'Approved for release on review',
Rect(50, 400, 200, 440),
satApproved,
clGreen);
ÐмеÑо на пеÑаÑа е пÑоÑÑо заÑвка. PDF ÑпеÑиÑикаÑиÑÑа деÑиниÑа набоÑа Ð¾Ñ ÑÑандаÑÑни имена за пеÑаÑи, но не и гÑаÑиÑноÑо изобÑажение зад ÑÑÑ
. ÐÑо заÑо вÑеки ÑеÑÐµÑ Ð¿Ñедлага ÑобÑÑвена визÑализаÑÐ¸Ñ Ð½Ð° âAPPROVEDâ?или âCONFIDENTIALâ? а нÑкои пÑогÑами не Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ñ Ð½Ð¸Ñо за имена, коиÑо не ÑазпознаваÑ. ÐÑавоÑгÑлникÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ñ ÑамкаÑа, в коÑÑо Ñе маÑабиÑа изобÑажениеÑо, а ÑвеÑÑÑ Ðµ пÑоÑÑо наÑока, коÑÑо ÑеÑеÑÑÑ Ð¼Ð¾Ð¶Ðµ и да не Ñпази. Ðко пеÑаÑÑÑ ÑÑÑбва да изглежда абÑолÑÑно еднакво навÑÑкÑде, най-ÑигÑÑниÑÑ Ð½Ð°Ñин е изобÑо да не използваÑе ÑÑандаÑÑен пеÑаÑ: изÑеÑÑайÑе го Ñами Ñ TextOut и ÑеÑÑожниÑе меÑоди или го поÑÑавеÑе каÑо аноÑаÑÐ¸Ñ ÑÑÑ Ñвободен ÑекÑÑ, ÑийÑо облик конÑÑолиÑаÑе изÑÑло. ÐзползвайÑе ÑÑандаÑÑÐ½Ð¸Ñ Ð¿ÐµÑаÑ, когаÑо иÑкаÑе познаÑÐ¸Ñ Ð¾Ð±Ð»Ð¸Ðº на ÑÑоÑвеÑÐ½Ð¸Ñ ÑеÑÐµÑ Ð¸ ÑазминаваниÑÑа не Ñа пÑоблем за ваÑ.
ÐÑикаÑениÑе Ñайлове ÑÐ»ÐµÐ´Ð²Ð°Ñ ÑÑÑаÑа ÑÑÑÑкÑÑÑа Ð¾Ñ Ð¿ÑавоÑгÑлник и ÑÑдÑÑжание. ÐеÑодÑÑ AddFileAttachmentAnnotation пÑиема опиÑаниеÑо, пÑÑÑ Ð´Ð¾ Ñайла за вгÑаждане, пÑавоÑгÑлник за иконаÑа Ñ ÐºÐ»Ð°Ð¼ÐµÑ Ð¸ ÑвÑÑ. ФайлÑÑ Ñе запиÑва вÑÑÑе в PDF докÑменÑа, а иконаÑа е елеменÑÑÑ, койÑо ÑиÑаÑелÑÑ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°, за да го извлеÑе.
Разлики Ð¼ÐµÐ¶Ð´Ñ Ð°Ð½Ð¾ÑаÑииÑе и полеÑаÑа на AcroForm
ÐбÑÑкванеÑо, коеÑо коÑÑва най-много вÑеме, е ÑÑеÑиÑанеÑо на аноÑаÑиÑÑа каÑо поле Ð¾Ñ ÑоÑмÑлÑÑ. РдвеÑе Ñе пÑикÑепÑÑ ÐºÑм ÑÑÑаниÑаÑа ÑÑез маÑива /Annots, а полеÑо Ð¾Ñ ÑоÑмÑлÑÑ Ð²ÑÑÑноÑÑ Ðµ ÑпеÑиален подÑип аноÑаÑÐ¸Ñ (джаджа или widget) â?именно заÑова Ð¸Ð·Ð³Ð»ÐµÐ¶Ð´Ð°Ñ ÑвÑÑзани. Те обаÑе не Ñа взаимнозаменÑеми. ÐолеÑо Ð¾Ñ ÑоÑмÑлÑÑ Ð¸Ð¼Ð° ÑÑойноÑÑ, име, ÑÑаÑÑва в Ñеда на пÑеминаване Ñ ÑабÑлаÑÐ¸Ñ (tab order) и може да бÑде изпÑаÑано, нÑлиÑано или да изпÑлнÑва ÑкÑипÑове; вие ÑÑздаваÑе Ñези елеменÑи ÑÑез Ð¸Ð·Ð²Ð¸ÐºÐ²Ð°Ð½Ð¸Ñ ÐºÐ°Ñо AddTextField, AddCheckBox, и AddPushButton, а не ÑÑез аноÑаÑииÑе, опиÑани ÑÑк. ÐноÑаÑиÑÑа за маÑкиÑане ÑÑдÑÑжа коменÑÐ°Ñ Ð¸Ð»Ð¸ ÑигÑÑа, нÑма ÑÑойноÑÑ Ð·Ð° изпÑаÑане и е гÑеÑниÑÑ Ð¸Ð½ÑÑÑÑменÑ, когаÑо ÑÑÑбва да ÑÑбиÑаÑе данни Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ.
ÐÑакÑиÑеÑкаÑа пÑовеÑка е пÑоÑÑа. Ðко поÑÑебиÑелÑÑ ÑÑÑбва да вÑвежда ÑекÑÑ, да избиÑа опÑÐ¸Ñ Ð¸Ð»Ð¸ да ÑÑака и докÑменÑÑÑ ÑÑÑбва да запази Ñова дейÑÑвие, ви е Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ поле Ð¾Ñ AcroForm. Ðко оÑÑавÑÑе бележка, маÑкиÑаÑе облаÑÑ Ð¸Ð»Ð¸ поÑÑавÑÑе пеÑÐ°Ñ Ð·Ð° ÑÑаÑÑÑ, койÑо Ñе пÑедава Ñ Ñайла, но не пÑедÑÑавлÑва данни, ви е Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° аноÑаÑиÑ. СмеÑванеÑо им води до докÑменÑи, коиÑо Ð¸Ð·Ð³Ð»ÐµÐ¶Ð´Ð°Ñ Ð¿Ñавилно, но Ñе дÑÑÐ¶Ð°Ñ Ð³ÑеÑно: âполеâ? коеÑо никой не може да попÑлни, или коменÑаÑ, койÑо изÑезва пÑи нÑлиÑане на ÑоÑмаÑа. ÐнÑеÑакÑивнаÑа ÑаÑÑ Ñ Ñипове полеÑа, валидиÑане и изпÑаÑане на данни е оÑделна Ñема, Ñазгледана в ÑÑководÑÑвоÑо за полеÑа на AcroForm и дейÑÑвиÑ.
СглобÑване на ÑÑÑаниÑаÑа
ÐноÑаÑииÑе Ñе пÑикÑепÑÑ ÐºÑм CurrentPage, Ñака Ñе Ñлед AddPage Ñе Ð¿Ð¾Ð¿Ð°Ð´Ð°Ñ Ð½Ð° новаÑа ÑÑÑаниÑа, а бележка, коÑÑо ÑÑе планиÑали за пÑÑва ÑÑÑаниÑа, ÑиÑ
омÑлком Ñе Ñе поÑви на вÑоÑа, ако Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñе Ñлед пÑекÑÑванеÑо на ÑÑÑаниÑаÑа.
Pdf := THotPDF.Create(nil);
try
Pdf.FileName := 'annotated.pdf';
Pdf.Compression := cmFlateDecode;
Pdf.FontEmbedding := True;
Pdf.BeginDoc;
Pdf.CurrentPage.SetFont('Arial', [], 11);
Pdf.CurrentPage.TextOut(50, 740, 0, 'Quarterly figures, draft for review');
Pdf.CurrentPage.AddTextAnnotation(
'Confirm the totals before sign-off.',
Rect(50, 720, 70, 740), False, taComment, clBlue);
Pdf.CurrentPage.AddFreeTextAnnotation(
'DRAFT', Rect(450, 720, 540, 745), ftCenter, clRed);
Pdf.CurrentPage.AddStampAnnotation(
'For comment', Rect(50, 660, 180, 695), satForComment, clGreen);
Pdf.EndDoc;
finally
Pdf.Free;
end;
Ðдин поÑледен навик, койÑо Ñи ÑÑÑÑва да изгÑадиÑе, когаÑо ÑезÑлÑаÑÑÑ Ð¸Ð·Ð³Ð»ÐµÐ¶Ð´Ð° гÑеÑен: оÑвоÑеÑе Ñайла в повеÑе Ð¾Ñ ÐµÐ´Ð¸Ð½ ÑеÑеÑ, пÑеди да ÑеÑиÑе, Ñе кодÑÑ Ðµ повÑеден. ÐеÑаÑиÑе и по-ÑедкиÑе икони на бележки обикновено Ñа изÑоÑникÑÑ Ð½Ð° пÑоблеми. ТÑй каÑо аноÑаÑиÑÑа е пÑоÑÑо заÑвка кÑм ÑеÑеÑа, а не изÑеÑÑани пикÑели, ÑазликаÑа Ð¼ÐµÐ¶Ð´Ñ Acrobat и по-лек ÑеÑÐµÑ ÑеÑÑо е доказаÑелÑÑво, Ñе ÑпеÑиÑикаÑиÑÑа ÑабоÑи по дизайн, а не Ñе има гÑеÑка в извикванеÑо ви.
ÐÑедÑÑавениÑе ÑÑк Ð¸Ð·Ð²Ð¸ÐºÐ²Ð°Ð½Ð¸Ñ Ð½Ð° аноÑаÑии Ñа ÑаÑÑ Ð¾Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñа HotPDF за Delphi и C++Builder.