Kết xuất kho lưu trữ ZIP bằng C#

Tệp ZIP chứa một hoặc nhiều tệp hoặc thư mục nén để hoạt động như một tệp duy nhất. Chúng được sử dụng rộng rãi để tiết kiệm dung lượng lưu trữ và tăng hiệu suất máy tính của bạn. Bạn có thể chuyển các tập tin và thư mục của mình trong kho lưu trữ ZIP từ vị trí này sang vị trí khác một cách hiệu quả. Là nhà phát triển C#, bạn có thể dễ dàng hiển thị các kho lưu trữ ZIP và xem nội dung của chúng theo chương trình. Bài viết này sẽ tập trung vào cách hiển thị các kho lưu trữ ZIP bằng C#.

Các chủ đề sau được thảo luận/đề cập trong bài viết này:

API C# để xem tệp ZIP

Để hiển thị các tệp ZIP, tôi sẽ sử dụng GroupDocs.Viewer for .NET API. Đây là API xem tài liệu mạnh mẽ hỗ trợ hơn 170 loại tệp và tài liệu. API cung cấp giải pháp xem tài liệu linh hoạt nhất để kết xuất và hiển thị các định dạng tệp được sử dụng rộng rãi ở mọi nơi mà không cần cài đặt bất kỳ phần mềm bên ngoài nào. Nó cũng cho phép bạn xem nhanh PDF, HTML, XML, Microsoft Office Word, bảng tính Excel, bản trình bày PowerPoint, email Outlook, sơ đồ Visio, Project, siêu tệp, hình ảnh và nhiều định dạng tệp khác một cách dễ dàng và ít nguy hiểm hơn khi lập trình.

Bạn có thể tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

Install-Package GroupDocs.Viewer

Hiển thị kho lưu trữ ZIP dưới dạng HTML

Bạn có thể hiển thị tệp ZIP bằng HTML bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo một thể hiện của lớp HtmlViewOptions
  4. Cung cấp đường dẫn tập tin đầu ra
  5. Gọi phương thức View() và truyền HtmlViewOptions

Mẫu mã sau đây cho biết cách hiển thị tệp ZIP trong HTML bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// xác định các tùy chọn xem HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
viewOptions.RenderToSinglePage = true;

// tạo chế độ xem
viewer.View(viewOptions);
Hiển thị kho lưu trữ ZIP dưới dạng HTML

Hiển thị kho lưu trữ ZIP dưới dạng HTML

Lớp Viewer là lớp chính cung cấp chức năng kiểm soát quá trình kết xuất tài liệu. Phương thức View() của lớp này tạo ra chế độ xem của tất cả các trang tài liệu.

Lớp HtmlViewOptions cung cấp các tùy chọn để hiển thị tài liệu sang định dạng HTML. Phương thức khởi tạo ForEmbeddedResources tạo một phiên bản mới của lớp HtmlViewOptions để hiển thị thành HTML với các tài nguyên được nhúng. Như bạn có thể thấy, tôi đã cung cấp đường dẫn tệp đầu ra trong ví dụ mã.

Bạn có thể tìm thêm thông tin chi tiết về “Trình xem HTML tài liệu" trong tài liệu.

Kết xuất thư mục cụ thể từ kho lưu trữ ZIP trong HTML

Bạn có thể hiển thị một thư mục cụ thể có sẵn bên trong tệp ZIP ở dạng HTML bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo một thể hiện của lớp HtmlViewOptions
  4. Cung cấp đường dẫn tập tin đầu ra
  5. Đặt tên thư mục để hiển thị
  6. Gọi phương thức View() và truyền HtmlViewOptions

Mẫu mã sau đây cho biết cách hiển thị một thư mục cụ thể từ tệp ZIP trong HTML bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// xác định các tùy chọn xem HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// đặt tên thư mục
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// tạo chế độ xem
viewer.View(viewOptions);
Kết xuất thư mục cụ thể từ kho lưu trữ ZIP trong HTML

Kết xuất thư mục cụ thể từ kho lưu trữ ZIP trong HTML

Lớp ArchiveOptions cung cấp các tùy chọn để hiển thị các tệp lưu trữ. Nó cho phép bạn hiển thị một thư mục cụ thể từ kho lưu trữ ZIP bằng cách cung cấp tên của thư mục có sẵn bên trong kho lưu trữ.

Xem nội dung của kho lưu trữ ZIP dưới dạng PDF

Bạn có thể hiển thị tệp ZIP trong tài liệu PDF bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo một thể hiện của lớp PdfViewOptions
  4. Cung cấp đường dẫn tập tin đầu ra
  5. Gọi phương thức View() và truyền PdfViewOptions

Mẫu mã sau đây cho biết cách hiển thị tệp ZIP ở dạng PDF bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// xác định các tùy chọn xem PDF
PdfViewOptions options = new PdfViewOptions("C:\\Files\\output.pdf");

// tạo chế độ xem
viewer.View(viewOptions);
Xem nội dung của kho lưu trữ ZIP dưới dạng PDF

Xem nội dung của kho lưu trữ ZIP dưới dạng PDF

Lớp PdfViewOptions cung cấp các tùy chọn để hiển thị tài liệu sang định dạng PDF. Bạn có thể tìm thêm thông tin chi tiết về “Document PDF Viewer" trong tài liệu.

Kết xuất kho lưu trữ ZIP sang JPG

Bạn có thể hiển thị tệp ZIP ở dạng ảnh JPG bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo một thể hiện của lớp JpgViewOptions
  4. Cung cấp đường dẫn tập tin đầu ra
  5. Gọi phương thức View() và truyền JpgViewOptions

Mẫu mã sau đây cho biết cách hiển thị tệp ZIP ở dạng ảnh JPG bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// xác định các tùy chọn xem JPG
JpgViewOptions options = new JpgViewOptions("C:\\Files\\output_page_{0}.jpg");

// tạo chế độ xem
viewer.View(viewOptions);
Kết xuất kho lưu trữ ZIP sang JPG

Kết xuất kho lưu trữ ZIP sang JPG

Bạn có thể kết xuất tài liệu sang định dạng hình ảnh JPG hoặc PNG. Lớp JpgViewOptions cung cấp các tùy chọn để hiển thị tài liệu sang định dạng JPG. Tương tự, lớp PngViewOptions cung cấp các tùy chọn để hiển thị tài liệu sang định dạng PNG.

Bạn có thể tìm thêm thông tin chi tiết về “Document Image Viewer" trong tài liệu.

Nhận danh sách các thư mục từ kho lưu trữ ZIP

Bạn có thể lấy danh sách tất cả các thư mục và thư mục con từ tệp ZIP theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo ViewInfoOptions
  4. Tạo phiên bản ViewInfo bằng cách gọi phương thức GetViewInfo()
  5. Nhận ArchiveViewInfo
  6. Hiển thị kết quả

Mẫu mã sau đây cho biết cách lấy danh sách các thư mục từ tệp ZIP bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// tạo tùy chọn xem thông tin
ViewInfoOptions viewInfoOptions = ViewInfoOptions.ForHtmlView();
ViewInfo viewInfo = viewer.GetViewInfo(viewInfoOptions);

Console.WriteLine("File type: " + viewInfo.FileType);
Console.WriteLine("Pages count: " + viewInfo.Pages.Count);
Console.WriteLine("Folders: ");
Console.WriteLine(" - /");

string rootFolder = string.Empty;
viewInfoOptions.ArchiveOptions.Folder = rootFolder;

// lấy thông tin xem
ArchiveViewInfo viewFolderInfo = viewer.GetViewInfo(viewInfoOptions) as ArchiveViewInfo;

foreach (string subFolder in viewFolderInfo.Folders)
{
    Console.WriteLine($" - {subFolder}");
    PrintFolders(viewer, subFolder);
}
Nhận danh sách các thư mục từ kho lưu trữ ZIP

Nhận danh sách các thư mục từ kho lưu trữ ZIP

Lớp ViewInfoOptions cung cấp các tùy chọn được sử dụng để truy xuất thông tin về chế độ xem. Nó cung cấp nhiều phương pháp khác nhau để lấy thông tin xem cho các định dạng cụ thể. Tôi đã sử dụng phương thức ForHtmlView() để khởi tạo một phiên bản mới của lớp ViewInfoOptions để truy xuất thông tin về chế độ xem khi hiển thị thành HTML.

Lớp ViewInfo cung cấp thông tin xem cho các tài liệu chung. Phương thức GetViewInfo() của lớp Viewer trả về thông tin về chế độ xem và thông tin cụ thể về tài liệu.

Lớp ArchiveViewInfo cung cấp thông tin xem cho tệp lưu trữ.

Kết xuất và đổi tên tệp ZIP

Bạn có thể đổi tên các tệp ZIP trong khi hiển thị theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Viewer
  2. Cung cấp đường dẫn tệp đầu vào
  3. Tạo một thể hiện của lớp PdfViewOptions
  4. Cung cấp đường dẫn tập tin đầu ra
  5. Đặt tên tệp mới để hiển thị
  6. Gọi phương thức View() và truyền PdfViewOptions

Mẫu mã sau đây cho biết cách đổi tên tệp ZIP trong khi hiển thị bằng C#.

// khởi tạo trình xem
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// xác định các tùy chọn xem PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\output.pdf");
// đặt tên tập tin mới
viewOptions.ArchiveOptions.FileName = new FileName("MyFiles");

viewer.View(viewOptions);
Kết xuất và đổi tên tệp ZIP

Kết xuất và đổi tên tệp ZIP

Lớp ArchiveOptions cung cấp thuộc tính FileName được sử dụng để hiển thị tên tệp trong tiêu đề. Bạn có thể đặt tên hiển thị mới như trong ví dụ mã ở trên. Theo mặc định, nó hiển thị tên của tệp nguồn.

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, bạn đã học cách hiển thị các kho lưu trữ ZIP bằng C#. Bạn cũng đã học cách chuyển đổi và xem nội dung của tệp ZIP ở dạng hình ảnh HTML, PDF và JPG. Hơn nữa, bạn đã học cách lấy danh sách các thư mục và thư mục con từ kho lưu trữ ZIP theo chương trình trong C#. Bạn có thể tìm hiểu thêm về GroupDocs.Viewer cho .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm