Skapa sidhuvud

Här är en steg-för-steg-guide för att förklara följande C#-källkod för att skapa sidhuvuden och sidfötter med Aspose.Words för .NET-funktionalitet. Se till att du har inkluderat Aspose.Words-biblioteket i ditt projekt innan du använder den här koden.

Steg 1: Ange sökväg till dokumentkatalogen

// Sökvägen till dokumentkatalogen.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";

Var noga med att ange rätt sökväg till din dokumentkatalog där det redigerade dokumentet kommer att sparas.

Steg 2: Skapa ett dokument och en dokumentgenerator

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

Här skapar vi en instans avDocument klass och en instans avDocumentBuilder klass som gör att vi kan manipulera dokumentet och lägga till element.

Steg 3: Ställ in sidparametrar och första rubrik

Section currentSection = builder.CurrentSection;
PageSetup pageSetup = currentSection.PageSetup;

// Ange om vi vill att sidhuvuden/sidfötter på den första sidan ska skilja sig från de andra sidorna.
// Du kan också använda egenskapen PageSetup.OddAndEvenPagesHeaderFooter för att ange
// olika sidhuvuden/sidfötter för udda och jämna sidor.
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);

Vi ställer in sidparametrarna, inklusive rubrikens avstånd, och flyttar sedan till huvudhuvudet (HeaderPrimary). Vi använder dokumentgeneratorn för att lägga till text och formatera rubriken.

Steg 4: Infoga en bild och text i huvudhuvudet

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);

Vi använder dokumentgeneratorn för att infoga en bild i det övre vänstra hörnet av huvudhuvudet, sedan lägger vi till lite högerjusterad text.

Steg 5: Infoga en tabell i sidfoten

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();

Steg 6: Lägg till en ny sida och ställ in sidhuvuden/sidfötter

builder. InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.SectionBreakNewPage);

currentSection = builder. CurrentSection;
pageSetup = currentSection.PageSetup;
pageSetup.Orientation = Orientation.Landscape;
// Det här avsnittet behöver inte en annan sidhuvud/sidfot för den första sidan, vi behöver bara en titelsida i dokumentet,
//och sidhuvudet/sidfoten för den här sidan har redan definierats i föregående avsnitt.
pageSetup.DifferentFirstPageHeaderFooter = false;

// Det här avsnittet visar sidhuvuden/sidfötter för föregående avsnitt som standard, anrop currentSection.HeadersFooters.LinkToPrevious(false) för att bryta denna länk,
// sidbredden är annorlunda för det nya avsnittet, så vi måste ställa in olika cellbredder för en sidfotstabell.
currentSection.HeadersFooters.LinkToPrevious(false);

// Om vi vill använda de redan befintliga sidhuvuden/sidfötter för detta avsnitt,
//men med några mindre ändringar kan det vara vettigt att kopiera sidhuvuden/sidfötter
// från föregående avsnitt och tillämpa de nödvändiga ändringarna där vi vill ha dem.
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);

// Spara dokumentet
doc.Save(dataDir + "WorkingWithHeadersAndFooters.CreateHeaderFooter.docx");

Vi lägger till en sidbrytning och en sektionsbrytning för att skapa en ny sida där de primära sidhuvuden/sidfötter kommer att synas. Vi ställer in parametrarna för den nya sektionen, sedan använder viCopyHeadersFootersFromPreviousSection metod för att kopiera sidhuvuden/sidfötter från föregående avsnitt. Slutligen ställer vi in lämpliga cellbredder för huvudsidfotstabellen och sparar dokumentet.

Exempel på källkod för att skapa sidhuvuden och sidfötter med Aspose.Words för .NET

// Sökvägen till dokumentkatalogen.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";

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

Section currentSection = builder.CurrentSection;
PageSetup pageSetup = currentSection.PageSetup;
// Ange om vi vill att sidhuvuden/sidfötter på första sidan ska skilja sig från andra sidor.
// Du kan också använda egenskapen PageSetup.OddAndEvenPagesHeaderFooter för att ange
// olika sidhuvuden/sidfötter för udda och jämna sidor.
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);

// Infoga en positionerad bild i det övre/vänstra hörnet av rubriken.
// Avståndet från sidans övre/vänsterkant är satt till 10 punkter.
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);

// Vi använder en tabell med två celler för att göra en del av texten på raden (med sidnumrering).
// Att justeras till vänster och den andra delen av texten (med upphovsrätt) ska justeras till höger.
builder.StartTable();

builder.CellFormat.ClearFormatting();

builder.InsertCell();

builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(100 / 3);

// Den använder PAGE- och NUMPAGES-fälten för att automatiskt beräkna det aktuella sidnumret och många sidor.
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();

// Gör en sidbrytning för att skapa en andra sida där de primära sidhuvuden/sidfötterna kommer att synas.
builder.InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.SectionBreakNewPage);

currentSection = builder.CurrentSection;
pageSetup = currentSection.PageSetup;
pageSetup.Orientation = Orientation.Landscape;
// Det här avsnittet behöver inte en annan sidhuvud/sidfot på första sidan vi behöver bara en titelsida i dokumentet,
//och sidhuvudet/sidfoten för den här sidan har redan definierats i föregående avsnitt.
pageSetup.DifferentFirstPageHeaderFooter = false;

// Det här avsnittet visar sidhuvuden/sidfötter från föregående avsnitt
// anrop som standard currentSection.HeadersFooters.LinkToPrevious(false) för att avbryta denna sidbredd
// är annorlunda för det nya avsnittet, och därför måste vi ställa in olika cellbredder för en sidfotstabell.
currentSection.HeadersFooters.LinkToPrevious(false);

// Om vi vill använda den redan befintliga sidhuvud/sidfotsuppsättningen för detta avsnitt.
// Men med några mindre ändringar kan det vara lämpligt att kopiera sidhuvuden/sidfötter
// från föregående avsnitt och tillämpa nödvändiga ändringar där vi vill ha dem.
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");

FAQ’s

F: Hur kan jag lägga till en rubrik i mitt dokument i Aspose.Words?

S: För att lägga till en rubrik till ditt dokument i Aspose.Words kan du användaDocument.FirstSection.HeadersFooters.Add(HeaderFooterType.HeaderPrimary) metod. Den här metoden lägger till en primär rubrik till den första delen av ditt dokument.

F: Hur kan jag lägga till en sidfot i mitt dokument i Aspose.Words?

S: För att lägga till en sidfot till ditt dokument i Aspose.Words kan du användaDocument.FirstSection.HeadersFooters.Add(HeaderFooterType.FooterPrimary)metod. Den här metoden lägger till en primär sidfot i den första delen av ditt dokument.

F: Hur kan jag lägga till text i min sidhuvud eller sidfot i Aspose.Words?

S: För att lägga till text i sidhuvudet eller sidfoten i Aspose.Words kan du användaHeaderFooter.Paragraphs egenskap för att hämta styckesamlingen för sidhuvudet eller sidfoten, lägg sedan till ett stycke som innehåller din text till den här samlingen medParagraphCollection.Add metod.

F: Kan jag anpassa sidhuvud eller sidfotsinnehåll med bilder och sidnummer i Aspose.Words?

S: Ja, du kan anpassa innehållet i sidhuvudet eller sidfoten med bilder och sidnummer i Aspose.Words. Du kan använda objekt somShape att lägga till bilder och objekt somField för att lägga till sidnummer i sidhuvudet eller sidfoten.

F: Kan jag ändra teckensnitt, storlek och färg på text i min sidhuvud eller sidfot i Aspose.Words?

S: Ja, du kan ändra teckensnitt, storlek och färg på texten i sidhuvudet eller sidfoten i Aspose.Words. Du kan komma åt textformateringsegenskaper som t.exFont för att ändra typsnittet,Size för att justera storleken, ochColorför att ställa in textfärgen.