Lưu hình ảnh từ tài liệu trong Aspose.Words cho Java

Giới thiệu về Lưu hình ảnh từ tài liệu trong Aspose.Words cho Java

Trong hướng dẫn này, chúng ta sẽ khám phá cách lưu hình ảnh từ tài liệu bằng Aspose.Words cho Java. Chúng tôi sẽ đề cập đến nhiều tình huống và tùy chọn tùy chỉnh khác nhau để lưu hình ảnh. Hướng dẫn này cung cấp hướng dẫn từng bước với các ví dụ về mã nguồn.

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã tích hợp thư viện Aspose.Words for Java vào dự án của mình. Bạn có thể tải nó xuống từđây.

Bước 1: Lưu hình ảnh dưới dạng TIFF với Kiểm soát ngưỡng

Để lưu hình ảnh dưới định dạng TIFF với kiểm soát ngưỡng, hãy làm theo các bước sau:

Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
saveOptions.setTiffCompression(TiffCompression.CCITT_3);
saveOptions.setImageColorMode(ImageColorMode.GRAYSCALE);
saveOptions.setTiffBinarizationMethod(ImageBinarizationMethod.FLOYD_STEINBERG_DITHERING);
saveOptions.setThresholdForFloydSteinbergDithering((byte) 254);
doc.save("Your Directory Path" + "ThresholdControlledImage.tiff", saveOptions);

Bước 2: Lưu một trang cụ thể dưới dạng TIFF nhiều trang

Để lưu một trang cụ thể dưới dạng TIFF nhiều trang, hãy sử dụng mã sau:

Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
saveOptions.setPageSet(new PageSet(new PageRange(0, 1)));
saveOptions.setTiffCompression(TiffCompression.CCITT_4);
saveOptions.setResolution(160f);
doc.save("Your Directory Path" + "SpecificPageMultipage.tiff", saveOptions);

Bước 3: Lưu hình ảnh dưới dạng 1 BPP được lập chỉ mục PNG

Để lưu hình ảnh dưới dạng PNG được lập chỉ mục 1 BPP, hãy làm theo các bước sau:

Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
saveOptions.setPageSet(new PageSet(1));
saveOptions.setImageColorMode(ImageColorMode.BLACK_AND_WHITE);
saveOptions.setPixelFormat(ImagePixelFormat.FORMAT_1_BPP_INDEXED);
doc.save("Your Directory Path" + "1BPPIndexed.png", saveOptions);

Bước 4: Lưu trang dưới dạng JPEG với tùy chỉnh

Để lưu một trang cụ thể dưới dạng JPEG với các tùy chọn tùy chỉnh, hãy sử dụng mã này:

Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
options.setPageSet(new PageSet(0));
options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);
options.setHorizontalResolution(72f);
doc.save("Your Directory Path" + "CustomizedJPEG.jpeg", options);

Bước 5: Sử dụng tính năng gọi lại lưu trang

Bạn có thể sử dụng lệnh gọi lại để tùy chỉnh việc lưu trang. Đây là một ví dụ:

Document doc = new Document("Your Directory Path" + "Rendering.docx");
ImageSaveOptions imageSaveOptions = new ImageSaveOptions(SaveFormat.PNG);
imageSaveOptions.setPageSet(new PageSet(new PageRange(0, doc.getPageCount() - 1)));
imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());
doc.save("Your Directory Path" + "PageSavingCallback.png", imageSaveOptions);
private static class HandlePageSavingCallback implements IPageSavingCallback {
    public void pageSaving(PageSavingArgs args) {
        args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
    }
}

Mã nguồn hoàn chỉnh để lưu hình ảnh từ tài liệu trong Aspose.Words cho Java

public void exposeThresholdControlForTiffBinarization() throws Exception
{
	Document doc = new Document("Your Directory Path" + "Rendering.docx");
	ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
	{
		saveOptions.setTiffCompression(TiffCompression.CCITT_3);
		saveOptions.setImageColorMode(ImageColorMode.GRAYSCALE);
		saveOptions.setTiffBinarizationMethod(ImageBinarizationMethod.FLOYD_STEINBERG_DITHERING);
		saveOptions.setThresholdForFloydSteinbergDithering((byte) 254);
	}
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.ExposeThresholdControlForTiffBinarization.tiff", saveOptions);
}
@Test
public void getTiffPageRange() throws Exception
{
	Document doc = new Document("Your Directory Path" + "Rendering.docx");
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.MultipageTiff.tiff");
	ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.TIFF);
	{
		saveOptions.setPageSet(new PageSet(new PageRange(0, 1))); saveOptions.setTiffCompression(TiffCompression.CCITT_4); saveOptions.setResolution(160f);
	}
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.GetTiffPageRange.tiff", saveOptions);
}
@Test
public void format1BppIndexed() throws Exception
{
	Document doc = new Document("Your Directory Path" + "Rendering.docx");
	ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);
	{
		saveOptions.setPageSet(new PageSet(1));
		saveOptions.setImageColorMode(ImageColorMode.BLACK_AND_WHITE);
		saveOptions.setPixelFormat(ImagePixelFormat.FORMAT_1_BPP_INDEXED);
	}
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.Format1BppIndexed.Png", saveOptions);
}
@Test
public void getJpegPageRange() throws Exception
{
	Document doc = new Document("Your Directory Path" + "Rendering.docx");
	ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
	// Đặt "PageSet" thành "0" để chỉ chuyển đổi trang đầu tiên của tài liệu.
	options.setPageSet(new PageSet(0));
	// Thay đổi độ sáng và độ tương phản của hình ảnh.
	// Cả hai đều có thang điểm 0-1 và ở mức 0,5 theo mặc định.
	options.setImageBrightness(0.3f);
	options.setImageContrast(0.7f);
	// Thay đổi độ phân giải ngang.
	// Giá trị mặc định cho các thuộc tính này là 96,0, cho độ phân giải 96dpi.
	options.setHorizontalResolution(72f);
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.GetJpegPageRange.jpeg", options);
}
@Test
public static void pageSavingCallback() throws Exception
{
	Document doc = new Document("Your Directory Path" + "Rendering.docx");
	ImageSaveOptions imageSaveOptions = new ImageSaveOptions(SaveFormat.PNG);
	{
		imageSaveOptions.setPageSet(new PageSet(new PageRange(0, doc.getPageCount() - 1)));
		imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());
	}
	doc.save("Your Directory Path" + "WorkingWithImageSaveOptions.PageSavingCallback.png", imageSaveOptions);
}
private static class HandlePageSavingCallback implements IPageSavingCallback
{
	public void pageSaving(PageSavingArgs args)
	{
		args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
	}

Phần kết luận

Bạn đã học cách lưu hình ảnh từ tài liệu bằng Aspose.Words cho Java. Những ví dụ này minh họa các tùy chọn tùy chỉnh khác nhau để lưu hình ảnh, bao gồm định dạng, nén và sử dụng gọi lại. Khám phá nhiều khả năng hơn với Aspose.Words cho các khả năng mạnh mẽ của Java.

Câu hỏi thường gặp

Làm cách nào để thay đổi định dạng hình ảnh khi lưu bằng Aspose.Words cho Java?

Bạn có thể thay đổi định dạng hình ảnh bằng cách chỉ định định dạng mong muốn trongImageSaveOptions . Ví dụ: để lưu dưới dạng PNG, hãy sử dụngSaveFormat.PNG như được hiển thị trong mã:

ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

Tôi có thể tùy chỉnh cài đặt nén cho hình ảnh TIFF không?

Có, bạn có thể tùy chỉnh cài đặt nén ảnh TIFF. Ví dụ: để đặt phương pháp nén thành CCITT_3, hãy sử dụng mã sau:

saveOptions.setTiffCompression(TiffCompression.CCITT_3);

Làm cách nào tôi có thể lưu một trang cụ thể từ tài liệu dưới dạng hình ảnh riêng biệt?

Để lưu một trang cụ thể dưới dạng hình ảnh, hãy sử dụngsetPageSetphương pháp trongImageSaveOptions . Ví dụ: để chỉ lưu trang đầu tiên, hãy đặtPageSet ĐẾNnew PageSet(0).

saveOptions.setPageSet(new PageSet(0)); // Lưu trang đầu tiên dưới dạng hình ảnh

Làm cách nào để áp dụng cài đặt tùy chỉnh cho hình ảnh JPEG khi lưu?

Bạn có thể áp dụng cài đặt tùy chỉnh cho hình ảnh JPEG bằng cách sử dụngImageSaveOptions. Điều chỉnh các thuộc tính như độ sáng, độ tương phản và độ phân giải. Ví dụ: để thay đổi độ sáng thành 0,3 và độ tương phản thành 0,7, hãy sử dụng mã này:

options.setImageBrightness(0.3f);
options.setImageContrast(0.7f);

Làm cách nào tôi có thể sử dụng lệnh gọi lại để tùy chỉnh việc lưu hình ảnh?

Để sử dụng lệnh gọi lại để tùy chỉnh việc lưu hình ảnh, hãy đặtPageSavingCallback TRONGImageSaveOptions . Tạo một lớp thực hiện cácIPageSavingCallback giao diện và ghi đèpageSaving phương pháp.

imageSaveOptions.setPageSavingCallback(new HandlePageSavingCallback());

Sau đó, tạo một lớp thực hiệnIPageSavingCallback giao diện và tùy chỉnh tên tập tin và vị trí trongpageSaving phương pháp.

private static class HandlePageSavingCallback implements IPageSavingCallback {
    public void pageSaving(PageSavingArgs args) {
        args.setPageFileName(MessageFormat.format("Your Directory Path" + "Page_{0}.png", args.getPageIndex()));
    }
}