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:
- Începeți tabelul folosind
DocumentBuilder.StartTable
. - Introduceți o celulă folosind
DocumentBuilder.InsertCell
. Aceasta pornește automat un nou rând. Dacă este necesar, utilizați proprietateaDocumentBuilder.CellFormat
pentru a specifica formatarea celulei. - Introduceți conținutul celulei folosind metodele
DocumentBuilder
. - Repetați pașii 2 și 3 până când rândul este complet.
- Apelați
DocumentBuilder.EndRow
pentru a încheia rândul curent. Dacă este necesar, utilizați proprietateaDocumentBuilder.RowFormat
pentru a specifica formatarea rândurilor. - Repetați pașii 2 - 5 până când tabelul este complet.
- 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 șirDocumentBuilder->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 metodeleDocumentBuilder->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, metodaDocumentBuilder->InsertImage
returnează un obiectShape
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:
- Apelați
DocumentBuilder->StartBookmark
trecându-i numele dorit al marcajului. - Introduceți textul marcajului folosind metodele DocumentBuilder.
- Apelați
DocumentBuilder.EndBookmark
trecându-i același nume pe care l-ați folosit cu DocumentBuilder->StartBookmark. - 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 șiDocumentBuilder->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.
Introducerea unui Hyperlink
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
.