Denna steg-för-steg handledning guider om hur man tar bort alla sidbrytningar i Word med C#. Den har detaljer för att ställa in utvecklingsmiljön, en lista över programmeringsuppgifter och en körbar exempelkod för att ta bort sidbrytning i Word med C#. Det kommer att dela information om Word-dokumentstrukturen och olika typer av sidbrytningar som finns i en Word-fil.
Steg för att ta bort sidbrytningar i Word med C#
- Ställ in utvecklingsmiljön så att den använder Aspose.Words for .NET för att eliminera sidbrytningarna
- Ladda Word-målfilen i Document-objektet och få tillgång till alla paragraphs
- Läs igenom alla stycken och kontrollera sidbrytningarna före stycket
- Ta bort sidbrytningarna före varje paragraf
- Analysera alla körningar i varje stycke och ersätt alla sidbrytningar med en tom sträng
- Spara den resulterande Word-filen utan sidbrytning i den
Dessa steg beskriver processen för hur man tar bort sidbrytningar i Word med C#. Varje Word-fil har en samling stycken där varje stycke har egenskapen ParagraphFormat.PageBreakBefore som måste ställas in på false för att ta bort pauserna från början. I sin tur har varje stycke en samling körningar där varje körning kan ha sidbrytningar på flera ställen som kan tas bort genom att ersätta den med en tom sträng.
Kod för att eliminera sidbrytningar i Word med C#
using Aspose.Words; | |
class Program{ | |
static void Main(string[] args) // Remove page breaks in a Word file using C# | |
{ | |
// Set PDF license | |
new License().SetLicense("Aspose.Total.lic"); | |
// Load the sample Word file having page breaks in it | |
Document doc = new Document("DocWithPageBreaks.docx"); | |
// Get access to all the paragraphs | |
NodeCollection docParagraphs = doc | |
.GetChildNodes(NodeType.Paragraph, true); | |
foreach (Paragraph currentPara in docParagraphs) | |
{ | |
// Check if the page break is there before | |
// the paragraph | |
if (currentPara.ParagraphFormat.PageBreakBefore) | |
{ | |
// Remove the page break from the start | |
currentPara.ParagraphFormat | |
.PageBreakBefore = false; | |
} | |
// Parse through all the runs in the paragraph | |
foreach (Run currentRun in currentPara.Runs) | |
{ | |
// Check page break | |
if (currentRun.Text.Contains(ControlChar.PageBreak)) | |
{ | |
// Replace the page break with an empty string | |
currentRun.Text = currentRun.Text | |
.Replace(ControlChar.PageBreak, string.Empty); | |
} | |
} | |
} | |
// Save the resultant DOCX without any page break in it | |
doc.Save("DocxWithoutPageBreaks.docx"); | |
} | |
} |
I den här koden har vi observerat hur man tar bort sidbrytningen i Word med C#. Den använder metoden GetChildNodes() genom att tillhandahålla NodeType.Paragraph som ett argument för att få tillgång till samlingen av stycken. Texten i varje körning kan ha olika typer av kontrolltecken som radbrytningar, styckebrytningar och kolumnbrytningar kan också tas bort med samma metod som används för sidbrytningar.
Den här artikeln har lärt oss att ta bort sidbrytningarna i en Word-fil. Om du vill lära dig processen för att ta bort tomma sidor i en Word-fil, se artikeln om hur man tar bort tom sida i Word med C#.