Erstellen Sie eine Kopf- und Fußzeile
Hier finden Sie eine Schritt-für-Schritt-Anleitung zur Erläuterung des folgenden C#-Quellcodes zum Erstellen von Kopf- und Fußzeilen mithilfe der Funktionalität von Aspose.Words für .NET. Stellen Sie sicher, dass Sie die Aspose.Words-Bibliothek in Ihr Projekt eingebunden haben, bevor Sie diesen Code verwenden.
Schritt 1: Legen Sie den Pfad zum Dokumentverzeichnis fest
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";
Stellen Sie sicher, dass Sie den korrekten Pfad zu Ihrem Dokumentenverzeichnis angeben, in dem das bearbeitete Dokument gespeichert wird.
Schritt 2: Erstellen Sie ein Dokument und einen Dokumentengenerator
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Hier erstellen wir eine Instanz vonDocument
Klasse und eine Instanz davonDocumentBuilder
Klasse, die es uns ermöglicht, das Dokument zu bearbeiten und Elemente hinzuzufügen.
Schritt 3: Seitenparameter und erste Kopfzeile festlegen
Section currentSection = builder.CurrentSection;
PageSetup pageSetup = currentSection.PageSetup;
// Geben Sie an, ob sich die Kopf-/Fußzeilen der ersten Seite von den anderen Seiten unterscheiden sollen.
// Sie können zur Angabe auch die Eigenschaft PageSetup.OddAndEvenPagesHeaderFooter verwenden
// unterschiedliche Kopf-/Fußzeilen für ungerade und gerade Seiten.
pageSetup.DifferentFirstPageHeaderFooter = true;
pageSetup.HeaderDistance = 20;
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Font.Name = "Arial";
builder.Font.Bold = true;
builder.Font.Size = 14;
builder.Write("Aspose.Words - Creating Headers/Footers - Title Page.");
pageSetup.HeaderDistance = 20;
builder. MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
Wir legen die Seitenparameter fest, einschließlich des Header-Abstands, und gehen dann zum Hauptheader (HeaderPrimary
). Wir verwenden den Dokumentgenerator, um Text hinzuzufügen und die Kopfzeile zu formatieren.
Schritt 4: Fügen Sie ein Bild und einen Text in die Hauptkopfzeile ein
builder.InsertImage(ImagesDir + "Graphics Interchange Format.gif", RelativeHorizontalPosition.Page, 10,
RelativeVerticalPosition.Page, 10, 50, 50, WrapType.Through);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.Write("Aspose.Words - Building headers/footers.");
builder. MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
Wir verwenden den Dokumentgenerator, um ein Bild in der oberen linken Ecke der Hauptkopfzeile einzufügen, und fügen dann rechtsbündigen Text hinzu.
Schritt 5: Fügen Sie eine Tabelle in die Hauptfußzeile ein
builder.StartTable();
builder.CellFormat.ClearFormatting();
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 / 3);
builder.Write("Page ");
builder.InsertField("PAGE", "");
builder.Write(" of ");
builder.InsertField("NUMPAGES", "");
builder.CurrentParagraph.ParagraphFormat.Alignment = ParagraphAlignment.Left;
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 * 2 / 3);
builder.Write("(C) 2001 Aspose Pty Ltd. All rights reserved.");
builder.CurrentParagraph.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.EndRow();
builder.EndTable();
builder.MoveToDocumentEnd();
Schritt 6: Fügen Sie eine neue Seite hinzu und legen Sie Kopf-/Fußzeilen fest
builder. InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.SectionBreakNewPage);
currentSection = builder. CurrentSection;
pageSetup = currentSection.PageSetup;
pageSetup.Orientation = Orientation.Landscape;
// Dieser Abschnitt benötigt keine andere Kopf-/Fußzeile für die erste Seite, wir benötigen nur eine Titelseite im Dokument.
//und die Kopf-/Fußzeile für diese Seite wurde bereits im vorherigen Abschnitt definiert.
pageSetup.DifferentFirstPageHeaderFooter = false;
// In diesem Abschnitt werden standardmäßig die Kopf-/Fußzeilen des vorherigen Abschnitts angezeigt. Rufen Sie currentSection.HeadersFooters.LinkToPrevious(false) auf, um diesen Link zu unterbrechen.
// Die Seitenbreite ist für den neuen Abschnitt unterschiedlich, daher müssen wir für eine Fußzeilentabelle andere Zellenbreiten festlegen.
currentSection.HeadersFooters.LinkToPrevious(false);
// Wenn wir für diesen Abschnitt die bereits vorhandenen Kopf-/Fußzeilen verwenden möchten,
//aber mit ein paar kleinen Änderungen könnte es sinnvoll sein, die Kopf-/Fußzeilen zu kopieren
// aus dem vorherigen Abschnitt und wenden Sie die erforderlichen Änderungen an der gewünschten Stelle an.
CopyHeadersFootersFromPreviousSection(currentSection);
HeaderFooter primaryFooter = currentSection.HeadersFooters[HeaderFooterType.FooterPrimary];
Row row = primaryFooter.Tables[0].FirstRow;
row.FirstCell.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 / 3);
row.LastCell.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 * 2 / 3);
// Speichern Sie das Dokument
doc.Save(dataDir + "WorkingWithHeadersAndFooters.CreateHeaderFooter.docx");
Wir fügen einen Seitenumbruch und einen Abschnittsumbruch hinzu, um eine neue Seite zu erstellen, auf der die primären Kopf-/Fußzeilen sichtbar sind. Wir legen die Parameter für den neuen Abschnitt fest und verwenden dann dieCopyHeadersFootersFromPreviousSection
Methode zum Kopieren der Kopf-/Fußzeilen aus dem vorherigen Abschnitt. Abschließend stellen wir die entsprechenden Zellenbreiten für die Hauptfußtabelle ein und speichern das Dokument.
Beispielquellcode zum Erstellen von Kopf- und Fußzeilen mit Aspose.Words für .NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Section currentSection = builder.CurrentSection;
PageSetup pageSetup = currentSection.PageSetup;
// Geben Sie an, ob sich die Kopf-/Fußzeilen der ersten Seite von denen anderer Seiten unterscheiden sollen.
// Sie können zur Angabe auch die Eigenschaft PageSetup.OddAndEvenPagesHeaderFooter verwenden
// unterschiedliche Kopf-/Fußzeilen für ungerade und gerade Seiten.
pageSetup.DifferentFirstPageHeaderFooter = true;
pageSetup.HeaderDistance = 20;
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Font.Name = "Arial";
builder.Font.Bold = true;
builder.Font.Size = 14;
builder.Write("Aspose.Words Header/Footer Creation Primer - Title Page.");
pageSetup.HeaderDistance = 20;
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
// Fügen Sie ein positioniertes Bild in die obere/linke Ecke der Kopfzeile ein.
// Der Abstand vom oberen/linken Rand der Seite ist auf 10 Punkte eingestellt.
builder.InsertImage(ImagesDir + "Graphics Interchange Format.gif", RelativeHorizontalPosition.Page, 10,
RelativeVerticalPosition.Page, 10, 50, 50, WrapType.Through);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.Write("Aspose.Words Header/Footer Creation Primer.");
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
// Wir verwenden eine Tabelle mit zwei Zellen, um einen Teil des Textes in die Zeile einzufügen (mit Seitennummerierung).
// Linksbündig und der andere Teil des Textes (mit Copyright) rechtsbündig.
builder.StartTable();
builder.CellFormat.ClearFormatting();
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 / 3);
// Es verwendet die Felder PAGE und NUMPAGES, um die aktuelle Seitenzahl und viele Seiten automatisch zu berechnen.
builder.Write("Page ");
builder.InsertField("PAGE", "");
builder.Write(" of ");
builder.InsertField("NUMPAGES", "");
builder.CurrentParagraph.ParagraphFormat.Alignment = ParagraphAlignment.Left;
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 * 2 / 3);
builder.Write("(C) 2001 Aspose Pty Ltd. All rights reserved.");
builder.CurrentParagraph.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.EndRow();
builder.EndTable();
builder.MoveToDocumentEnd();
// Machen Sie einen Seitenumbruch, um eine zweite Seite zu erstellen, auf der die primären Kopf-/Fußzeilen angezeigt werden.
builder.InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.SectionBreakNewPage);
currentSection = builder.CurrentSection;
pageSetup = currentSection.PageSetup;
pageSetup.Orientation = Orientation.Landscape;
// Dieser Abschnitt benötigt keine andere Kopf-/Fußzeile auf der ersten Seite. Wir benötigen nur eine Titelseite im Dokument.
//und die Kopf-/Fußzeile für diese Seite wurde bereits im vorherigen Abschnitt definiert.
pageSetup.DifferentFirstPageHeaderFooter = false;
// In diesem Abschnitt werden Kopf-/Fußzeilen aus dem vorherigen Abschnitt angezeigt
// Rufen Sie standardmäßig currentSection.HeadersFooters.LinkToPrevious(false) auf, um diese Seitenbreite abzubrechen
// ist für den neuen Abschnitt anders, und deshalb müssen wir für eine Fußzeilentabelle andere Zellenbreiten festlegen.
currentSection.HeadersFooters.LinkToPrevious(false);
// Wenn wir für diesen Abschnitt den bereits vorhandenen Kopf-/Fußzeilensatz verwenden möchten.
// Mit einigen geringfügigen Änderungen kann es jedoch sinnvoll sein, Kopf-/Fußzeilen zu kopieren
// aus dem vorherigen Abschnitt und wenden Sie die erforderlichen Änderungen an der gewünschten Stelle an.
CopyHeadersFootersFromPreviousSection(currentSection);
HeaderFooter primaryFooter = currentSection.HeadersFooters[HeaderFooterType.FooterPrimary];
Row row = primaryFooter.Tables[0].FirstRow;
row.FirstCell.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 / 3);
row.LastCell.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 * 2 / 3);
doc.Save(dataDir + "WorkingWithHeadersAndFooters.CreateHeaderFooter.docx");
FAQs
F: Wie kann ich in Aspose.Words eine Kopfzeile zu meinem Dokument hinzufügen?
A: Um Ihrem Dokument in Aspose.Words eine Kopfzeile hinzuzufügen, können Sie die verwendenDocument.FirstSection.HeadersFooters.Add(HeaderFooterType.HeaderPrimary)
Methode. Diese Methode fügt dem ersten Abschnitt Ihres Dokuments eine primäre Überschrift hinzu.
F: Wie kann ich in Aspose.Words eine Fußzeile zu meinem Dokument hinzufügen?
A: Um Ihrem Dokument in Aspose.Words eine Fußzeile hinzuzufügen, können Sie die verwendenDocument.FirstSection.HeadersFooters.Add(HeaderFooterType.FooterPrimary)
Methode. Diese Methode fügt dem ersten Abschnitt Ihres Dokuments eine primäre Fußzeile hinzu.
F: Wie kann ich meiner Kopf- oder Fußzeile in Aspose.Words Text hinzufügen?
A: Um Ihrer Kopf- oder Fußzeile in Aspose.Words Text hinzuzufügen, können Sie die verwendenHeaderFooter.Paragraphs
-Eigenschaft, um die Absatzsammlung der Kopf- oder Fußzeile abzurufen, und fügen Sie dann mithilfe der einen Absatz mit Ihrem Text zu dieser Sammlung hinzuParagraphCollection.Add
Methode.
F: Kann ich den Inhalt von Kopf- oder Fußzeilen mit Bildern und Seitenzahlen in Aspose.Words anpassen?
A: Ja, Sie können den Inhalt von Kopf- und Fußzeilen mit Bildern und Seitenzahlen in Aspose.Words anpassen. Sie können Objekte wie verwendenShape
um Bilder und Objekte wie hinzuzufügenField
um Ihrer Kopf- oder Fußzeile Seitenzahlen hinzuzufügen.
F: Kann ich die Schriftart, Größe und Farbe des Textes in meiner Kopf- oder Fußzeile in Aspose.Words ändern?
A: Ja, Sie können die Schriftart, Größe und Farbe des Textes in Ihrer Kopf- oder Fußzeile in Aspose.Words ändern. Sie können auf Textformatierungseigenschaften zugreifen, zFont
um die Schriftart zu ändern,Size
um die Größe anzupassen, undColor
um die Textfarbe festzulegen.