Đầu trang và Chân trang thường được sử dụng trong tài liệu để hiển thị thông tin quan trọng như số trang, chủ đề, chương, v.v. Bạn có thể thêm, chèn, xóa hoặc loại bỏ đầu trang và chân trang trong tài liệu Word DOCX DOC bằng cách sử dụng các ứng dụng Java của bạn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách thêm hoặc xóa đầu trang và chân trang. Sau đây là các chủ đề mà chúng ta sẽ khám phá chi tiết:

Chèn hoặc xóa API chân trang đầu trang – Cài đặt

Để làm việc với Đầu trang và Chân trang trong tài liệu Word, chúng tôi sẽ sử dụng API Aspose.Words for Java nơi các lệnh gọi API đơn giản sẽ giúp chúng tôi đạt được các yêu cầu. Bạn có thể tải xuống tệp JAR từ phần phát hành hoặc sao chép các cấu hình Maven sau trong dự án của bạn. API sẽ được định cấu hình thông qua kho lưu trữ Maven và bạn sẽ dễ dàng tiếp tục với các bước tiếp theo được giải thích trong bài viết này.

Kho:

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>

phụ thuộc:

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>jdk17</classifier>
    </dependency>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

Thêm Đầu trang và Chân trang trong Tài liệu Word (DOCX/DOC) bằng Java

Thêm đầu trang và chân trang trong tài liệu Word (DOCX/DOC) là trường hợp sử dụng cơ bản nhưng quan trọng khi làm việc với tài liệu soạn thảo văn bản. Tuy nhiên, các kịch bản khác nhau là có thể. Ví dụ: bạn có thể cần thêm hình ảnh, bảng hoặc chỉ một số văn bản vào phần đầu trang và chân trang. Hơn nữa, đôi khi đầu trang và chân trang khác nhau trên trang tiêu đề so với các trang khác. Đôi khi đầu trang và chân trang khác nhau trên số trang chẵn và khác nhau trên số trang lẻ. Do đó, chúng tôi đã tạo một ví dụ ngắn gọn và cơ bản về cách thêm đầu trang và chân trang trong tài liệu Word.

Ở đây, chúng tôi sẽ chèn chân trang tiêu đề khác trên trang tiêu đề (trang đầu tiên) và chân trang tiêu đề khác trên trang tiếp theo. Trong khi đó, trang thứ hai sẽ có chân trang đầu trang tùy chỉnh bao gồm hình ảnh, văn bản và thành phần bảng. Bạn cần làm theo các bước bên dưới để thêm hoặc chèn đầu trang và chân trang trong tài liệu từ (DOCX/DOC) bằng Java.

  1. Khởi tạo các đối tượng lớp DocumentDocumentBuilder
  2. Chỉ định rằng bạn muốn chân trang tiêu đề khác cho trang tiêu đề
  3. Đặt thuộc tính phông chữ cho văn bản tiêu đề
  4. Tạo tiêu đề và cho các trang tiếp theo
  5. Chèn bảng và đặt định dạng số trang
  6. Lưu tệp DOCX đầu ra

Đoạn mã sau dựa trên các bước trình bày cách thêm đầu trang và chân trang trong tài liệu Word (DOCX/DOC) theo cách lập trình bằng cách sử dụng Java:

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

Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();

// Chỉ định nếu chúng tôi muốn đầu trang/cuối trang của trang đầu tiên khác với các trang khác.
// Bạn cũng có thể sử dụng thuộc tính PageSetup.OddAndEvenPagesHeaderFooter để chỉ định
// đầu trang/chân trang khác nhau cho các trang chẵn và lẻ.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Tạo tiêu đề cho trang đầu tiên. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Đặt thuộc tính phông chữ cho văn bản tiêu đề.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Chỉ định tiêu đề tiêu đề cho trang đầu tiên.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Tạo tiêu đề cho các trang không phải trang đầu tiên. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Chèn hình ảnh được định vị tuyệt đối vào góc trên cùng/trái của tiêu đề.
// Khoảng cách từ các cạnh trên cùng/bên trái của trang được đặt thành 10 điểm.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Chỉ định tiêu đề tiêu đề khác cho các trang khác.
builder.write("Aspose.Words Header/Footer Creation");

// --- Tạo chân trang cho các trang khác trang đầu tiên. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Chúng tôi sử dụng bảng có hai ô để tạo một phần của văn bản trên dòng (có đánh số trang)
// được căn trái và phần khác của văn bản (có bản quyền) được căn phải.
builder.startTable();

// Xóa viền bảng
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Đặt ô đầu tiên bằng 1/3 chiều rộng của trang.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Chèn văn bản đánh số trang ở đây.
// Nó sử dụng các trường PAGE và NUMPAGES để tự động tính số trang hiện tại và tổng số trang.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Căn chỉnh văn bản này sang bên trái.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Đặt ô thứ hai bằng 2/3 chiều rộng của trang.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");

// Căn chỉnh văn bản này sang bên phải.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

builder.endRow();
builder.endTable();

builder.moveToDocumentEnd();
// Ngắt trang để tạo trang thứ hai trên đó sẽ nhìn thấy đầu trang/cuối trang chính.
builder.insertBreak(BreakType.PAGE_BREAK);

// Lưu tài liệu kết quả.
doc.save(dataDir + "HeaderFooter_Out.docx");

Cho đến nay chúng ta đã học cách thêm hoặc chèn đầu trang và chân trang trong tệp word. Dưới đây là ảnh chụp màn hình về giao diện của đầu ra khi bạn nhìn thấy nó qua tùy chọn Xem trước bản in.

Tính năng này có thể giúp ích rất nhiều khi các tài liệu DOC/DOCX khác nhau được ứng dụng của bạn xử lý khi bạn muốn thêm một số nội dung làm chân trang đầu trang của tài liệu đầu ra.

Thêm hoặc xóa Header Footer

Hãy để chúng tôi tiếp tục kiểm tra việc xóa đầu trang và chân trang khỏi tệp MS Word (DOCX/DOC).

Xóa Header và Footer của Tài liệu Word (DOCX/DOC) bằng Java

Bạn có thể xóa đầu trang cũng như chân trang của tài liệu từ bằng API Aspose.Words for Java. Như đã thảo luận ở trên, có thể có ba loại đầu trang và chân trang khác nhau được thêm vào tài liệu. Ví dụ: trên trang tiêu đề, trên trang chẵn và số trang lẻ. Bạn có thể xóa toàn bộ header và footer trong file word đơn giản bằng cách thực hiện theo các bước dưới đây:

  1. Tải tệp DOCX/DOC nguồn
  2. Tìm đầu trang và chân trang trên trang tiêu đề, số trang chẵn và số trang lẻ
  3. Xóa phần bắt buộc khi tìm thấy
  4. Lưu tệp DOCX đầu ra

Đoạn mã dưới đây thực hiện theo các bước sau và cho biết cách xóa đầu trang và chân trang trong tài liệu từ bằng Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Có thể có tối đa ba chân trang tiêu đề khác nhau trong một phần (đối với trang đầu tiên, trang chẵn và trang lẻ).
	// Chúng tôi kiểm tra và xóa tất cả chúng.
	HeaderFooter footer;
        HeaderFooter header;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
        
        
	if (footer != null)
		footer.remove();
        
        	if (header != null)
		header.remove();

	// Chân trang tiêu đề chính được sử dụng cho các trang lẻ.
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();
        
        header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
        
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}

doc.save(dataDir + "RemoveHeaderFooter_Out.docx");

Xóa chân trang khỏi tài liệu Word (DOCX/DOC) bằng Java

Chúng tôi đã thảo luận về cách xóa hoặc xóa đầu trang và chân trang khỏi tệp từ. Tuy nhiên, bạn có thể chỉ muốn xóa phần chân trang của tài liệu Word trong khi vẫn giữ nguyên Phần đầu. Những yêu cầu này có thể dễ dàng thực hiện được với các bước sau:

  1. Tải tệp từ nguồn (DOCX/DOC)
  2. Lặp lại qua từng Phần của tài liệu từ
  3. Khởi tạo đối tượng HeaderFooter
  4. Xóa chân trang khỏi tệp đầu vào
  5. Lưu tệp DOCX/DOC đã cập nhật

Đoạn mã sau giải thích cách xóa chân trang khỏi tài liệu từ bằng Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Có thể có tối đa ba chân trang khác nhau trong một phần (đối với trang đầu tiên, trang chẵn và trang lẻ).
	// Chúng tôi kiểm tra và xóa tất cả chúng.
	HeaderFooter footer;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
	if (footer != null)
		footer.remove();

	// Primary footer là footer dùng cho các trang lẻ.
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
}
doc.save(dataDir + "RemoveFooters.docx");

Xóa tiêu đề khỏi tài liệu Word (DOCX/DOC) bằng Java

Vì chúng ta đã học cách xóa hoặc chỉ xóa phần chân trang khỏi tệp MS Word. Hãy để chúng tôi khám phá thêm một bước nữa, nơi bạn có thể chỉ cần xóa các tiêu đề khỏi tài liệu Word. Chân trang sẽ giữ nguyên và không bị ảnh hưởng bởi vì trọng tâm của chúng tôi ở đây là chỉ xóa các tiêu đề. Các bước sau đây cung cấp phác thảo về quy trình được thông qua cho mục đích này:

  1. Tải tệp Word đầu vào (DOCX/DOC)
  2. Khởi tạo một thể hiện của lớp HeaderFooter
  3. Xóa Tiêu đề khỏi tất cả các phần của tài liệu đầu vào
  4. Lưu tệp DOCX cập nhật

Mã bên dưới cho biết cách xóa hoặc xóa tiêu đề khỏi tài liệu từ bằng Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Có thể có tối đa ba chân trang khác nhau trong một phần (đối với trang đầu tiên, trang chẵn và trang lẻ).
	// Chúng tôi kiểm tra và xóa tất cả chúng.
	HeaderFooter header;

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
	if (header != null)
		header.remove();

	// Primary footer là footer dùng cho các trang lẻ.
	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}
doc.save(dataDir + "RemoveHeader.docx");

Sự kết luận

Thêm, chèn, xóa hoặc xóa đầu trang và chân trang trong tài liệu Word là một trường hợp xử lý văn bản rất quan trọng và thường xuyên. Hầu hết tất cả các tài liệu đều chứa Đầu trang và Chân trang, có thể được thao tác bằng API Aspose.Words for Java theo yêu cầu của bạn. Bài viết này là tổng quan về các tính năng liên quan, nơi bạn có thể thảo luận về mọi trường hợp sử dụng tùy chỉnh và các yêu cầu với chúng tôi qua Diễn đàn hỗ trợ miễn phí. Vui lòng liên hệ với chúng tôi nếu có bất kỳ câu hỏi và thắc mắc nào.

Xem thêm