Utilizați `DocumentBuilder` pentru a insera elemente de Document

DocumentBuilder este folosit pentru a modifica documente. Acest articol explică și descrie cum să efectuați o serie de sarcini:

Inserarea unui șir de Text

Pur și simplu treceți șirul de text pe care trebuie să îl introduceți în document la metoda DocumentBuilder.Write. Formatarea textului este determinată de proprietatea Font. Acest obiect conține atribute de font diferite (numele fontului, dimensiunea fontului, culoarea și așa mai departe). Unele atribute importante ale fontului sunt, de asemenea, reprezentate de DocumentBuilder Proprietăți pentru a vă permite să le accesați direct. Acestea sunt proprietăți booleene Font.Bold, Font.Italic și Font.Underline.

Rețineți că formatarea caracterelor pe care ați setat-o se va aplica întregului text inserat începând cu poziția curentă din document.

Exemplul de mai jos introduce text formatat folosind DocumentBuilder.

Introducerea unui paragraf

DocumentBuilder.Writeln inserează și un șir de text în document, dar în plus, adaugă o pauză de paragraf. Formatarea fontului curent este, de asemenea, specificată de proprietatea DocumentBuilder.Font, iar formatarea paragrafului curent este determinată de proprietatea DocumentBuilder.ParagraphFormat. Exemplul de mai jos arată cum să inserați un paragraf în document.

Introducerea unui tabel

Algoritmul de bază pentru crearea unui tabel folosind DocumentBuilder este simplu:

  1. Începeți tabelul folosind DocumentBuilder.StartTable.
  2. Introduceți o celulă folosind DocumentBuilder.InsertCell. Aceasta pornește automat un nou rând. Dacă este necesar, utilizați proprietatea DocumentBuilder.CellFormat pentru a specifica formatarea celulei.
  3. Introduceți conținutul celulei folosind metodele DocumentBuilder.
  4. Repetați pașii 2 și 3 până când rândul este complet.
  5. Apelați DocumentBuilder.EndRow pentru a încheia rândul curent. Dacă este necesar, utilizați proprietatea DocumentBuilder.RowFormat pentru a specifica formatarea rândurilor.
  6. Repetați pașii 2 - 5 până când tabelul este complet.
  7. Sunați la DocumentBuilder.EndTable pentru a termina construirea mesei. Metodele corespunzătoare de creare a tabelelor DocumentBuilder sunt descrise mai jos.

Începerea unei mese

Apelarea DocumentBuilder.StartTable este primul pas în construirea unei mese. Poate fi numit și în interiorul unei celule, caz în care începe o masă imbricată. Următoarea metodă de apelare este DocumentBuilder.InsertCell.

Introducerea unei celule

După ce apelați DocumentBuilder->InsertCell, se creează o celulă nouă și orice conținut pe care îl adăugați folosind alte metode din clasa DocumentBuilder va fi adăugat la celula curentă. Pentru a porni o celulă nouă în același rând, apelați din nou DocumentBuilder->InsertCell. Utilizați proprietatea DocumentBuilder.CellFormat pentru a specifica formatarea celulei. Returnează un obiect CellFormat care reprezintă toate formatările pentru o celulă de tabel.

Încheierea unui rând

Apelați DocumentBuilder.EndRow pentru a termina rândul curent. Dacă apelați DocumentBuilder->InsertCell imediat după aceea, atunci tabelul continuă pe un rând nou.

Utilizați proprietatea DocumentBuilder.RowFormat pentru a specifica formatarea rândurilor. Returnează un obiect RowFormat care reprezintă toate formatările pentru un rând de tabel.

Încheierea unei mese

Apelați DocumentBuilder.EndTable pentru a termina tabelul curent. Această metodă ar trebui apelată o singură dată după ce DocumentBuilder->EndRow a fost apelat. Când este apelat, DocumentBuilder.EndTable mută cursorul din celula curentă într-o poziție imediat după tabel. Următorul exemplu demonstrează cum se construiește un tabel formatat care conține 2 rânduri și 2 coloane.

Introducerea unei pauze

Dacă doriți să începeți în mod explicit o nouă linie, paragraf, coloană, secțiune sau pagină, apelați DocumentBuilder.InsertBreak. Treceți la această metodă tipul pauzei pe care trebuie să o inserați, care este reprezentat de enumerarea BreakType. Exemplul de mai jos arată cum să inserați pauze de pagină într-un document.

Inserarea unei imagini

DocumentBuilder oferă mai multe supraîncărcări ale metodei DocumentBuilder->InsertImage care vă permite să inserați o imagine inline sau plutitoare. Dacă imaginea este un metafișier EMF sau WMF, aceasta va fi inserată în document în format metafișier. Toate celelalte imagini vor fi stocate în format PNG. Metoda DocumentBuilder->InsertImage poate utiliza imagini din diferite surse:

  • Dintr-un fișier sau URL prin trecerea unui parametru șir DocumentBuilder->InsertImage.
  • Dintr-un flux trecând un parametru Stream DocumentBuilder->InsertImage.
  • De la un obiect de imagine prin trecerea unui parametru de imagine DocumentBuilder->InsertImage.
  • Dintr-o matrice de octeți prin trecerea unui parametru de matrice de octeți DocumentBuilder.InsertImage.Pentru fiecare dintre metodele DocumentBuilder->InsertImage, există supraîncărcări suplimentare care vă permit să inserați o imagine cu următoarele opțiuni:
  • În linie sau plutind într-o anumită poziție, de exemplu, DocumentBuilder->InsertImage.
  • Scala procentuală sau dimensiunea personalizată, de exemplu, DocumentBuilder.InsertImage. În plus, metoda DocumentBuilder->InsertImage returnează un obiect Shape care tocmai a fost creat și inserat, astfel încât să puteți modifica în continuare proprietățile formei.

Inserarea unei imagini Inline

Treceți un singur șir reprezentând un fișier care conține imaginea la DocumentBuilder->InsertImage pentru a insera imaginea în document ca grafică în linie. Exemplul de mai jos arată cum să inserați o imagine în linie în poziția cursorului într-un document.

Introducerea unei imagini Plutitoare (poziționate absolut)

Acest exemplu inserează o imagine plutitoare dintr-un fișier sau URL la o poziție și dimensiune specificate.

Introducerea unui marcaj

Pentru a insera un marcaj în document, trebuie să faceți următoarele:

  1. Apelați DocumentBuilder->StartBookmark trecându-i numele dorit al marcajului.
  2. Introduceți textul marcajului folosind metodele DocumentBuilder.
  3. Apelați DocumentBuilder.EndBookmark trecându-i același nume pe care l-ați folosit cu DocumentBuilder->StartBookmark.
  4. Marcajele se pot suprapune și se pot întinde pe orice interval. Pentru a crea un marcaj valid, trebuie să apelați atât DocumentBuilder->StartBookmark, cât și DocumentBuilder->EndBookmark cu același nume de marcaj.

Exemplul de mai jos arată cum să inserați un marcaj într-un document utilizând un constructor de documente.

Introducerea unui câmp Form

Câmpurile de formular sunt un caz particular de câmpuri de cuvinte care permite “interacțiunea” cu utilizatorul. Câmpurile de formular din Microsoft Word includ textbox, combo box și checkbox.DocumentBuilder oferă metode speciale pentru a insera fiecare tip de câmp de formular în document: DocumentBuilder.InsertTextInput, DocumentBuilder->InsertCheckBox și DocumentBuilder.InsertComboBox. Rețineți că, dacă specificați un nume pentru câmpul Formular, atunci un marcaj este creat automat cu același nume.

Introducerea unei intrări de Text

DocumentBuilder.InsertTextInput pentru a insera o casetă de text în document. Exemplul de mai jos arată cum să inserați un câmp de formular de introducere a textului într-un document.

Introducerea unei casete de selectare

Apelați DocumentBuilder.InsertCheckBox pentru a insera un checkbox în document. Exemplul de mai jos arată cum să inserați un câmp de formular checkbox într-un document.

Introducerea unei casete combinate

Apelați DocumentBuilder.InsertComboBox pentru a insera o casetă combinată în document. Exemplul de mai jos arată cum să inserați un câmp de formular combo box într-un document.

Introducerea Locale la nivel de câmp

Clienții pot specifica acum Locale la nivel de câmp și pot obține un control mai bun. ID-urile Locale pot fi asociate cu fiecare câmp din interiorul DocumentBuilder. Exemplele de mai jos ilustrează modul de utilizare a acestei opțiuni.

Utilizați DocumentBuilder.InsertHyperlink pentru a insera un hyperlink în document. Această metodă acceptă trei parametri: textul linkului care urmează să fie afișat în document, destinația linkului (URL sau un nume al unui marcaj din document) și un parametru boolean care ar trebui să fie adevărat dacă URL este un nume al unui marcaj din document.DocumentBuilder.InsertHyperlink apeluri interne DocumentBuilder.InsertField.Metoda adaugă întotdeauna apostrofe la începutul și la sfârșitul URL. Rețineți că trebuie să specificați formatarea fontului pentru textul afișat hyperlink folosind în mod explicit proprietatea Font. Exemplul de mai jos introduce un hyperlink într-un document folosind DocumentBuilder.

Introducerea Obiectului Ole

Dacă doriți apel obiect OLE DocumentBuilder.InsertOleObject. Treceți la această metodă ProgId în mod explicit cu alți parametri. Exemplul de mai jos arată cum să inserați un obiect Ole într-un document.

Setați numele fișierului și extensia la introducerea obiectului Ole

OLE pachetul este o modalitate moștenită și “nedocumentată” de a stoca obiectul încorporat dacă OLE handler este necunoscut. Versiunile timpurii Windows, cum ar fi Windows 3.1, 95 și 98 aveau Packager.exe aplicație care putea fi utilizată pentru a încorpora orice tip de date în document. Acum, această aplicație este exclusă din Windows, dar MS Word și alte aplicații încă o folosesc pentru a încorpora date dacă OLE handler lipsește sau necunoscut. OlePackage clasa permite accesarea OLE Package Proprietăți. Exemplul de mai jos arată cum să setați numele fișierului, extensia și numele afișat pentru OLE Package.

Inserarea HTML

Puteți introduce cu ușurință un șir HTML care conține un fragment HTML sau un document întreg HTML în documentul Word. Doar treceți acest șir la metoda DocumentBuilder->InsertHtml. Una dintre implementările utile ale metodei este stocarea unui șir HTML într-o bază de date și inserarea acestuia în document în timpul mail merge pentru a adăuga conținutul formatat în loc să-l construiască folosind diferite metode ale constructorului de documente. Exemplul de mai jos prezintă inserturi HTML într-un document folosind DocumentBuilder.

Introduceți regula orizontală în Document

Exemplul Below code arată cum să inserați forma regulii orizontale într-un document folosind metoda DocumentBuilder->InsertHorizontalRule.