LONG AddOutlineAfter ( LONG outlineNode, BSTR title, FontCharset charset ) |
{ PDF object is supposed to be created } PDF.ViewerMode := mtUseOutlines; ch := fcDefault; { adding outlines } outline1 := PDF.AddOutlineChild(PDF.GetRootOutline, 'Outline 1', ch); outline3 := PDF.AddOutlineAfter(outline1, 'Outline 3', ch); outline2 := PDF.AddOutlineBefore(outline3, 'Outline 2', ch); outline4 := PDF.AddOutlineAfter(outline3, 'Outline 4', ch); if 'Outline 4' = PDF.GetOutlineUnicodeTitle(outline4) then PDF.DeleteOutline(outline4, false); { adding child nodes } outline := outline1; n := PDF.GetOutlineCount(); for i := 1 to n do begin PDF.AddOutlineChild(outline, 'Child ' + IntToStr(3*(i-1)+1), ch); PDF.AddOutlineChild(outline, 'Child ' + IntToStr(3*(i-1)+2), ch); PDF.AddOutlineChild(outline, 'Child ' + IntToStr(3*(i-1)+3), ch); outline := PDF.GetNextSiblingOutline(outline); end; { assigning actions } action := PDF.CreateJavascriptAction('app.alert("Hello.")'); outline := outline1; n := PDF.GetOutlineCount(); for i := 1 to n do begin; PDF.SetOutlineAction(outline, action); outline := PDF.GetNextOutline(outline); end; { changing node's text } n := PDF.GetOutlineChildCount(outline3); for i := 0 to n-1 do begin; outline := PDF.GetOutlineChild(outline3, i); if outline = PDF.GetOutlineFirstChild(outline3) then PDF.SetOutlineTitle(outline, 'Node''s first child.', ch) else if outline = PDF.GetOutlineLastChild(outline3) then PDF.SetOutlineTitle(outline, 'Node''s last child.', ch) else PDF.SetOutlineTitle(outline, 'Node''s child.', ch) end; if PDF.IsOutlineExpanded(outline3) then PDF.SetOutlineExpanded(outline3, false); PDF.SaveToFile('test.pdf', true);
// PDF object is supposed to be created PDF->ViewerMode = mtUseOutlines; FontCharset ch = fcDefault; // adding outlines long outline1 = PDF->AddOutlineChild(PDF.GetRootOutline, "Outline 1", ch); long outline3 = PDF->AddOutlineAfter(outline1, "Outline 3", ch); long outline2 = PDF->AddOutlineBefore(outline3, "Outline 2", ch); long outline4 = PDF->AddOutlineAfter(outline3, "Outline 4", ch); if (L"Outline 4" == PDF->GetOutlineUnicodeTitle(outline4)) PDF->DeleteOutline(outline4, false); // adding child nodes long outline = outline1; long n = PDF->GetOutlineCount(); for (long i = 0; i < 3*n; i++) { PDF->AddOutlineChild(outline, "Child " & i, ch); PDF->AddOutlineChild(outline, "Child " & i+1, ch); PDF->AddOutlineChild(outline, "Child " & i+2, ch); outline = PDF->GetNextSiblingOutline(outline); i = i + 2; } // assigning actions long action = PDF->CreateJavascriptAction("app.alert('Hello.')"); outline = outline1; n = PDF->GetOutlineCount(); for (long i = 0; i < n; i++) { PDF->SetOutlineAction(outline, action); outline = PDF->GetNextOutline(outline); } // changing node's text n = PDF->GetOutlineChildCount(outline3); for (long i = 0; i < n; i++) { outline = PDF->GetOutlineChild(outline3, i); if (outline == PDF->GetOutlineFirstChild(outline3)) PDF->SetOutlineTitle(outline, "Node's first child.", ch); else { if (outline == PDF->GetOutlineLastChild(outline3)) PDF->SetOutlineTitle(outline, "Node's last child.", ch); else PDF->SetOutlineTitle(outline, "Node's child.", ch); } } if (PDF->IsOutlineExpanded(outline3)) PDF->SetOutlineExpanded(outline3, false); PDF->SaveToFile("test.pdf", true);
// PDF object is supposed to be created PDF.ViewerMode = ModeType.mtUseOutlines; FontCharset ch = FontCharset.fcDefault; // adding outlines long outline1 = PDF.AddOutlineChild(PDF.GetRootOutline, "Outline 1", ch); long outline3 = PDF.AddOutlineAfter(outline1, "Outline 3", ch); long outline2 = PDF.AddOutlineBefore(outline3, "Outline 2", ch); long outline4 = PDF.AddOutlineAfter(outline3, "Outline 4", ch); if ("Outline 4" == PDF.GetOutlineUnicodeTitle(outline4)) PDF.DeleteOutline(outline4, false); // adding child nodes long outline = outline1; long n = PDF.GetOutlineCount(); for (long i = 0; i < 3*n; i++) { PDF.AddOutlineChild(outline, "Child " & i, ch); PDF.AddOutlineChild(outline, "Child " & i+1, ch); PDF.AddOutlineChild(outline, "Child " & i+2, ch); outline = PDF.GetNextSiblingOutline(outline); i = i + 2; } // assigning actions long action = PDF.CreateJavascriptAction("app.alert('Hello.')"); outline = outline1; n = PDF.GetOutlineCount(); for (long i = 0; i < n; i++) { PDF.SetOutlineAction(outline, action); outline = PDF.GetNextOutline(outline); } // changing node's text n = PDF.GetOutlineChildCount(outline3); for (long i = 0; i < n; i++) { outline = PDF.GetOutlineChild(outline3, i); if (outline == PDF.GetOutlineFirstChild(outline3)) PDF.SetOutlineTitle(outline, "Node's first child.", ch); else { if (outline == PDF.GetOutlineLastChild(outline3)) PDF.SetOutlineTitle(outline, "Node's last child.", ch); else PDF.SetOutlineTitle(outline, "Node's child.", ch); } } if (PDF.IsOutlineExpanded(outline3)) PDF.SetOutlineExpanded(outline3, false); PDF.SaveToFile("test.pdf", true);
' PDF object is supposed to be created PDF.ViewerMode = 1 'ModeType.mtUseOutlines ch = 1 'FontCharset.fcDefault ' adding outlines outline1 = PDF.AddOutlineChild(PDF.GetRootOutline, "Outline 1", ch) outline3 = PDF.AddOutlineAfter(outline1, "Outline 3", ch) outline2 = PDF.AddOutlineBefore(outline3, "Outline 2", ch) outline4 = PDF.AddOutlineAfter(outline3, "Outline 4", ch) if "Outline 4" = PDF.GetOutlineUnicodeTitle(outline4) then PDF.DeleteOutline outline4, false end if ' adding child nodes outline = outline1 n = PDF.GetOutlineCount for i = 1 to 3*n PDF.AddOutlineChild outline, "Child " & i, ch PDF.AddOutlineChild outline, "Child " & i+1, ch PDF.AddOutlineChild outline, "Child " & i+2, ch outline = PDF.GetNextSiblingOutline(outline) i = i + 2 next ' assigning actions action = PDF.CreateJavascriptAction("app.alert('Hello.')") outline = outline1 n = PDF.GetOutlineCount for i = 1 to n PDF.SetOutlineAction outline, action outline = PDF.GetNextOutline(outline) next ' changing node's text n = PDF.GetOutlineChildCount(outline3) for i = 0 to n-1 outline = PDF.GetOutlineChild(outline3, i) if outline = PDF.GetOutlineFirstChild(outline3) Then PDF.SetOutlineTitle outline, "Node's first child.", ch else if outline = PDF.GetOutlineLastChild(outline3) Then PDF.SetOutlineTitle outline, "Node's last child.", ch else PDF.SetOutlineTitle outline, "Node's child.", ch end if end if next if PDF.IsOutlineExpanded(outline3) Then PDF.SetOutlineExpanded outline3, false end if PDF.SaveToFile "test.pdf", true