Bạn thường có thể cần tạo hình thu nhỏ trong khi nhúng tài liệu PDF vào ứng dụng web. Ngoài ra, cần có hình thu nhỏ của các trang khi tạo trình xem PDF. Đối với những trường hợp như vậy, bài viết này trình bày cách tạo hình thu nhỏ của tệp PDF theo chương trình trong C# .NET. Chúng tôi sẽ trình bày rõ ràng cách tạo hình thu nhỏ của một trang cụ thể hoặc tất cả các trang trong tệp PDF.
- .NET API để tạo hình thu nhỏ của PDF
- Tạo hình thu nhỏ của tệp PDF
- Tạo hình thu nhỏ của tất cả các trang trong PDF
C# .NET API để tạo hình thu nhỏ của PDF
Aspose.PDF for .NET là thư viện lớp C# cho phép bạn tạo và thao tác các tài liệu PDF trong các ứng dụng .NET. Sử dụng API, bạn có thể thực hiện các thao tác tự động hóa PDF cơ bản cũng như nâng cao khá dễ dàng. Chúng tôi sẽ sử dụng API này để tạo hình thu nhỏ của tệp PDF. Có thể tải xuống API dưới dạng DLL hoặc cài đặt qua NuGet.
PM> Install-Package Aspose.Pdf
Tạo hình thu nhỏ của tệp PDF trong C# .NET
Thông thường, bạn phải tạo một hình ảnh thu nhỏ duy nhất cho tài liệu PDF. Trang cho hình thu nhỏ có thể là trang bìa hoặc bất kỳ trang nào khác mà bạn chọn. Sau đây là các bước để tạo hình thu nhỏ của trang mong muốn của tệp PDF trong C#.
- Tải tệp PDF bằng lớp Tài liệu.
- Tham khảo trang mong muốn từ bộ sưu tập Document.Pages.
- Tạo FileStream mới cho tệp hình ảnh.
- Tạo một thể hiện của lớp Độ phân giải để đặt độ phân giải của hình ảnh thu nhỏ.
- Khởi tạo JpegDevice và đặt chiều cao, chiều rộng, độ phân giải và chất lượng của hình ảnh.
- Tạo hình thu nhỏ bằng phương pháp JpegDevice.Process (Trang, FileStream).
- Đóng luồng tệp.
Mẫu mã sau đây cho thấy cách tạo hình thu nhỏ của tệp PDF trong C#.
// Mở tài liệu
Document pdfDocument = new Document("file.pdf");
int pageIndex = 0;
// Nhận trang chỉ mục mong muốn từ bộ sưu tập
var page = pdfDocument.Pages[pageIndex];
// Tạo luồng cho tệp hình ảnh
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
// Tạo đối tượng Độ phân giải
Resolution resolution = new Resolution(300);
// Tạo một phiên bản của JpegDevice và đặt chiều cao, chiều rộng, độ phân giải và chất lượng của hình ảnh
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
jpegDevice.Process(page, imageStream);
// Đóng luồng
imageStream.Close();
}
Tạo hình thu nhỏ của tất cả các trang trong PDF trong C#
Sau đây là các bước để tạo hình thu nhỏ cho tất cả các trang PDF trong C#.
- Tải tệp PDF bằng lớp Tài liệu.
- Lặp lại tất cả các trang trong PDF bằng bộ sưu tập Document.Pages.
- Trong mỗi lần lặp, hãy thực hiện các thao tác sau:
- Tạo FileStream mới cho tệp hình ảnh.
- Tạo một thể hiện của lớp Độ phân giải để đặt độ phân giải của hình ảnh thu nhỏ.
- Khởi tạo JpegDevice và đặt chiều cao, chiều rộng, độ phân giải và chất lượng của hình ảnh.
- Tạo hình thu nhỏ bằng phương pháp JpegDevice.Process (Trang, FileStream).
- Đóng luồng tệp.
Mẫu mã sau đây cho thấy cách tạo hình thu nhỏ cho tất cả các trang trong PDF.
// Mở tài liệu
Document pdfDocument = new Document("file.pdf");
// Lặp lại các trang
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
// Tạo luồng cho từng hình ảnh
using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
{
// Tạo đối tượng Độ phân giải
Resolution resolution = new Resolution(300);
// Tạo một phiên bản của JpegDevice và đặt chiều cao, chiều rộng, độ phân giải và chất lượng của hình ảnh
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
// Đóng luồng
imageStream.Close();
}
}
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.PDF for .NET mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách tạo hình thu nhỏ cho tệp PDF trong C#. Bạn đã thấy cách tạo hình thu nhỏ của một trang cụ thể hoặc tất cả các trang trong tệp PDF. Bên cạnh đó, bạn có thể khám phá thêm về C# PDF API bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.