Knowledgebase (2330)
Children categories
Page borders in Microsoft Word can be a useful tool for improving the visual appeal and organization of your documents. Knowing how to effectively add, modify, and remove page borders can help you customize the appearance of your Word documents and elevate their overall presentation.
In this article, you will learn how to programmatically manage page borders in Word documents using C# and Spire.Doc for .NET.
- Add Borders to All Pages in Word in C#
- Modify Page Borders in Word in C#
- Remove Page Borders in Word in C#
Install Spire.Doc for .NET
To begin with, you need to add the DLL files included in the Spire.Doc for.NET package as references in your .NET project. The DLL files can be either downloaded from this link or installed via NuGet.
PM> Install-Package Spire.Doc
Add Borders to All Pages in Word in C#
Spire.Doc for .NET provides the Borders class to manage the page borders in a Word document. This class offers a set of properties that allow you to control the appearance of the page border, including BorderType, Color, and LineWidth.
The steps to add borders to all pages in a Word document using C# are as follows:
- Create a Document object.
- Load a Word file from the given file path.
- Iterate through the sections in the document.
- Get a specific section.
- Get the PageSetup object of the section.
- Apply borders to all page by setting PageSetup.PageBordersApplyType to PageBordersApplyType.AllPages.
- Get the Borders object through PageSetup.Borders property.
- Set the border type, color, line width and other attributes through the properties under the Borders object.
- Save the updated document to a different Word file.
- C#
using Spire.Doc;
using System.Drawing;
namespace AddPageBorder
{
class Program
{
static void Main(string[] args)
{
// Create a Document object
Document doc = new Document();
// Load a Word file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\source.docx");
// Iterate through the sections in the document
for (int i = 0; i < doc.Sections.Count; i++)
{
// Get a specific section
Section section = doc.Sections[i];
// Get page setup object
PageSetup pageSetup = section.PageSetup;
// Apply page border to all pages
pageSetup.PageBordersApplyType = PageBordersApplyType.AllPages;
// Set the border type
pageSetup.Borders.BorderType = Spire.Doc.Documents.BorderStyle.DashLargeGap;
// Set the border width
pageSetup.Borders.LineWidth = 2;
// Set the border color
pageSetup.Borders.Color = Color.Red;
// Set the spacing between borders and text within them
pageSetup.Borders.Top.Space = 30;
pageSetup.Borders.Bottom.Space = 30;
pageSetup.Borders.Left.Space = 30;
pageSetup.Borders.Right.Space = 30;
}
// Save the updated document to a different file
doc.SaveToFile("AddPageBorder.docx", FileFormat.Docx);
// Dispose resources
doc.Dispose();
}
}
}

Modify Page Borders in Word in C#
The page borders in an existing Word document can be accessed through PageSetup.Borders class and their appearance can be modified using the properties under the Borders object.
The following are the steps to modify page border in a Word document using C#:
- Create a Document object.
- Load a Word file from the given file path.
- Iterate through the sections in the document.
- Get a specific section.
- Get the PageSetup object of the section.
- Get the Borders object through PageSetup.Borders property.
- Set the border type, color, line width and other attributes through the properties under the Borders object.
- Save the updated document to a different Word file.
- C#
using Spire.Doc;
using System.Drawing;
namespace ModifyPageBorder
{
class Program
{
static void Main(string[] args)
{
// Create a Document object
Document doc = new Document();
// Load a Word file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Border.docx");
// Iterate through the sections in the document
for (int i = 0; i < doc.Sections.Count; i++)
{
// Get a specific section
Section section = doc.Sections[i];
// Get page setup of the section
PageSetup pageSetup = section.PageSetup;
// Change the border type
section.PageSetup.Borders.BorderType = Spire.Doc.Documents.BorderStyle.Double;
// Change the border color
section.PageSetup.Borders.Color = Color.Orange;
// Change the border width
section.PageSetup.Borders.LineWidth = 3;
}
// Save the updated document to a different file
doc.SaveToFile("ModifyBorder.docx", FileFormat.Docx);
// Dispose resources
doc.Dispose();
}
}
}

Remove Page Borders in Word in C#
To remove the page borders of a Word document, you can simply set the Borders.BorderType property to BorderStyle.None. The following are the detailed steps.
- Create a Document object.
- Load a Word file from the given file path.
- Iterate through the sections in the document.
- Get a specific section.
- Get the PageSetup object of the section.
- Get the Borders object through PageSetup.Borders property.
- Set the Borders.BorderType property as BorderStyle.None.
- Save the updated document to a different Word file.
- C#
using Spire.Doc;
namespace RemovePageBorder
{
class Program
{
static void Main(string[] args)
{
// Create a Document object
Document doc = new Document();
// Load a Word file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Border.docx");
// Iterate through the sections in the document
for (int i = 0; i < doc.Sections.Count; i++)
{
// Get a specific section
Section section = doc.Sections[i];
// Get page setup object
PageSetup pageSetup = section.PageSetup;
// Set the border type to none
pageSetup.Borders.BorderType = Spire.Doc.Documents.BorderStyle.None;
}
// Save the updated document to a different file
doc.SaveToFile("RemovePageBorder.docx", FileFormat.Docx);
// Dispose resources
doc.Dispose();
}
}
}

Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.
In Word document, users can add new sections or remove existing sections. This guide demonstrates how to remove Word section in C# and VB.NET.
Section, important part to form a Word document, can be easily added and removed. In MS Word, users can operation section by section break, adding new section by inserting a break and deleting existing section by removing section break. In this guide, a solution will be presented to remove Word section in C# and VB.NET via Spire.Doc for .NET.
Spire.Doc for .NET enables developers to access SectionCollection property of Document class to get specified section in Word document and then remove the unnecessary one or more. There are two methods to remove Word section.
Remove one Specified Section
Invoke Remove(Spire.Doc.Interface.IDocumentObject entity) method to remove specified object of document. In this solution, entity is the first section of document which has gotten at first.
Section section = document.Sections[0];
document.Sections.Remove(section);
Dim section As Section = document.Sections(0)
document.Sections.Remove(section)
Invoke RemoveAt(int index) method to remove document object at the specified index from the collection.
document.Sections.RemoveAt(0);
document.Sections.RemoveAt(0)
Remove All Sections
Invoke Clear() method to clear all objects of document.
document.Sections.Clear();
document.Sections.Clear()
Note: Because a Word document must include at least one section, so the document cannot be saved if all the sections are removed.
Spire.Doc, the professional stand-alone component to manipulate MS Word document without automation, enables developers to generate, read, write, modify Word document on their .NET, WPF and Silverlight application.
A table provides fast and efficient access to data displayed in rows and columns in a visually appealing manner. When presented in a table, data has a greater impact than when just used as words and enables readers to easily compare and understand relationships between them. In this article, you will learn how to create a table in PDF in C# and VB.NET using Spire.PDF for .NET.
Spire.PDF for .NET offers the PdfTable and the PdfGrid class to work with the tables in a PDF document. The PdfTable class is used to quickly create simple, regular tables without too much formatting, while the PdfGrid class is used to create more complex tables.
The table below lists the differences between these two classes.
| PdfTable | PdfGrid | |
| Formatting | ||
| Row | Can be set through events. No API support. | Can be set through API. |
| Column | Can be set through API (StringFormat). | Can be set through API (StringFormat). |
| Cell | Can be set through events. No API support. | Can be set through API. |
| Others | ||
| Column span | Not support. | Can be set through API. |
| Row span | Can be set through events. No API support. | Can be set through API. |
| Nested table | Can be set through events. No API support. | Can be set through API. |
| Events | BeginCellLayout, EndCellLayout, BeginRowLayout, EndRowLayout, BeginPageLayout, EndPageLayout. | BeginPageLayout, EndPageLayout. |
The following sections demonstrate how to create a table in PDF using the PdfTable class and the PdfGrid class, respectively.
Install Spire.PDF for .NET
To begin with, you need to add the DLL files included in the Spire.PDF for.NET package as references in your .NET project. The DLL files can be either downloaded from this link or installed via NuGet.
PM> Install-Package Spire.PDF
Create a Table Using PdfTable Class
The following are the steps to create a table using the PdfTable class.
- Create a PdfDocument object.
- Add a page to it using PdfDocument.Pages.Add() method.
- Create a Pdftable object.
- Set the table style through PdfTable.Style property.
- Insert data to table through PdfTable.DataSource property.
- Set row height and row color through BeginRowLayout event.
- Draw table on the PDF page using PdfTable.Draw() method.
- Save the document to a PDF file using PdfDocument.SaveToFile() method.
- C#
- VB.NET
using System;
using System.Data;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Tables;
namespace CreateTable
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Add a page
PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(40));
//Create a PdfTable object
PdfTable table = new PdfTable();
//Set font for header and the rest cells
table.Style.DefaultStyle.Font = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);
table.Style.HeaderStyle.Font = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Bold), true);
//Crate a DataTable
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID");
dataTable.Columns.Add("Name");
dataTable.Columns.Add("Department");
dataTable.Columns.Add("Position");
dataTable.Columns.Add("Level");
dataTable.Rows.Add(new string[] { "1", "David", "IT", "Manager", "1" });
dataTable.Rows.Add(new string[] { "3", "Julia", "HR", "Manager", "1" });
dataTable.Rows.Add(new string[] { "4", "Sophie", "Marketing", "Manager", "1" });
dataTable.Rows.Add(new string[] { "7", "Wickey", "Marketing", "Sales Rep", "2" });
dataTable.Rows.Add(new string[] { "9", "Wayne", "HR", "HR Supervisor", "2" });
dataTable.Rows.Add(new string[] { "11", "Mia", "Dev", "Developer", "2" });
//Set the datatable as the data source of table
table.DataSource = dataTable;
//Show header(the header is hidden by default)
table.Style.ShowHeader = true;
//Set font color and backgroud color of header row
table.Style.HeaderStyle.BackgroundBrush = PdfBrushes.Gray;
table.Style.HeaderStyle.TextBrush = PdfBrushes.White;
//Set text alignment in header row
table.Style.HeaderStyle.StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
//Set text alignment in other cells
for (int i = 0; i < table.Columns.Count; i++)
{
table.Columns[i].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
}
//Register with BeginRowLayout event
table.BeginRowLayout += Table_BeginRowLayout;
//Draw table on the page
table.Draw(page, new PointF(0, 30));
//Save the document to a PDF file
doc.SaveToFile("PdfTable.pdf");
}
//Event handler
private static void Table_BeginRowLayout(object sender, BeginRowLayoutEventArgs args)
{
//Set row height
args.MinimalHeight = 20f;
//Alternate row color
if (args.RowIndex < 0)
{
return;
}
if (args.RowIndex % 2 == 1)
{
args.CellStyle.BackgroundBrush = PdfBrushes.LightGray;
}
else
{
args.CellStyle.BackgroundBrush = PdfBrushes.White;
}
}
}
}

Create a Table Using PdfGrid Class
Below are the steps to create a table using the PdfGrid class.
- Create a PdfDocument object.
- Add a page to it using PdfDocument.Pages.Add() method.
- Create a PdfGrid object.
- Set the table style through PdfGrid.Style property.
- Add rows to the table using PdfGrid.Rows.Add() method.
- Insert data to specific cells through PdfGridRow.Cells[index].Value property.
- Span cells across columns or rows through PdfGridRow.RowSpan or PdfGridRow.ColumnSpan property.
- Set the formatting of a specific cell through PdfGridRow.Cells[index].StringFormat and PdfGridRow.Cells[index].Style properties.
- Draw table on the PDF page using PdfGrid.Draw() method.
- Save the document to a PDF file using PdfDocument.SaveToFile() method.
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Grid;
using System.Drawing;
namespace CreateGrid
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Add a page
PdfPageBase page = doc.Pages.Add(PdfPageSize.A4,new PdfMargins(40));
//Create a PdfGrid
PdfGrid grid = new PdfGrid();
//Set cell padding
grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
//Set font
grid.Style.Font = new PdfTrueTypeFont(new Font("Times New Roman", 13f, FontStyle.Regular), true);
//Add rows
PdfGridRow row1 = grid.Rows.Add();
PdfGridRow row2 = grid.Rows.Add();
PdfGridRow row3 = grid.Rows.Add();
PdfGridRow row4 = grid.Rows.Add();
grid.Columns.Add(4);
//Set column width
foreach (PdfGridColumn col in grid.Columns)
{
col.Width = 110f;
}
//Write data into specific cells
row1.Cells[0].Value = "Order and Payment Status";
row2.Cells[0].Value = "Order number";
row2.Cells[1].Value = "Date";
row2.Cells[2].Value = "Customer";
row2.Cells[3].Value = "Paid or not";
row3.Cells[0].Value = "00223";
row3.Cells[1].Value = "2022/06/02";
row3.Cells[2].Value = "Brick Lane Realty";
row3.Cells[3].Value = "Yes";
row4.Cells[0].Value = "00224";
row4.Cells[1].Value = "2022/06/03";
row4.Cells[3].Value = "No";
//Span cell across columns
row1.Cells[0].ColumnSpan = 4;
//Span cell across rows
row3.Cells[2].RowSpan = 2;
//Set text alignment of specific cells
row1.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center);
row3.Cells[2].StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);
//Set background color of specific cells
row1.Cells[0].Style.BackgroundBrush = PdfBrushes.Orange;
row4.Cells[3].Style.BackgroundBrush = PdfBrushes.LightGray;
//Format cell border
PdfBorders borders = new PdfBorders();
borders.All = new PdfPen(Color.Orange, 0.8f);
foreach (PdfGridRow pgr in grid.Rows)
{
foreach (PdfGridCell pgc in pgr.Cells)
{
pgc.Style.Borders = borders;
}
}
//Draw table on the page
grid.Draw(page, new PointF(0, 30));
//Save the document to a PDF file
doc.SaveToFile("PdfGrid.pdf");
}
}
}

Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.