DocumentBuilder

DocumentBuilder class

Metin, resim ve diğer içerik ekleme, yazı tipi, paragraf ve bölüm formatını belirtme yöntemleri sağlar.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Belge Oluşturucuya Genel Bakış dokümantasyon makalesi.

public class DocumentBuilder

yapıcılar

İsimTanım
DocumentBuilder()Bu sınıfın yeni bir örneğini başlatır.
DocumentBuilder(Document)Bu sınıfın yeni bir örneğini başlatır.

Özellikleri

İsimTanım
Bold { get; set; }Yazı tipi kalın olarak biçimlendirilmişse doğrudur.
CellFormat { get; }Geçerli tablo hücresi biçimlendirme özelliklerini temsil eden bir nesneyi döndürür.
CurrentNode { get; }Bu DocumentBuilder’da seçili olan düğümü alır.
CurrentParagraph { get; }Bu bölümde o anda seçili olan paragrafı döndürürDocumentBuilder .
CurrentSection { get; }Bu bölümde o anda seçili olan bölümü döndürürDocumentBuilder .
CurrentStory { get; }Bu bölümde o anda seçili olan hikayeyi getirirDocumentBuilder .
CurrentStructuredDocumentTag { get; }Şu anda seçili olan yapılandırılmış belge etiketini alır.DocumentBuilder .
Document { get; set; }Alır veya ayarlarDocumentbu nesnenin eklendiği nesne.
Font { get; }Geçerli yazı tipi biçimlendirme özelliklerini temsil eden bir nesneyi döndürür.
IsAtEndOfParagraph { get; }İadelerdoğru İmleç geçerli paragrafın sonundaysa.
IsAtEndOfStructuredDocumentTag { get; }İadelerdoğru imleç yapılandırılmış bir belge etiketinin sonundaysa.
IsAtStartOfParagraph { get; }İadelerdoğru imleç geçerli paragrafın başındaysa (imleçten önce metin yok).
Italic { get; set; }Yazı tipi italik olarak biçimlendirilmişse doğrudur.
ListFormat { get; }Geçerli liste biçimlendirme özelliklerini temsil eden bir nesneyi döndürür.
PageSetup { get; }Geçerli sayfa düzenini ve bölüm özelliklerini temsil eden bir nesneyi döndürür.
ParagraphFormat { get; }Geçerli paragraf biçimlendirme özelliklerini temsil eden bir nesneyi döndürür.
RowFormat { get; }Geçerli tablo satırı biçimlendirme özelliklerini temsil eden bir nesneyi döndürür.
Underline { get; set; }Geçerli yazı tipinin alt çizgi türünü alır/ayarlar.

yöntemler

İsimTanım
DeleteRow(int, int)Tablodan bir satırı siler.
EndBookmark(string)Belgedeki geçerli konumu yer imi sonu olarak işaretler.
EndColumnBookmark(string)Belgedeki geçerli konumu sütun yer işareti sonu olarak işaretler. Konum bir tablo hücresinde olmalıdır.
EndEditableRange()Belgedeki geçerli konumu düzenlenebilir aralık sonu olarak işaretler.
EndEditableRange(EditableRangeStart)Belgedeki geçerli konumu düzenlenebilir aralık sonu olarak işaretler.
EndRow()Belgedeki bir tablo satırını sonlandırır.
EndTable()Belgedeki bir tabloyu sonlandırır.
InsertBreak(BreakType)Belirtilen türde bir sonu belgeye ekler.
InsertCell()Belgeye bir tablo hücresi ekler.
InsertChart(ChartType, double, double)Belgeye bir grafik nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belgeye bir grafik nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertCheckBox(string, bool, int)Geçerli konuma bir onay kutusu form alanı ekler.
InsertCheckBox(string, bool, bool, int)Geçerli konuma bir onay kutusu form alanı ekler.
InsertComboBox(string, string[], int)Geçerli konuma bir birleşik giriş kutusu form alanı ekler.
InsertDocument(DocumentImportFormatMode)İmleç konumuna bir belge ekler.
InsertDocument(DocumentImportFormatModeImportFormatOptions)İmleç konumuna bir belge ekler.
InsertField(string)Belgeye bir Word alanı ekler ve alan sonucunu günceller.
InsertField(FieldType, bool)Belgeye bir Word alanı ekler ve isteğe bağlı olarak alan sonucunu günceller.
InsertField(string, string)Alan sonucunu güncellemeden belgeye bir Word alanı ekler.
InsertFootnote(FootnoteType, string)Belgeye dipnot veya son not ekler.
InsertFootnote(FootnoteType, string, string)Belgeye dipnot veya son not ekler.
InsertHorizontalRule()Belgeye yatay bir kural şekli ekler.
InsertHtml(string)Belgeye bir HTML dizesi ekler.
InsertHtml(string, bool)Belgeye bir HTML dizesi ekler.
InsertHtml(string, HtmlInsertOptions)Belgeye bir HTML dizesi ekler. Ek seçeneklerin belirtilmesine izin verir.
InsertHyperlink(string, string, bool)Belgeye bir köprü ekler.
InsertImage(byte[])Bayt dizisinden belgeye bir görüntü ekler. Resim satır içi ve %100 ölçekte eklenir.
InsertImage(Image).NET’ten bir görüntü eklerImage nesnesini belgeye ekleyin. Resim satır içi ve %100 ölçekte eklenir.
InsertImage(Stream)Bir akıştan belgeye bir görüntü ekler. Resim satır içi ve %100 ölçekte eklenir.
InsertImage(string)Bir dosyadan veya URL’den belgeye bir resim ekler. Resim satır içi ve %100 ölçekte eklenir.
InsertImage(byte[], double, double)Bayt dizisinden satır içi bir görüntüyü belgeye ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertImage(Image, double, double).NET’ten satır içi görüntü eklerImage nesnesini belgeye ekler ve onu belirtilen boyuta ölçeklendirir.
InsertImage(Stream, double, double)Bir akıştan belgeye satır içi bir görüntü ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertImage(string, double, double)Bir dosyadan veya URL’den belgeye satır içi bir resim ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belirtilen konum ve boyutta bir bayt dizisinden bir görüntü ekler.
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType).NET’ten bir görüntü eklerImage belirtilen konum ve boyuttaki nesne.
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belirtilen konum ve boyutta bir akıştan bir görüntü ekler.
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Bir dosyadan veya URL’den belirtilen konuma ve boyuta bir resim ekler.
InsertNode(Node)İmlecin önüne bir düğüm ekler.
InsertOleObject(Stream, string, bool, Stream)Bir akıştan katıştırılmış bir OLE nesnesini belgeye ekler.
InsertOleObject(string, bool, bool, Stream)Katıştırılmış veya bağlantılı bir OLE nesnesini bir dosyadan belgeye ekler. Dosya uzantısını kullanarak OLE nesne türünü algılar.
InsertOleObject(string, string, bool, bool, Stream)Katıştırılmış veya bağlantılı bir OLE nesnesini bir dosyadan belgeye ekler. Verilen progID parametresini kullanarak OLE nesne türünü algılar.
InsertOleObjectAsIcon(Stream, string, string, string)Bir akıştan belgeye simge olarak gömülü bir OLE nesnesi ekler. Simge dosyasını ve resim yazısını belirtmeye izin verir. Verilen progID parametresini kullanarak OLE nesne türünü algılar.
InsertOleObjectAsIcon(string, bool, string, string)Gömülü veya bağlantılı bir OLE nesnesini simge olarak belgeye ekler. Simge dosyasını ve resim yazısını belirtmeye izin verir. Dosya uzantısını kullanarak OLE nesne türünü algılar.
InsertOleObjectAsIcon(string, string, bool, string, string)Gömülü veya bağlantılı bir OLE nesnesini simge olarak belgeye ekler. Simge dosyasını ve resim yazısını belirtmeye izin verir. Verilen progID parametresini kullanarak OLE nesne türünü algılar.
InsertOnlineVideo(string, double, double)Belgeye bir çevrimiçi video nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertOnlineVideo(string, string, byte[], double, double)Belgeye bir çevrimiçi video nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belgeye bir çevrimiçi video nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belgeye bir çevrimiçi video nesnesi ekler ve bunu belirtilen boyuta ölçeklendirir.
InsertParagraph()Belgeye paragraf sonu ekler.
InsertShape(ShapeType, double, double)Belirtilen tür ve boyutta satır içi şekil ekler.
InsertShape(ShapeTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Belirtilen konuma, boyuta ve metin sarma türüne sahip serbest kayan şekil ekler.
InsertSignatureLine(SignatureLineOptions)Geçerli konuma bir imza satırı ekler.
InsertSignatureLine(SignatureLineOptionsRelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType)Belirtilen konuma bir imza satırı ekler.
InsertStyleSeparator()Belgeye stil ayırıcıyı ekler.
InsertTableOfContents(string)Belgeye bir TOC (içindekiler tablosu) alanı ekler.
InsertTextInput(string, TextFormFieldType, string, string, int)Geçerli konuma bir metin formu alanı ekler.
MoveTo(Node)İmleci satır içi düğüme veya paragrafın sonuna taşır.
MoveToBookmark(string)İmleci bir yer imine taşır.
MoveToBookmark(string, bool, bool)İmleci daha büyük bir hassasiyetle yer imine taşır.
MoveToCell(int, int, int, int)İmleci geçerli bölümdeki bir tablo hücresine taşır.
MoveToDocumentEnd()İmleci belgenin sonuna taşır.
MoveToDocumentStart()İmleci belgenin başına taşır.
MoveToField(Field, bool)İmleci belgedeki bir alana taşır.
MoveToHeaderFooter(HeaderFooterType)İmleci geçerli bölümdeki üstbilgi veya altbilginin başlangıcına taşır.
MoveToMergeField(string)İmleci belirtilen birleştirme alanının hemen ötesindeki bir konuma taşır ve birleştirme alanını kaldırır.
MoveToMergeField(string, bool, bool)Birleştirme alanını belirtilen birleştirme alanına taşır.
MoveToParagraph(int, int)İmleci geçerli bölümdeki bir paragrafa taşır.
MoveToSection(int)İmleci belirtilen bölümdeki gövdenin başlangıcına taşır.
MoveToStructuredDocumentTag(int, int)İmleci geçerli bölümdeki yapılandırılmış belge etiketine taşır.
MoveToStructuredDocumentTag(StructuredDocumentTag, int)İmleci yapılandırılmış belge etiketine taşır.
PopFont()Daha önce yığına kaydedilen karakter formatını alır.
PushFont()Geçerli karakter formatını yığına kaydeder.
StartBookmark(string)Belgedeki geçerli konumu yer imi başlangıcı olarak işaretler.
StartColumnBookmark(string)Belgedeki geçerli konumu sütun yer işareti başlangıcı olarak işaretler. Konum bir tablo hücresinde olmalıdır.
StartEditableRange()Düzenlenebilir aralık başlangıcı olarak belgedeki geçerli konumu işaretler.
StartTable()Belgede bir tablo başlatır.
Write(string)Belgeye geçerli ekleme konumunda bir dize ekler.
Writeln()Belgeye paragraf sonu ekler.
Writeln(string)Belgeye bir dize ve paragraf sonu ekler.

Notlar

DocumentBuilder bir inşa etme sürecini gerçekleştirirDocument daha kolay. Document bir düğüm ağacından oluşan bileşik bir nesnedir ve content düğümlerini doğrudan ağaca eklemek mümkün olsa da, ağaç yapısının iyi anlaşılmasını gerektirir. DocumentBuilder karmaşık yapısının bir “cephesi”dir.Document ve Allow ’nin içerik ve biçimlendirmeyi hızlı ve kolay bir şekilde eklemesine izin verir.

OluşturmakDocumentBuilder ve bunu bir şeyle ilişkilendirinDocument.

DocumentBuilder aradığınızda metnin ekleneceği dahili bir imleç var Write ,Writeln ,InsertBreak ve diğer yöntemler. GezinebilirsinizDocumentBuilder Çeşitli MoveToXXX yöntemlerini kullanarak imleci belgede farklı bir konuma getirin.

KullanFontbelgedeki geçerli konumdan itibaren eklenen tüm metinlere uygulanacak karakter biçimlendirmesini belirtme özelliği.

KullanParagraphFormat current ve eklenecek tüm paragraflar için paragraf biçimlendirmesini belirtme özelliği.

KullanPageSetup current bölümü ve eklenecek tüm bölümler için sayfa ve bölüm özelliklerini belirtme özelliği.

KullanCellFormat VeRowFormat tablo hücreleri ve satırlar için biçimlendirme özelliklerini belirtmek için özellikler. KullanıcıInsertCell ve EndRow tablo oluşturma yöntemleri.

DikkatFont ,ParagraphFormat VePageSetup yeni konumda mevcut olan biçimlendirme özelliklerini yansıtmak için belgede farklı bir yere gittiğinizde özellikler güncellenir.

Örnekler

Tablo oluşturmak için belge oluşturucunun nasıl kullanılacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Tabloyu başlatın, ardından ilk satırı iki hücreyle doldurun.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");

// Yeni bir satır başlatmak için oluşturucunun "EndRow" yöntemini çağırın.
builder.EndRow();
builder.InsertCell();
builder.Write("Row 2, Cell 1.");
builder.InsertCell();
builder.Write("Row 2, Cell 2.");
builder.EndTable();

doc.Save(ArtifactsDir + "DocumentBuilder.CreateTable.docx");

DocumentBuilder’ı kullanarak bir belgede üstbilgilerin ve altbilgilerin nasıl oluşturulacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// İlk, çift ve tek sayfalar için farklı üstbilgi ve altbilgi istediğimizi belirtin.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;

// Başlıkları oluşturun, ardından her başlık türünü görüntülemek için belgeye üç sayfa ekleyin.
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.Write("Header for the first page");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven);
builder.Write("Header for even pages");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Write("Header for all other pages");

builder.MoveToSection(0);
builder.Writeln("Page1");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page2");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page3");

doc.Save(ArtifactsDir + "DocumentBuilder.HeadersAndFooters.docx");

Özel kenarlıklara sahip bir tablonun nasıl oluşturulacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.StartTable();

// Belge oluşturucu için tablo biçimlendirme seçeneklerini ayarlama
// bunları eklediğimiz her satıra ve hücreye uygulayacaktır.
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;

builder.CellFormat.ClearFormatting();
builder.CellFormat.Width = 150;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.CellFormat.Shading.BackgroundPatternColor = Color.GreenYellow;
builder.CellFormat.WrapText = false;
builder.CellFormat.FitText = true;

builder.RowFormat.ClearFormatting();
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.RowFormat.Height = 50;
builder.RowFormat.Borders.LineStyle = LineStyle.Engrave3D;
builder.RowFormat.Borders.Color = Color.Orange;

builder.InsertCell();
builder.Write("Row 1, Col 1");

builder.InsertCell();
builder.Write("Row 1, Col 2");
builder.EndRow();

// Biçimlendirmeyi değiştirmek onu geçerli hücreye uygulayacaktır,
// ve daha sonra oluşturucuyla oluşturduğumuz yeni hücreler.
// Bu daha önce eklediğimiz hücreleri etkilemeyecektir.
builder.CellFormat.Shading.ClearFormatting();

builder.InsertCell();
builder.Write("Row 2, Col 1");

builder.InsertCell();
builder.Write("Row 2, Col 2");

builder.EndRow();

// Dikey metne sığacak şekilde satır yüksekliğini artırın.
builder.InsertCell();
builder.RowFormat.Height = 150;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 3, Col 1");

builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 3, Col 2");

builder.EndRow();
builder.EndTable();

doc.Save(ArtifactsDir + "DocumentBuilder.InsertTable.docx");

Ayrıca bakınız