DifferentFirstPageHeaderFooter
Innehåll
[
Dölj
]PageSetup.DifferentFirstPageHeaderFooter property
Sant om ett annat sidhuvud eller en annan sidfot används på första sidan.
public bool DifferentFirstPageHeaderFooter { get; set; }
Exempel
Visar hur man skapar sidhuvuden och sidfot i ett dokument med hjälp av DocumentBuilder.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Ange att vi vill ha olika sidhuvuden och sidfot för första, jämna och udda sidor.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;
// Skapa rubrikerna och lägg sedan till tre sidor i dokumentet för att visa varje rubriktyp.
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");
Visar hur man aktiverar eller inaktiverar primära sidhuvuden/sidfot.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Nedan finns två typer av sidhuvud/sidfot.
// 1 - Sidhuvudet/sidfoten "Första", som visas på första sidan i avsnittet.
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.Writeln("First page header.");
builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst);
builder.Writeln("First page footer.");
// 2 - Sidhuvudet/sidfoten "Primär", som visas på varje sida i avsnittet.
// Vi kan åsidosätta den primära sidhuvudet/sidfoten med ett första och ett jämnt sidhuvud/sidfot.
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Writeln("Primary header.");
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
builder.Writeln("Primary footer.");
builder.MoveToSection(0);
builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");
// Varje sektion har ett "PageSetup"-objekt som anger egenskaper relaterade till sidans utseende
// såsom orientering, storlek och gränser.
// Sätt egenskapen "DifferentFirstPageHeaderFooter" till "true" för att tillämpa det första sidhuvudet/sidfoten på den första sidan.
// Sätt egenskapen "DifferentFirstPageHeaderFooter" till "false"
// för att få den första sidan att visa den primära sidhuvudet/sidfoten.
builder.PageSetup.DifferentFirstPageHeaderFooter = differentFirstPageHeaderFooter;
doc.Save(ArtifactsDir + "PageSetup.DifferentFirstPageHeaderFooter.docx");
Visar hur man spårar i vilken ordning en textersättningsoperation passerar noder.
public void Order(bool differentFirstPageHeaderFooter)
{
Document doc = new Document(MyDir + "Header and footer types.docx");
Section firstPageSection = doc.FirstSection;
ReplaceLog logger = new ReplaceLog();
FindReplaceOptions options = new FindReplaceOptions(logger);
// Att använda ett annat sidhuvud/sidfot för första sidan påverkar sökordningen.
firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = differentFirstPageHeaderFooter;
doc.Range.Replace(new Regex("(header|footer)"), "", options);
if (differentFirstPageHeaderFooter)
Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\nThird footer\n",
logger.Text.Replace("\r", ""));
else
Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\nSecond footer\n",
logger.Text.Replace("\r", ""));
}
/// <summary>
/// Under en sök-och-ersätt-operation registreras innehållet i varje nod som har text som operationen 'hittar',
/// i det tillstånd den är i innan utbytet sker.
/// Detta visar i vilken ordning textersättningsoperationen passerar noder.
/// </summary>
private class ReplaceLog : IReplacingCallback
{
public ReplaceAction Replacing(ReplacingArgs args)
{
mTextBuilder.AppendLine(args.MatchNode.GetText());
return ReplaceAction.Skip;
}
internal string Text => mTextBuilder.ToString();
private readonly StringBuilder mTextBuilder = new StringBuilder();
}
Se även
- class PageSetup
- namnutrymme Aspose.Words
- hopsättning Aspose.Words