From 67e2ab672d898e8619f0e0c2ae36604e90c5f09d Mon Sep 17 00:00:00 2001 From: Muhammad Adil Date: Sat, 26 Sep 2026 14:12:30 +0000 Subject: [PATCH] Add 1 html net tutorials Categories: generate-jpg-and-png-images, html-extensions-and-conversions Source: AI Search API Tutorials: - How to save HTML as ZIP in C# using Aspose.HTML Auto-generated by Professionalize.Tutorials Agent --- .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 301 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 3 + .../_index.md | 300 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 5 +- .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 10 +- .../_index.md | 303 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 3 +- .../_index.md | 304 +++++++++++++++++ .../og-image.png | Bin 0 -> 47539 bytes .../html-extensions-and-conversions/_index.md | 5 +- .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 230 +++++++++++-- .../_index.md | 305 ++++++++++++++++++ .../html-extensions-and-conversions/_index.md | 3 + .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 21 +- .../_index.md | 303 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 300 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 6 +- .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 5 +- .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 6 +- .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 4 +- .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 303 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 2 + .../_index.md | 302 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 5 +- .../_index.md | 303 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 9 +- .../_index.md | 304 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 5 +- .../_index.md | 303 +++++++++++++++++ .../html-extensions-and-conversions/_index.md | 8 +- .../_index.md | 304 +++++++++++++++++ 47 files changed, 7245 insertions(+), 62 deletions(-) create mode 100644 html/arabic/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/chinese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/czech/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/dutch/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/og-image.png create mode 100644 html/french/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/german/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/greek/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/hindi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/hongkong/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/hungarian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/indonesian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/italian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/japanese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/korean/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/polish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/portuguese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/russian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/spanish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/swedish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/thai/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/turkish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md create mode 100644 html/vietnamese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md diff --git a/html/arabic/net/html-extensions-and-conversions/_index.md b/html/arabic/net/html-extensions-and-conversions/_index.md index 9b97cd9b69..d0d551eb27 100644 --- a/html/arabic/net/html-extensions-and-conversions/_index.md +++ b/html/arabic/net/html-extensions-and-conversions/_index.md @@ -103,6 +103,8 @@ url: /ar/net/html-extensions-and-conversions/ تعلم كيفية حفظ صفحة ويب كملف HTML واحد باستخدام Aspose.HTML في C#. ### [حفظ HTML كملف ZIP – دليل C# كامل](./save-html-to-zip-in-c-complete-guide/) تعلم كيفية حفظ مستند HTML كملف ZIP في C# باستخدام Aspose.HTML خطوة بخطوة. +### [كيفية حفظ HTML كملف ZIP في C# باستخدام Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +تعلم كيفية حفظ ملفات HTML كملفات ZIP باستخدام C# ومكتبة Aspose.HTML. ## خاتمة diff --git a/html/arabic/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/arabic/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..81adf7de65 --- /dev/null +++ b/html/arabic/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,301 @@ +--- +category: general +date: 2026-09-26 +description: تعلم كيفية حفظ HTML كملف ZIP في C# باستخدام Aspose.HTML. يوضح هذا الدليل + خطوة بخطوة أيضًا كيفية تحويل HTML إلى ملف ZIP للتوزيع غير المتصل. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: ar +lastmod: 2026-09-26 +og_description: احفظ HTML كملف ZIP في C# باستخدام Aspose.HTML. اتبع هذا البرنامج التعليمي + لتحويل HTML إلى ملف ZIP، ومعالجة الموارد، وإنشاء أرشيف محمول. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: حفظ HTML كملف ZIP في C# – دليل Aspose.HTML الكامل +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: كيفية حفظ HTML كملف ZIP في C# باستخدام Aspose.HTML +url: /ar/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية حفظ HTML كملف ZIP في C# باستخدام Aspose.HTML + +إذا كنت بحاجة إلى **حفظ HTML كملف ZIP** في تطبيق .NET، يوضح لك هذا الدليل حلاً كاملاً. سترى كيفية تحويل HTML إلى ملف ZIP، تضمين الموارد، وكتابة الأرشيف إلى القرص ببضع أسطر فقط من كود C#. + +يكون حفظ HTML كملف ZIP مفيدًا عندما تريد توزيع صفحة ويب مستقلة، تضمين معاينة في بريد إلكتروني، أو أرشفة تقارير مُولدة. تعمل الطريقة مع أي سلسلة HTML أو ملف، وتتطلب فقط مكتبة Aspose.HTML. + +في هذا الدرس ستقوم بـ: +* إنشاء `HTMLDocument` من سلسلة أو ملف موجود. +* تنفيذ `ResourceHandler` مخصص بحيث يتم حزم الصور وCSS أو السكريبتات بشكل صحيح. +* تكوين `HTMLSaveOptions` لتوجيه الناتج إلى أرشيف ZIP. +* التحقق من أن `output.zip` الناتج يحتوي على الملفات المتوقعة. + +**المتطلبات المسبقة** + +* .NET 6.0 أو أحدث (الكود يعمل أيضًا مع .NET Core 3.1+). +* نسخة مرخصة من **Aspose.HTML for .NET** – النسخة التجريبية المجانية تعمل للتقييم. +* Visual Studio 2022 أو أي بيئة تطوير C# تفضلها. + +--- + +## الخطوة 1: تثبيت حزمة Aspose.HTML عبر NuGet + +افتح مجلد المشروع في الطرفية وشغّل: + +```bash +dotnet add package Aspose.HTML +``` + +تضيف الحزمة مساحة الاسم `Aspose.Html`، التي تحتوي على الفئات التي تحتاجها **لحفظ HTML كملف ZIP**. + +--- + +## الخطوة 2: تعريف معالج موارد مخصص + +عند حفظ Aspose.HTML مستند إلى أرشيف ZIP، يطلب `ResourceHandler` لكل مورد خارجي (صور، خطوط، CSS). يتيح لك توفير معالج التحكم فيما يُدرج في الأرشيف. المعالج التالي يُعيد تدفقًا فارغًا لأي مورد مطلوب، لكن يمكنك توسيعه لقراءة ملفات حقيقية. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**لماذا المعالج مهم** – بدون ذلك، سيقوم Aspose.HTML بدمج فقط العلامات HTML ويتجاهل الملفات الخارجية، مما ينتج صفحة مكسورة عند فك ضغط ZIP. من خلال تنفيذ `HandleResource`، تضمن أن الأرشيف المُولد يعمل بشكل كامل. + +--- + +## الخطوة 3: إنشاء مستند HTML + +يمكنك تحميل HTML من سلسلة، مسار ملف، أو `Stream`. هنا نستخدم سلسلة بسيطة تحتوي على عنوان. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +إذا كنت تفضل التحميل من ملف، استبدل المُنشئ بـ: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## الخطوة 4: تكوين خيارات الحفظ لاستخدام المعالج المخصص + +`HTMLSaveOptions` يتيح لك تحديد تنسيق الإخراج. ضبط خاصية `ResourceHandler` يطلب من Aspose.HTML استدعاء `MyHandler` لكل مرجع خارجي. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +يمكنك أيضًا تعديل `CompressionLevel` إذا كنت بحاجة إلى أرشيف أصغر: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## الخطوة 5: حفظ المستند في أرشيف ZIP + +الآن اكتب HTML (وأي موارد) إلى ملف ZIP. يشير `FileStream` إلى مسار الوجهة؛ يقوم Aspose.HTML تلقائيًا بإنشاء بنية الأرشيف. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### النتيجة المتوقعة + +بعد تشغيل الكود، سيحتوي `output.zip` على: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +افتح ملف ZIP، استخرج `index.html`، وانقر مزدوجًا عليه في المتصفح. يجب أن ترى عنوان “Hello, World!”، مما يؤكد أنك نجحت في **تحويل HTML إلى ملف ZIP**. + +--- + +## الاختلافات الشائعة وحالات الحافة + +| الحالة | كيفية تعديل الكود | +|-----------|-----------------------| +| **إدراج صور حقيقية** | في `MyHandler.HandleResource`، اقرأ ملف الصورة من القرص وأعد `FileStream` الخاص به. | +| **صفحات HTML متعددة** | أنشئ مثيلات منفصلة من `HTMLDocument` واستدعِ `doc.Save` لكل منها، باستخدام نفس `HTMLSaveOptions`. | +| **هيكل مجلد مخصص** | عيّن `saveOptions.PreserveEmbeddedResources = true` وتحكم في مجلد الإخراج عبر `ResourceHandler`. | +| **سلاسل HTML الكبيرة** | استخدم `MemoryStream` لمصدر HTML لتجنب تحميل السلسلة بالكامل في الذاكرة. | +| **ZIP محمي بكلمة مرور** | Aspose.HTML لا يقوم بتشفير ملفات ZIP مباشرة؛ غلف `FileStream` بمكتبة ZIP طرف ثالث بعد الحفظ. | + +**نصيحة احترافية:** احرص دائمًا على التخلص من `HTMLDocument` وأي تدفقات باستخدام عبارات `using` لتحرير الموارد غير المُدارة بسرعة. + +--- + +## مثال كامل قابل للتنفيذ + +فيما يلي البرنامج الكامل الذي يمكنك نسخه، لصقه، وتشغيله. يوضح كامل سير عمل **حفظ HTML كملف ZIP** من البداية حتى النهاية. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +شغّل البرنامج (`dotnet run` إذا أنشأت مشروعًا كونسول). عند الانتهاء، ستظهر رسالة تأكيد مع مسار `output.zip`. + +--- + +## التحقق من التحويل + +1. انتقل إلى مجلد `output` الذي أنشأه البرنامج. +2. انقر بزر الماوس الأيمن على `output.zip` → **Extract All…**. +3. افتح `index.html` المستخرج في أي متصفح. +4. يجب أن ترى العنوان **Hello, World!**. + +إذا تم تحميل الصفحة دون فقدان الصور أو CSS، فقد نجحت في **تحويل HTML إلى ملف ZIP**. + +--- + +## استكشاف المشكلات الشائعة + +* **ملف ZIP فارغ** – تأكد من استدعاء `doc.Save` *بعد* تعيين `ResourceHandler`. يجب أن يكون المعالج غير فارغ (non‑null) لكي يحدث التحويل. +* **موارد مفقودة** – قم بتوسيع `MyHandler` لتحديد موقع الملفات على القرص أو في قاعدة بيانات. أعد `FileStream` الذي يشير إلى المورد الفعلي. +* **أخطاء أذونات** – تحقق من أن التطبيق يمتلك صلاحية كتابة إلى الدليل المستهدف. استخدم `Directory.CreateDirectory` لضمان وجود المجلد. +* **الأرشيفات الكبيرة تستغرق وقتًا طويلاً** – زد `CompressionLevel` إلى `CompressionLevel.Fastest` لتسريع المعالجة على حساب ملف أكبر. + +--- + +## الخطوات التالية + +الآن بعد أن يمكنك **حفظ HTML كملف ZIP**، قد ترغب في استكشاف: + +* **تضمين CSS وJavaScript** – أضفها إلى ZIP بإرجاع التدفقات المناسبة في `MyHandler`. +* **إنشاء ملفات PDF من نفس HTML** – استخدم `HTMLSaveOptions` مع `PdfSaveOptions` لتصدير PDF جنبًا إلى جنب. +* **المعالجة الدفعية** – كرّر عبر مجموعة من سلاسل HTML أو الملفات وأنشئ ZIP منفصل لكل منها. + +تتيح لك هذه الإضافات بناء خطوط أنابيب توليد مستندات قوية تخدم كلًا من السيناريوهات الويبية والغير متصلة. + +--- + +## الخلاصة + +لقد تعلمت كيفية **حفظ HTML كملف ZIP** في C# باستخدام Aspose.HTML، مع تغطية كل شيء من تثبيت المكتبة إلى كتابة `ResourceHandler` مخصص والتحقق من الناتج. باتباع الخطوات أعلاه يمكنك بثقة **تحويل HTML إلى ملف ZIP**، حزم الموارد، وتقديم محتوى ويب محمول من أي تطبيق .NET. برمجة سعيدة! + +## ما الذي يجب أن تتعلمه بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مصدر يتضمن أمثلة كود كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف أساليب تنفيذ بديلة في مشاريعك. + +- [كيفية ضغط HTML في C# – حفظ HTML إلى Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [إنشاء ملف zip في C# – دليل خطوة بخطوة لضغط HTML في الذاكرة](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [معالج موارد مخصص في C# – دليل تحويل HTML إلى ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/chinese/net/html-extensions-and-conversions/_index.md b/html/chinese/net/html-extensions-and-conversions/_index.md index 2a6f1f697e..5080f26e87 100644 --- a/html/chinese/net/html-extensions-and-conversions/_index.md +++ b/html/chinese/net/html-extensions-and-conversions/_index.md @@ -120,6 +120,9 @@ Aspose.HTML for .NET 不仅仅是一个库;它是 Web 开发领域的变革者 ### [使用 Aspose.HTML 在 C# 中将 HTML 保存为 ZIP – 完整指南](./save-html-to-zip-in-c-complete-guide/) 使用 Aspose.HTML for .NET 在 C# 中完整演示如何将 HTML 保存为 ZIP 文件的步骤。 +### [使用 Aspose.HTML 在 C# 中将 HTML 保存为 ZIP](./how-to-save-html-as-zip-in-c-using-aspose-html/) +使用 Aspose.HTML for .NET 在 C# 中将 HTML 打包为 ZIP 的完整步骤指南,包含代码示例和关键设置。 + ## 结论 总之,HTML 扩展和转换是现代 Web 开发的基本要素。Aspose.HTML for .NET 简化了该过程,使各个级别的开发人员都可以使用它。通过学习我们的教程,您将成为一名拥有广泛技能的熟练 Web 开发人员。 diff --git a/html/chinese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/chinese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..01453743bb --- /dev/null +++ b/html/chinese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,300 @@ +--- +category: general +date: 2026-09-26 +description: 学习如何在 C# 中使用 Aspose.HTML 将 HTML 保存为 ZIP。本分步指南还展示了如何将 HTML 转换为 ZIP 文件,以便离线分发。 +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: zh +lastmod: 2026-09-26 +og_description: 使用 Aspose.HTML 在 C# 中将 HTML 保存为 ZIP。按照本教程将 HTML 转换为 ZIP 文件,处理资源,并生成可移植的归档。 +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: 在 C# 中将 HTML 保存为 ZIP – 完整的 Aspose.HTML 指南 +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: 如何在 C# 中使用 Aspose.HTML 将 HTML 保存为 ZIP +url: /zh/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中使用 Aspose.HTML 将 HTML 保存为 ZIP + +如果您需要在 .NET 应用程序中 **将 HTML 保存为 ZIP**,本指南将为您提供完整的解决方案。您将看到如何将 HTML 转换为 ZIP 文件、嵌入资源,并仅用几行 C# 代码将归档写入磁盘。 + +将 HTML 保存为 ZIP 在以下场景中非常有用:分发自包含的网页、在电子邮件中嵌入预览,或归档生成的报告。此方法适用于任何 HTML 字符串或文件,并且仅需 Aspose.HTML 库。 + +在本教程中,您将: + +* 从字符串或现有文件创建 `HTMLDocument`。 +* 实现自定义 `ResourceHandler`,以便正确打包图像、CSS 或脚本。 +* 配置 `HTMLSaveOptions` 将输出定向到 ZIP 归档。 +* 验证生成的 `output.zip` 包含预期的文件。 + +**先决条件** + +* .NET 6.0 或更高版本(代码同样适用于 .NET Core 3.1+)。 +* 已授权的 **Aspose.HTML for .NET** 副本——免费试用可用于评估。 +* Visual Studio 2022 或您喜欢的任何 C# IDE。 + +--- + +## 第一步:安装 Aspose.HTML NuGet 包 + +在终端中打开项目文件夹并运行: + +```bash +dotnet add package Aspose.HTML +``` + +该包会添加 `Aspose.Html` 命名空间,其中包含 **将 HTML 保存为 ZIP** 所需的类。 + +--- + +## 第二步:定义自定义资源处理程序 + +当 Aspose.HTML 将文档保存为 ZIP 归档时,它会为每个外部资源(图像、字体、CSS)请求 `ResourceHandler`。提供处理程序可让您控制归档中包含的内容。下面的处理程序为任何请求的资源返回空流,您可以扩展它以读取真实文件。 + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**处理程序为何重要** —— 如果没有它,Aspose.HTML 只会嵌入 HTML 标记而忽略外部文件,导致解压后页面破碎。通过实现 `HandleResource`,您可以确保生成的归档完整可用。 + +--- + +## 第三步:创建 HTML 文档 + +您可以从字符串、文件路径或 `Stream` 加载 HTML。这里我们使用包含标题的简单字符串。 + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +如果您更倾向于从文件加载,只需将构造函数替换为: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## 第四步:配置保存选项以使用自定义处理程序 + +`HTMLSaveOptions` 允许您指定输出格式。设置其 `ResourceHandler` 属性即可让 Aspose.HTML 在每次外部引用时调用 `MyHandler`。 + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +如果需要更小的归档,还可以调整 `CompressionLevel`: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## 第五步:将文档保存为 ZIP 归档 + +现在将 HTML(以及任何资源)写入 ZIP 文件。`FileStream` 指向目标路径;Aspose.HTML 会自动创建归档结构。 + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### 预期结果 + +代码运行后,`output.zip` 将包含: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +打开 ZIP,提取 `index.html`,在浏览器中双击打开。您应看到 “Hello, World!” 标题,表明已成功 **将 HTML 转换为 ZIP 文件**。 + +--- + +## 常见变体和边缘情况 + +| 情况 | 代码适配方式 | +|-----------|-----------------------| +| **嵌入真实图像** | 在 `MyHandler.HandleResource` 中,从磁盘读取图像文件并返回其 `FileStream`。 | +| **多个 HTML 页面** | 为每个页面创建单独的 `HTMLDocument` 实例,并使用相同的 `HTMLSaveOptions` 调用 `doc.Save`。 | +| **自定义文件夹结构** | 设置 `saveOptions.PreserveEmbeddedResources = true` 并通过 `ResourceHandler` 控制输出文件夹。 | +| **大型 HTML 字符串** | 使用 `MemoryStream` 作为源 HTML,避免一次性将整个字符串加载到内存中。 | +| **受密码保护的 ZIP** | Aspose.HTML 本身不直接加密 ZIP;保存后可使用第三方 ZIP 库对 `FileStream` 进行包装。 | + +**专业提示**:始终使用 `using` 语句释放 `HTMLDocument` 和任何流,以及时释放非托管资源。 + +--- + +## 完整可运行示例 + +下面是完整程序,您可以复制、粘贴并运行。它演示了从头到尾的 **将 HTML 保存为 ZIP** 工作流。 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +运行程序(如果是控制台项目,使用 `dotnet run`)。完成后,您会看到一条确认信息,指示 `output.zip` 的路径。 + +--- + +## 验证转换 + +1. 进入程序创建的 `output` 文件夹。 +2. 右键单击 `output.zip` → **Extract All…**。 +3. 在任意浏览器中打开提取出的 `index.html`。 +4. 您应看到标题 **Hello, World!**。 + +如果页面加载时没有缺失图像或 CSS,则已成功 **将 HTML 转换为 ZIP 文件**。 + +--- + +## 常见问题排查 + +* **ZIP 为空** —— 确保在分配 `ResourceHandler` *之后* 调用 `doc.Save`。处理程序必须非空,转换才会进行。 +* **资源缺失** —— 扩展 `MyHandler`,在磁盘或数据库中定位文件。返回指向实际资源的 `FileStream`。 +* **权限错误** —— 验证应用程序对目标目录具有写入权限。使用 `Directory.CreateDirectory` 确保文件夹已存在。 +* **大型归档耗时** —— 将 `CompressionLevel` 提升为 `CompressionLevel.Fastest`,以加快处理速度(代价是文件体积更大)。 + +--- + +## 后续步骤 + +现在您已经能够 **将 HTML 保存为 ZIP**,可以进一步探索: + +* **嵌入 CSS 和 JavaScript** —— 在 `MyHandler` 中返回相应流,将它们加入 ZIP。 +* **从同一 HTML 生成 PDF** —— 使用 `HTMLSaveOptions` 配合 `PdfSaveOptions` 实现并行的 PDF 导出。 +* **批量处理** —— 遍历 HTML 字符串或文件集合,为每个生成单独的 ZIP。 + +这些扩展可帮助您构建既支持网页又支持离线场景的强大文档生成管道。 + +--- + +## 结论 + +您已学习如何在 C# 中使用 Aspose.HTML **将 HTML 保存为 ZIP**,涵盖了从安装库到编写自定义 `ResourceHandler` 再到验证输出的全部步骤。遵循上述步骤,您可以可靠地 **将 HTML 转换为 ZIP 文件**,打包资源,并从任何 .NET 应用程序交付可移植的网页内容。祝编码愉快! + +## 接下来应该学习什么? + +以下教程涵盖与本指南技术紧密相关的主题,帮助您进一步掌握 API 功能并探索替代实现方式: + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/czech/net/html-extensions-and-conversions/_index.md b/html/czech/net/html-extensions-and-conversions/_index.md index e71ffb8335..5d34a9bec8 100644 --- a/html/czech/net/html-extensions-and-conversions/_index.md +++ b/html/czech/net/html-extensions-and-conversions/_index.md @@ -86,7 +86,6 @@ Naučte se kompletně ukládat HTML soubory do ZIP archivů v C# pomocí Aspose. Naučte se, jak uložit HTML soubor do ZIP archivu v paměti pomocí Aspose.HTML pro .NET v C#. ### [Aspose HTML do PDF v C# – Kompletní průvodce se ZIP archivem](./aspose-html-to-pdf-in-c-complete-guide-with-zip-archive/) Naučte se v C# pomocí Aspose.HTML převést HTML do PDF a uložit výstup do ZIP archivu. - ### [Vlastní manipulátor zdrojů v C# – Převod HTML do ZIP archivu z paměti](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) Naučte se pomocí Aspose.HTML v C# vytvořit vlastní handler pro převod HTML do ZIP archivu přímo v paměti. ### [Jak zkomprimovat HTML v C# – Načíst HTML a použít vlastní handler](./how-to-zip-html-in-c-load-html-use-custom-handler/) @@ -103,6 +102,10 @@ Naučte se převádět HTML soubory do ZIP archivů v C# pomocí Aspose.HTML pro Naučte se, jak pomocí Aspose.HTML pro .NET zkomprimovat HTML soubory do ZIP archivu v C# s podrobným krok‑za‑krokem návodem. ### [Uložte HTML jako ZIP v C# – Kompletní průvodce krok za krokem](./save-html-as-zip-in-c-complete-step-by-step-guide/) Naučte se, jak uložit HTML soubor jako ZIP archiv v C# pomocí Aspose.HTML. Podrobný krok‑za‑krokem průvodce s ukázkami kódu. + +### [Uložte HTML jako ZIP v C# pomocí Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Naučte se, jak v C# pomocí Aspose.HTML uložit HTML soubor jako ZIP archiv. + ### [Jedna HTML stránka – Uložte webovou stránku jako jeden HTML soubor v C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Naučte se pomocí Aspose.HTML v C# uložit celou webovou stránku do jediného HTML souboru. diff --git a/html/czech/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/czech/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..624cbc828f --- /dev/null +++ b/html/czech/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Naučte se, jak uložit HTML jako ZIP v C# pomocí Aspose.HTML. Tento krok‑za‑krokem + průvodce také ukazuje, jak převést HTML do ZIP souboru pro offline distribuci. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: cs +lastmod: 2026-09-26 +og_description: Uložte HTML jako ZIP v C# s Aspose.HTML. Postupujte podle tohoto tutoriálu, + abyste převáděli HTML na ZIP soubor, spravovali zdroje a vytvořili přenosný archiv. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Uložení HTML jako ZIP v C# – kompletní průvodce Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Jak uložit HTML jako ZIP v C# pomocí Aspose.HTML +url: /cs/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak uložit HTML jako ZIP v C# pomocí Aspose.HTML + +Pokud potřebujete **uložit HTML jako ZIP** v aplikaci .NET, tento průvodce vám ukáže kompletní řešení. Ukážeme si, jak převést HTML na ZIP soubor, vložit zdroje a zapsat archiv na disk pomocí několika řádků C# kódu. + +Ukládání HTML jako ZIP je užitečné, když chcete distribuovat samostatnou webovou stránku, vložit náhled do e‑mailu nebo archivovat generované zprávy. Přístup funguje s libovolným řetězcem HTML nebo souborem a vyžaduje pouze knihovnu Aspose.HTML. + +V tomto tutoriálu se naučíte: + +* Vytvořit `HTMLDocument` ze řetězce nebo existujícího souboru. +* Implementovat vlastní `ResourceHandler`, aby obrázky, CSS nebo skripty byly správně zabaleny. +* Nakonfigurovat `HTMLSaveOptions` tak, aby výstup směřoval do ZIP archivu. +* Ověřit, že výsledný `output.zip` obsahuje očekávané soubory. + +**Požadavky** + +* .NET 6.0 nebo novější (kód funguje také s .NET Core 3.1+). +* Licencovaná kopie **Aspose.HTML for .NET** – zkušební verze je k dispozici pro hodnocení. +* Visual Studio 2022 nebo jakékoli C# IDE dle vašeho výběru. + +--- + +## Krok 1: Nainstalujte NuGet balíček Aspose.HTML + +Otevřete složku projektu v terminálu a spusťte: + +```bash +dotnet add package Aspose.HTML +``` + +Balíček přidá jmenný prostor `Aspose.Html`, který obsahuje třídy potřebné k **uložení HTML jako ZIP**. + +--- + +## Krok 2: Definujte vlastní handler zdrojů + +Když Aspose.HTML ukládá dokument do ZIP archivu, požaduje od `ResourceHandler` každé externí zdroje (obrázky, fonty, CSS). Poskytnutím handleru můžete řídit, co se do archivu zahrne. Následující handler vrací prázdný stream pro jakýkoli požadovaný zdroj, ale můžete jej rozšířit tak, aby načítal skutečné soubory. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Proč je handler důležitý** – Bez něj by Aspose.HTML vložil pouze HTML markup a ignoroval externí soubory, což by při rozbalení ZIP vedlo k nefunkční stránce. Implementací `HandleResource` zajistíte, že vytvořený archiv bude plně funkční. + +--- + +## Krok 3: Vytvořte HTML dokument + +HTML můžete načíst ze řetězce, cesty k souboru nebo `Stream`. Zde používáme jednoduchý řetězec, který obsahuje nadpis. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Pokud raději načítáte ze souboru, nahraďte konstruktor tímto: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Krok 4: Nakonfigurujte možnosti uložení tak, aby používaly vlastní handler + +`HTMLSaveOptions` vám umožňuje specifikovat výstupní formát. Nastavením jeho vlastnosti `ResourceHandler` řeknete Aspose.HTML, aby pro každou externí referenci volal `MyHandler`. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Můžete také upravit `CompressionLevel`, pokud potřebujete menší archiv: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Krok 5: Uložte dokument do ZIP archivu + +Nyní zapíšeme HTML (a případné zdroje) do ZIP souboru. `FileStream` ukazuje na cílovou cestu; Aspose.HTML automaticky vytvoří strukturu archivu. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Očekávaný výsledek + +Po spuštění kódu bude `output.zip` obsahovat: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Otevřete ZIP, extrahujte `index.html` a dvojklikněte na něj v prohlížeči. Měli byste vidět nadpis „Hello, World!“, což potvrzuje, že jste úspěšně **převáděli HTML na ZIP soubor**. + +--- + +## Běžné varianty a okrajové případy + +| Situace | Jak upravit kód | +|-----------|-----------------------| +| **Vkládání skutečných obrázků** | V `MyHandler.HandleResource` načtěte soubor obrázku z disku a vraťte jeho `FileStream`. | +| **Více HTML stránek** | Vytvořte samostatné instance `HTMLDocument` a pro každou zavolejte `doc.Save` s použitím stejných `HTMLSaveOptions`. | +| **Vlastní struktura složek** | Nastavte `saveOptions.PreserveEmbeddedResources = true` a řiďte výstupní složku pomocí `ResourceHandler`. | +| **Velké HTML řetězce** | Použijte `MemoryStream` pro zdrojové HTML, abyste se vyhnuli načítání celého řetězce do paměti. | +| **ZIP chráněný heslem** | Aspose.HTML přímo nešifruje ZIPy; po uložení obalte `FileStream` knihovnou třetí strany pro ZIP. | + +**Tip:** Vždy uvolňujte `HTMLDocument` a všechny streamy pomocí `using` bloků, aby se neřízené prostředky rychle uvolnily. + +--- + +## Kompletní, spustitelný příklad + +Níže je kompletní program, který můžete zkopírovat, vložit a spustit. Ukazuje celý **workflow uložení HTML jako ZIP** od začátku do konce. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Spusťte program (`dotnet run`, pokud jste vytvořili konzolový projekt). Po dokončení uvidíte potvrzovací zprávu s cestou k `output.zip`. + +--- + +## Ověření konverze + +1. Přejděte do složky `output`, kterou program vytvořil. +2. Klikněte pravým tlačítkem na `output.zip` → **Extract All…**. +3. Otevřete extrahovaný `index.html` v libovolném prohlížeči. +4. Měli byste vidět nadpis **Hello, World!**. + +Pokud se stránka načte bez chybějících obrázků nebo CSS, úspěšně jste **převáděli HTML na ZIP soubor**. + +--- + +## Odstraňování běžných problémů + +* **Prázdný ZIP soubor** – Ujistěte se, že `doc.Save` je voláno *po* přiřazení `ResourceHandler`. Handler nesmí být null, aby konverze proběhla. +* **Chybějící zdroje** – Rozšiřte `MyHandler`, aby vyhledával soubory na disku nebo v databázi. Vraťte `FileStream`, který ukazuje na skutečný zdroj. +* **Chyby oprávnění** – Ověřte, že aplikace má právo zápisu do cílového adresáře. Použijte `Directory.CreateDirectory`, aby složka existovala. +* **Velké archivy trvají dlouho** – Zvyšte `CompressionLevel` na `CompressionLevel.Fastest`, čímž zrychlíte zpracování na úkor většího souboru. + +--- + +## Další kroky + +Nyní, když můžete **uložit HTML jako ZIP**, můžete zkoumat: + +* **Vkládání CSS a JavaScriptu** – Přidejte je do ZIPu tím, že v `MyHandler` vrátíte odpovídající streamy. +* **Generování PDF ze stejného HTML** – Použijte `HTMLSaveOptions` s `PdfSaveOptions` pro paralelní export do PDF. +* **Dávkové zpracování** – Procházejte kolekci HTML řetězců nebo souborů a vytvořte pro každý samostatný ZIP. + +Tyto rozšíření vám umožní vytvořit robustní pipeline pro generování dokumentů, která slouží jak webovým, tak offline scénářům. + +--- + +## Závěr + +Naučili jste se, jak **uložit HTML jako ZIP** v C# s Aspose.HTML, od instalace knihovny až po vytvoření vlastního `ResourceHandler` a ověření výstupu. Dodržením výše uvedených kroků můžete spolehlivě **převádět HTML na ZIP soubor**, balit zdroje a poskytovat přenosný webový obsah z jakékoli .NET aplikace. Šťastné kódování! + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční příklady kódu s podrobným vysvětlením, aby vám pomohl zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vašich projektech. + +- [Jak zipovat HTML v C# – Uložit HTML do ZIP](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Vytvořit zip soubor C# – Krok za krokem průvodce zipováním HTML v paměti](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Vlastní Resource Handler v C# – Tutoriál převodu HTML do ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/dutch/net/html-extensions-and-conversions/_index.md b/html/dutch/net/html-extensions-and-conversions/_index.md index dcd7e1ae77..0a29ab3758 100644 --- a/html/dutch/net/html-extensions-and-conversions/_index.md +++ b/html/dutch/net/html-extensions-and-conversions/_index.md @@ -82,10 +82,12 @@ Leer hoe u met Aspose.HTML voor .NET PDF's genereert vanuit HTML met een duideli ### [Maak PDF van HTML met Aspose.HTML – Stapsgewijze handleiding](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) Leer hoe u PDF's genereert vanuit HTML met Aspose.HTML voor .NET in een duidelijke C# stap‑voor‑stap handleiding. ### [HTML opslaan als ZIP – Complete C#-tutorial](./save-html-as-zip-complete-c-tutorial/) +### [HTML opslaan als ZIP in C# met Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Leer hoe u HTML-bestanden opslaat als ZIP‑archief in C# met Aspose.HTML. ### [HTML opslaan naar ZIP in C# – Volledig In‑Memory voorbeeld](./save-html-to-zip-in-c-complete-in-memory-example/) -Leer hoe u HTML-inhoud in het geheugen comprimeert en opslaat als ZIP-bestand met Aspose.HTML voor .NET in C#. +Leer hoe u HTML-inhoud in het geheugen comprimeert en opslaat als ZIP‑bestand met Aspose.HTML voor .NET in C#. ### [Aangepaste resourcehandler in C# – Converteer HTML naar ZIP-archief vanuit geheugen](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) -Leer hoe u met een aangepaste resourcehandler HTML in het geheugen omzet naar een ZIP-archief met C# en Aspose.HTML voor .NET. +Leer hoe u met een aangepaste resourcehandler HTML in het geheugen omzet naar een ZIP‑archief met C# en Aspose.HTML voor .NET. ### [Aangepaste resourcehandler in C# – Converteer HTML naar ZIP-tutorial](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) Leer hoe u een aangepaste resourcehandler implementeert om HTML naar een ZIP‑archief te converteren met Aspose.HTML voor .NET. ### [Converteer HTML naar PDF met Aspose.HTML – Volledige stapsgewijze handleiding](./convert-html-to-pdf-with-aspose-html-full-step-by-step-guide/) @@ -97,9 +99,9 @@ Leer hoe u HTML naar ZIP converteert in C# met Aspose.HTML. Volg onze stap‑voo ### [Hoe HTML te zippen in C# – Complete stapsgewijze handleiding](./how-to-zip-html-in-c-complete-step-by-step-guide/) Leer hoe u HTML-bestanden comprimeert tot een ZIP‑archief met C# en Aspose.HTML. Volg de volledige stap‑voor‑stap‑handleiding. ### [HTML opslaan als ZIP in C# – Complete stapsgewijze handleiding](./save-html-as-zip-in-c-complete-step-by-step-guide/) -Leer hoe u HTML opslaat als ZIP-bestand in C# met Aspose.HTML. Volg onze stapsgewijze handleiding voor eenvoudige implementatie. +Leer hoe u HTML opslaat als ZIP‑bestand in C# met Aspose.HTML. Volg onze stapsgewijze handleiding voor eenvoudige implementatie. ### [HTML opslaan als ZIP in C# – Complete gids](./save-html-to-zip-in-c-complete-guide/) -Leer hoe u HTML naar een ZIP-bestand opslaat met een volledige C#-handleiding en Aspose.HTML voor .NET. +Leer hoe u HTML naar een ZIP‑bestand opslaat met een volledige C#-handleiding en Aspose.HTML voor .NET. ### [Enkel bestand HTML – Een webpagina opslaan als één HTML-bestand in C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) ## Conclusie diff --git a/html/dutch/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/dutch/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..0573aaff7f --- /dev/null +++ b/html/dutch/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,303 @@ +--- +category: general +date: 2026-09-26 +description: Leer hoe je HTML als ZIP opslaat in C# met Aspose.HTML. Deze stapsgewijze + gids laat ook zien hoe je HTML naar een ZIP‑bestand converteert voor offline distributie. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: nl +lastmod: 2026-09-26 +og_description: Sla HTML op als ZIP in C# met Aspose.HTML. Volg deze tutorial om HTML + naar een ZIP‑bestand te converteren, bronnen te verwerken en een draagbaar archief + te genereren. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: HTML opslaan als ZIP in C# – volledige Aspose.HTML‑gids +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Hoe HTML opslaan als ZIP in C# met Aspose.HTML +url: /nl/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML opslaan als ZIP in C# met Aspose.HTML + +Als je **HTML als ZIP wilt opslaan** in een .NET‑applicatie, toont deze gids een volledige oplossing. Je ziet hoe je HTML naar een ZIP‑bestand converteert, resources inbedt en het archief naar schijf schrijft met slechts een paar regels C#‑code. + +HTML opslaan als ZIP is handig wanneer je een zelfstandige webpagina wilt distribueren, een preview in een e‑mail wilt embedden, of gegenereerde rapporten wilt archiveren. De aanpak werkt met elke HTML‑string of -bestand en vereist alleen de Aspose.HTML‑bibliotheek. + +In deze tutorial leer je: + +* Een `HTMLDocument` maken vanuit een string of bestaand bestand. +* Een aangepaste `ResourceHandler` implementeren zodat afbeeldingen, CSS of scripts correct worden verpakt. +* `HTMLSaveOptions` configureren om de output naar een ZIP‑archief te leiden. +* Verifiëren dat de resulterende `output.zip` de verwachte bestanden bevat. + +**Voorvereisten** + +* .NET 6.0 of later (de code werkt ook met .NET Core 3.1+). +* Een gelicentieerde kopie van **Aspose.HTML for .NET** – de gratis proefversie werkt voor evaluatie. +* Visual Studio 2022 of een andere C#‑IDE naar keuze. + +--- + +## Stap 1: Installeer het Aspose.HTML NuGet‑pakket + +Open je projectmap in een terminal en voer uit: + +```bash +dotnet add package Aspose.HTML +``` + +Het pakket voegt de `Aspose.Html`‑namespace toe, die de klassen bevat die je nodig hebt om **HTML als ZIP op te slaan**. + +--- + +## Stap 2: Definieer een aangepaste resource‑handler + +Wanneer Aspose.HTML een document naar een ZIP‑archief opslaat, vraagt het een `ResourceHandler` voor elke externe resource (afbeeldingen, fonts, CSS). Het leveren van een handler geeft je controle over wat er in het archief terechtkomt. De volgende handler retourneert een lege stream voor elke opgevraagde resource, maar je kunt hem uitbreiden om echte bestanden te lezen. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Waarom een handler belangrijk is** – Zonder deze zou Aspose.HTML alleen de HTML‑markup embedden en externe bestanden negeren, waardoor de pagina kapot is wanneer de ZIP wordt uitgepakt. Door `HandleResource` te implementeren, zorg je ervoor dat het gegenereerde archief volledig functioneel is. + +--- + +## Stap 3: Maak het HTML‑document + +Je kunt HTML laden vanuit een string, een bestands‑pad of een `Stream`. Hier gebruiken we een eenvoudige string die een kop bevat. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Als je liever vanuit een bestand laadt, vervang dan de constructor door: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Stap 4: Configureer de opslaan‑opties om de aangepaste handler te gebruiken + +`HTMLSaveOptions` laat je het output‑formaat specificeren. Door de eigenschap `ResourceHandler` in te stellen, vertel je Aspose.HTML om `MyHandler` voor elke externe referentie aan te roepen. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Je kunt ook de `CompressionLevel` aanpassen als je een kleiner archief nodig hebt: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Stap 5: Sla het document op in een ZIP‑archief + +Schrijf nu de HTML (en eventuele resources) naar een ZIP‑bestand. De `FileStream` wijst naar het bestemmingspad; Aspose.HTML maakt automatisch de archiefstructuur aan. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Verwacht resultaat + +Na uitvoering van de code zal `output.zip` bevatten: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Open de ZIP, extraheer `index.html` en dubbel‑klik erop in een browser. Je zou de “Hello, World!”‑kop moeten zien, wat bevestigt dat je succesvol **HTML naar ZIP‑bestand hebt geconverteerd**. + +--- + +## Veelvoorkomende variaties en randgevallen + +| Situatie | Hoe de code aan te passen | +|-----------|---------------------------| +| **Echte afbeeldingen embedden** | Lees in `MyHandler.HandleResource` het afbeeldingsbestand van schijf en retourneer de bijbehorende `FileStream`. | +| **Meerdere HTML‑pagina's** | Maak afzonderlijke `HTMLDocument`‑instanties en roep `doc.Save` voor elk aan, met dezelfde `HTMLSaveOptions`. | +| **Aangepaste mapstructuur** | Stel `saveOptions.PreserveEmbeddedResources = true` in en beheer de output‑map via `ResourceHandler`. | +| **Grote HTML‑strings** | Gebruik `MemoryStream` voor de bron‑HTML om te voorkomen dat de volledige string in het geheugen wordt geladen. | +| **Met wachtwoord beveiligde ZIP** | Aspose.HTML versleutelt ZIP‑bestanden niet direct; wikkel de `FileStream` na het opslaan in een externe ZIP‑bibliotheek. | + +**Pro tip:** Dispose altijd `HTMLDocument` en eventuele streams met `using`‑statements om onbeheerste resources snel vrij te geven. + +--- + +## Volledig, uitvoerbaar voorbeeld + +Hieronder staat het complete programma dat je kunt kopiëren, plakken en uitvoeren. Het demonstreert de volledige **HTML als ZIP opslaan**‑workflow van begin tot eind. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Voer het programma uit (`dotnet run` als je een console‑project hebt aangemaakt). Wanneer het klaar is, zie je een bevestigingsbericht met het pad naar `output.zip`. + +--- + +## De conversie verifiëren + +1. Navigeer naar de `output`‑map die door het programma is aangemaakt. +2. Rechtermuisklik op `output.zip` → **Alle bestanden uitpakken…**. +3. Open de uitgepakte `index.html` in een willekeurige browser. +4. Je zou de kop **Hello, World!** moeten zien. + +Als de pagina laadt zonder ontbrekende afbeeldingen of CSS, heb je succesvol **HTML naar ZIP‑bestand geconverteerd**. + +--- + +## Problemen oplossen bij veelvoorkomende issues + +* **Lege ZIP‑file** – Zorg ervoor dat `doc.Save` wordt aangeroepen *nadat* je `ResourceHandler` hebt toegewezen. De handler moet niet‑null zijn voor de conversie. +* **Ontbrekende resources** – Breid `MyHandler` uit om bestanden op schijf of in een database te vinden. Retourneer een `FileStream` die naar de daadwerkelijke resource wijst. +* **Toegangsrechten‑fouten** – Controleer of de applicatie schrijfrechten heeft voor de doelmap. Gebruik `Directory.CreateDirectory` om te garanderen dat de map bestaat. +* **Grote archieven duren lang** – Verhoog `CompressionLevel` naar `CompressionLevel.Fastest` om de verwerking te versnellen ten koste van een groter bestand. + +--- + +## Volgende stappen + +Nu je **HTML als ZIP kunt opslaan**, kun je het volgende verkennen: + +* **CSS en JavaScript embedden** – Voeg ze toe aan de ZIP door de juiste streams in `MyHandler` te retourneren. +* **PDF’s genereren vanuit dezelfde HTML** – Gebruik `HTMLSaveOptions` met `PdfSaveOptions` voor een parallelle PDF‑export. +* **Batch‑verwerking** – Loop over een collectie HTML‑strings of -bestanden en maak voor elk een apart ZIP‑bestand. + +Deze uitbreidingen stellen je in staat robuuste document‑generatie‑pijplijnen te bouwen die zowel web‑ als offline‑scenario’s bedienen. + +--- + +## Conclusie + +Je hebt geleerd hoe je **HTML als ZIP opslaat** in C# met Aspose.HTML, van het installeren van de bibliotheek tot het schrijven van een aangepaste `ResourceHandler` en het verifiëren van de output. Door de bovenstaande stappen te volgen kun je betrouwbaar **HTML naar ZIP‑bestand converteren**, resources verpakken en draagbare webcontent leveren vanuit elke .NET‑applicatie. Veel programmeerplezier! + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids zijn gedemonstreerd. Elke bron bevat volledige werkende code‑voorbeelden met stap‑voor‑stap‑uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementaties in je eigen projecten te verkennen. + +- [Hoe HTML zippen in C# – HTML opslaan als Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Zip‑bestand maken C# – Stapsgewijze gids om HTML in geheugen te zippen](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Aangepaste Resource Handler in C# – HTML naar ZIP‑tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/english/net/html-extensions-and-conversions/_index.md b/html/english/net/html-extensions-and-conversions/_index.md index ebb4aab556..3540c8c82a 100644 --- a/html/english/net/html-extensions-and-conversions/_index.md +++ b/html/english/net/html-extensions-and-conversions/_index.md @@ -70,11 +70,12 @@ Learn how to convert HTML to TIFF with Aspose.HTML for .NET. Follow our step-by- ### [Convert HTML to XPS in .NET with Aspose.HTML](./convert-html-to-xps/) Discover the power of Aspose.HTML for .NET: Convert HTML to XPS effortlessly. Prerequisites, step-by-step guide, and FAQs included. ### [How to Zip HTML in C# – Save HTML to Zip](./how-to-zip-html-in-c-save-html-to-zip/) -Learn how to zip HTML files in C# using Aspose.HTML, saving HTML content to a ZIP archive with step-by-step guidance. +Learn how to zip HTML files in C# using Aspose.HTML for .NET. Follow our step-by-step guide with code examples. ### [Create HTML Document with Styled Text and Export to PDF – Full Guide](./create-html-document-with-styled-text-and-export-to-pdf-full/) Learn how to create an HTML document with styled text and export it to PDF using Aspose.HTML for .NET in this comprehensive guide. ### [Save HTML as ZIP – Complete C# Tutorial](./save-html-as-zip-complete-c-tutorial/) Learn how to save HTML files as a ZIP archive using Aspose.HTML for .NET with a complete C# example. +### [How to save HTML as ZIP in C# using Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) ### [Save HTML to ZIP in C# – Complete In‑Memory Example](./save-html-to-zip-in-c-complete-in-memory-example/) Learn how to save HTML content into a ZIP archive in memory using C# and Aspose.HTML for .NET in this step-by-step tutorial. ### [Custom Resource Handler in C# – Convert HTML to ZIP Archive from Memory](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) diff --git a/html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..182b5bf66f --- /dev/null +++ b/html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: en +lastmod: 2026-09-26 +og_description: Save HTML as ZIP in C# with Aspose.HTML. Follow this tutorial to convert + HTML to ZIP file, handle resources, and generate a portable archive. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Save HTML as ZIP in C# – complete Aspose.HTML guide +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: How to save HTML as ZIP in C# using Aspose.HTML +url: /net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to save HTML as ZIP in C# using Aspose.HTML + +If you need to **save HTML as ZIP** in a .NET application, this guide shows you a complete solution. You’ll see how to convert HTML to ZIP file, embed resources, and write the archive to disk with just a few lines of C# code. + +Saving HTML as ZIP is useful when you want to distribute a self‑contained web page, embed a preview in an email, or archive generated reports. The approach works with any HTML string or file, and it requires only the Aspose.HTML library. + +In this tutorial you will: + +* Create an `HTMLDocument` from a string or existing file. +* Implement a custom `ResourceHandler` so images, CSS, or scripts are correctly packaged. +* Configure `HTMLSaveOptions` to direct the output into a ZIP archive. +* Verify the resulting `output.zip` contains the expected files. + +**Prerequisites** + +* .NET 6.0 or later (the code also works with .NET Core 3.1+). +* A licensed copy of **Aspose.HTML for .NET** – the free trial works for evaluation. +* Visual Studio 2022 or any C# IDE you prefer. + +--- + +## Step 1: Install the Aspose.HTML NuGet package + +Open your project folder in a terminal and run: + +```bash +dotnet add package Aspose.HTML +``` + +The package adds the `Aspose.Html` namespace, which contains the classes you need to **save HTML as ZIP**. + +--- + +## Step 2: Define a custom resource handler + +When Aspose.HTML saves a document to a ZIP archive it asks a `ResourceHandler` for each external resource (images, fonts, CSS). Providing a handler lets you control what goes into the archive. The following handler returns an empty stream for any requested resource, but you can extend it to read real files. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Why a handler matters** – Without it, Aspose.HTML would embed only the HTML markup and ignore external files, resulting in a broken page when the ZIP is unpacked. By implementing `HandleResource`, you ensure the generated archive is fully functional. + +--- + +## Step 3: Create the HTML document + +You can load HTML from a string, a file path, or a `Stream`. Here we use a simple string that contains a heading. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +If you prefer to load from a file, replace the constructor with: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Step 4: Configure save options to use the custom handler + +`HTMLSaveOptions` lets you specify the output format. Setting its `ResourceHandler` property tells Aspose.HTML to invoke `MyHandler` for each external reference. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +You can also adjust the `CompressionLevel` if you need a smaller archive: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Step 5: Save the document into a ZIP archive + +Now write the HTML (and any resources) into a ZIP file. The `FileStream` points to the destination path; Aspose.HTML automatically creates the archive structure. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Expected result + +After the code runs, `output.zip` will contain: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Open the ZIP, extract `index.html`, and double‑click it in a browser. You should see the “Hello, World!” heading, confirming that you have successfully **converted HTML to ZIP file**. + +--- + +## Common variations and edge cases + +| Situation | How to adapt the code | +|-----------|-----------------------| +| **Embedding real images** | In `MyHandler.HandleResource`, read the image file from disk and return its `FileStream`. | +| **Multiple HTML pages** | Create separate `HTMLDocument` instances and call `doc.Save` for each, using the same `HTMLSaveOptions`. | +| **Custom folder structure** | Set `saveOptions.PreserveEmbeddedResources = true` and control the output folder via `ResourceHandler`. | +| **Large HTML strings** | Use `MemoryStream` for the source HTML to avoid loading the entire string into memory. | +| **Password‑protected ZIP** | Aspose.HTML does not encrypt ZIPs directly; wrap the `FileStream` with a third‑party ZIP library after saving. | + +**Pro tip:** Always dispose of `HTMLDocument` and any streams with `using` statements to free unmanaged resources promptly. + +--- + +## Full, runnable example + +Below is the complete program you can copy, paste, and run. It demonstrates the entire **save HTML as ZIP** workflow from start to finish. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Run the program (`dotnet run` if you created a console project). When it finishes, you’ll see a confirmation message with the path to `output.zip`. + +--- + +## Verifying the conversion + +1. Navigate to the `output` folder created by the program. +2. Right‑click `output.zip` → **Extract All…**. +3. Open the extracted `index.html` in any browser. +4. You should see the heading **Hello, World!**. + +If the page loads without missing images or CSS, you have successfully **converted HTML to ZIP file**. + +--- + +## Troubleshooting common issues + +* **Empty ZIP file** – Ensure `doc.Save` is called *after* you assign `ResourceHandler`. The handler must be non‑null for the conversion to occur. +* **Missing resources** – Extend `MyHandler` to locate files on disk or in a database. Return a `FileStream` that points to the actual resource. +* **Permission errors** – Verify that the application has write access to the target directory. Use `Directory.CreateDirectory` to guarantee the folder exists. +* **Large archives take long** – Increase `CompressionLevel` to `CompressionLevel.Fastest` to speed up processing at the cost of a larger file. + +--- + +## Next steps + +Now that you can **save HTML as ZIP**, you might explore: + +* **Embedding CSS and JavaScript** – Add them to the ZIP by returning the appropriate streams in `MyHandler`. +* **Generating PDFs from the same HTML** – Use `HTMLSaveOptions` with `PdfSaveOptions` for a side‑by‑side PDF export. +* **Batch processing** – Loop over a collection of HTML strings or files and create a separate ZIP for each. + +These extensions let you build robust document‑generation pipelines that serve both web and offline scenarios. + +--- + +## Conclusion + +You have learned how to **save HTML as ZIP** in C# with Aspose.HTML, covering everything from installing the library to writing a custom `ResourceHandler` and verifying the output. By following the steps above you can reliably **convert HTML to ZIP file**, package resources, and deliver portable web content from any .NET application. Happy coding! + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/og-image.png b/html/english/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..81fa25e7ba592e14b85fd21a75863c86f80c6ecd GIT binary patch literal 47539 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 literal 0 HcmV?d00001 diff --git a/html/french/net/html-extensions-and-conversions/_index.md b/html/french/net/html-extensions-and-conversions/_index.md index fa1e343d34..26fd1cbc85 100644 --- a/html/french/net/html-extensions-and-conversions/_index.md +++ b/html/french/net/html-extensions-and-conversions/_index.md @@ -81,12 +81,13 @@ Découvrez la puissance d'Aspose.HTML pour .NET : convertissez facilement du HT ### [Comment zipper du HTML en C# – Enregistrer le HTML dans un zip](./how-to-zip-html-in-c-save-html-to-zip/) Apprenez à compresser du HTML en un fichier zip avec C# grâce à notre guide détaillé. ### [Enregistrer le HTML en ZIP – Tutoriel complet C#](./save-html-as-zip-complete-c-tutorial/) -Apprenez à enregistrer un document HTML dans un fichier ZIP en C# avec Aspose.HTML pour .NET. Guide complet étape par étape. +Apprenez à enregistrer un document HTML dans un fichier ZIP en C# avec Aspose.HTML, guide complet étape par étape. +### [Comment enregistrer du HTML en ZIP en C# avec Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Apprenez à enregistrer un document HTML dans une archive ZIP en C# avec Aspose.HTML, guide complet étape par étape. ### [Enregistrer HTML en ZIP en C# – Exemple complet en mémoire](./save-html-to-zip-in-c-complete-in-memory-example/) Enregistrez du HTML dans un fichier ZIP en mémoire avec Aspose.HTML pour .NET. ### [Enregistrer le HTML en ZIP en C# – Guide complet](./save-html-to-zip-in-c-complete-guide/) Apprenez à enregistrer un document HTML dans un fichier ZIP en C# avec Aspose.HTML, guide complet étape par étape. - ### [HTML à fichier unique – Enregistrer une page Web en un seul fichier HTML en C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) ### [Gestionnaire de ressources personnalisé en C# – Convertir le HTML en archive ZIP depuis la mémoire](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) diff --git a/html/french/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/french/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..faf64eee33 --- /dev/null +++ b/html/french/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Apprenez à enregistrer du HTML au format ZIP en C# avec Aspose.HTML. + Ce guide étape par étape montre également comment convertir du HTML en fichier ZIP + pour une distribution hors ligne. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: fr +lastmod: 2026-09-26 +og_description: Enregistrez le HTML au format ZIP en C# avec Aspose.HTML. Suivez ce + tutoriel pour convertir le HTML en fichier ZIP, gérer les ressources et générer + une archive portable. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Enregistrer le HTML en ZIP avec C# – guide complet d’Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Comment enregistrer du HTML en ZIP en C# avec Aspose.HTML +url: /fr/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment enregistrer du HTML en ZIP en C# avec Aspose.HTML + +Si vous devez **enregistrer du HTML en ZIP** dans une application .NET, ce guide vous montre une solution complète. Vous verrez comment convertir du HTML en fichier ZIP, intégrer les ressources et écrire l'archive sur le disque en quelques lignes de code C#. + +Enregistrer du HTML en ZIP est utile lorsque vous souhaitez distribuer une page web autonome, intégrer un aperçu dans un e‑mail ou archiver des rapports générés. L'approche fonctionne avec n'importe quelle chaîne ou fichier HTML, et elle ne nécessite que la bibliothèque Aspose.HTML. + +Dans ce tutoriel vous allez : + +* Créer un `HTMLDocument` à partir d'une chaîne ou d'un fichier existant. +* Implémenter un `ResourceHandler` personnalisé afin que les images, CSS ou scripts soient correctement empaquetés. +* Configurer `HTMLSaveOptions` pour diriger la sortie vers une archive ZIP. +* Vérifier que le `output.zip` résultant contient les fichiers attendus. + +**Prérequis** + +* .NET 6.0 ou supérieur (le code fonctionne également avec .NET Core 3.1+). +* Une copie sous licence de **Aspose.HTML for .NET** – l'essai gratuit suffit pour l'évaluation. +* Visual Studio 2022 ou tout IDE C# de votre choix. + +--- + +## Étape 1 : Installer le package NuGet Aspose.HTML + +Ouvrez le dossier de votre projet dans un terminal et exécutez : + +```bash +dotnet add package Aspose.HTML +``` + +Le package ajoute l'espace de noms `Aspose.Html`, qui contient les classes dont vous avez besoin pour **enregistrer du HTML en ZIP**. + +--- + +## Étape 2 : Définir un gestionnaire de ressources personnalisé + +Lorsque Aspose.HTML enregistre un document dans une archive ZIP, il interroge un `ResourceHandler` pour chaque ressource externe (images, polices, CSS). Fournir un gestionnaire vous permet de contrôler ce qui entre dans l'archive. Le gestionnaire suivant renvoie un flux vide pour toute ressource demandée, mais vous pouvez l'étendre pour lire de vrais fichiers. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Pourquoi un gestionnaire est important** – Sans lui, Aspose.HTML n’intégrerait que le balisage HTML et ignorerait les fichiers externes, ce qui entraînerait une page cassée une fois le ZIP décompressé. En implémentant `HandleResource`, vous garantissez que l'archive générée est pleinement fonctionnelle. + +--- + +## Étape 3 : Créer le document HTML + +Vous pouvez charger du HTML depuis une chaîne, un chemin de fichier ou un `Stream`. Ici nous utilisons une simple chaîne contenant un titre. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Si vous préférez charger depuis un fichier, remplacez le constructeur par : + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Étape 4 : Configurer les options de sauvegarde pour utiliser le gestionnaire personnalisé + +`HTMLSaveOptions` vous permet de spécifier le format de sortie. Définir sa propriété `ResourceHandler` indique à Aspose.HTML d’appeler `MyHandler` pour chaque référence externe. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Vous pouvez également ajuster le `CompressionLevel` si vous avez besoin d’une archive plus petite : + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Étape 5 : Enregistrer le document dans une archive ZIP + +Écrivez maintenant le HTML (et les ressources éventuelles) dans un fichier ZIP. Le `FileStream` pointe vers le chemin de destination ; Aspose.HTML crée automatiquement la structure de l'archive. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Résultat attendu + +Après l’exécution du code, `output.zip` contiendra : + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Ouvrez le ZIP, extrayez `index.html` et double‑cliquez dessus dans un navigateur. Vous devriez voir le titre « Hello, World! », confirmant que vous avez bien **converti du HTML en fichier ZIP**. + +--- + +## Variantes courantes et cas particuliers + +| Situation | Comment adapter le code | +|-----------|--------------------------| +| **Intégration d'images réelles** | Dans `MyHandler.HandleResource`, lisez le fichier image depuis le disque et renvoyez son `FileStream`. | +| **Plusieurs pages HTML** | Créez des instances séparées de `HTMLDocument` et appelez `doc.Save` pour chacune, en utilisant les mêmes `HTMLSaveOptions`. | +| **Structure de dossiers personnalisée** | Définissez `saveOptions.PreserveEmbeddedResources = true` et contrôlez le dossier de sortie via `ResourceHandler`. | +| **Grandes chaînes HTML** | Utilisez `MemoryStream` pour le HTML source afin d'éviter de charger toute la chaîne en mémoire. | +| **ZIP protégé par mot de passe** | Aspose.HTML ne chiffre pas les ZIP directement ; encapsulez le `FileStream` avec une bibliothèque ZIP tierce après l'enregistrement. | + +**Conseil pro :** Disposez toujours de `HTMLDocument` et de tous les flux avec des instructions `using` afin de libérer rapidement les ressources non gérées. + +--- + +## Exemple complet, exécutable + +Voici le programme complet que vous pouvez copier, coller et exécuter. Il illustre l’ensemble du flux **enregistrer du HTML en ZIP** du début à la fin. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Exécutez le programme (`dotnet run` si vous avez créé un projet console). Lorsqu’il se termine, vous verrez un message de confirmation avec le chemin vers `output.zip`. + +--- + +## Vérifier la conversion + +1. Naviguez vers le dossier `output` créé par le programme. +2. Cliquez avec le bouton droit sur `output.zip` → **Extract All…**. +3. Ouvrez le `index.html` extrait dans n'importe quel navigateur. +4. Vous devriez voir le titre **Hello, World!**. + +Si la page se charge sans images ou CSS manquants, vous avez bien **converti du HTML en fichier ZIP**. + +--- + +## Résolution des problèmes courants + +* **Fichier ZIP vide** – Assurez‑vous que `doc.Save` est appelé *après* avoir assigné `ResourceHandler`. Le gestionnaire doit être non nul pour que la conversion s'effectue. +* **Ressources manquantes** – Étendez `MyHandler` pour localiser les fichiers sur le disque ou dans une base de données. Retournez un `FileStream` qui pointe vers la ressource réelle. +* **Erreurs de permission** – Vérifiez que l'application a les droits d'écriture sur le répertoire cible. Utilisez `Directory.CreateDirectory` pour garantir que le dossier existe. +* **Les gros archives prennent du temps** – Augmentez `CompressionLevel` à `CompressionLevel.Fastest` pour accélérer le traitement au prix d'un fichier plus volumineux. + +--- + +## Prochaines étapes + +Maintenant que vous pouvez **enregistrer du HTML en ZIP**, vous pourriez explorer : + +* **Intégration de CSS et JavaScript** – Ajoutez‑les au ZIP en renvoyant les flux appropriés dans `MyHandler`. +* **Génération de PDFs à partir du même HTML** – Utilisez `HTMLSaveOptions` avec `PdfSaveOptions` pour une exportation PDF côte à côte. +* **Traitement par lots** – Parcourez une collection de chaînes ou de fichiers HTML et créez un ZIP séparé pour chacun. + +Ces extensions vous permettent de construire des pipelines de génération de documents robustes qui desservent à la fois les scénarios web et hors ligne. + +--- + +## Conclusion + +Vous avez appris comment **enregistrer du HTML en ZIP** en C# avec Aspose.HTML, en couvrant tout, de l'installation de la bibliothèque à l'écriture d'un `ResourceHandler` personnalisé et à la vérification du résultat. En suivant les étapes ci‑dessus, vous pouvez de façon fiable **convertir du HTML en fichier ZIP**, empaqueter les ressources et livrer du contenu web portable depuis n'importe quelle application .NET. Bon codage ! + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s’appuient sur les techniques démontrées dans ce guide. Chaque ressource inclut des exemples de code complets et fonctionnels avec des explications pas à pas pour vous aider à maîtriser des fonctionnalités API supplémentaires et explorer des approches d’implémentation alternatives dans vos propres projets. + +- [Comment zipper du HTML en C# – Enregistrer du HTML en Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Créer un fichier zip C# – Guide étape par étape pour zipper du HTML en mémoire](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Gestionnaire de ressources personnalisé en C# – Tutoriel de conversion HTML en ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/german/net/html-extensions-and-conversions/_index.md b/html/german/net/html-extensions-and-conversions/_index.md index e003db63cf..0b0227fdcc 100644 --- a/html/german/net/html-extensions-and-conversions/_index.md +++ b/html/german/net/html-extensions-and-conversions/_index.md @@ -72,38 +72,216 @@ Erfahren Sie, wie Sie mit Aspose.HTML für .NET PDFs direkt aus einer URL generi Entdecken Sie die Leistungsfähigkeit von Aspose.HTML für .NET: Konvertieren Sie HTML mühelos in XPS. Voraussetzungen, Schritt‑für‑Schritt‑Anleitung und FAQs inklusive. ### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. -### [HTML‑Dokument mit formatiertem Text erstellen und in PDF exportieren – Vollständige Anleitung](./create-html-document-with-styled-text-and-export-to-pdf-full/) -Erfahren Sie, wie Sie ein HTML‑Dokument mit formatiertem Text erstellen und es mit Aspose.HTML für .NET in ein PDF exportieren. -### [PDF aus HTML erstellen – C# Schritt‑für‑Schritt‑Anleitung](./create-pdf-from-html-c-step-by-step-guide/) -Erstellen Sie PDF aus HTML mit C# – eine detaillierte Schritt‑für‑Schritt‑Anleitung mit Aspose.HTML für .NET. -### [PDF aus HTML erstellen mit Aspose.HTML – Schritt‑für‑Schritt‑Anleitung](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) -Erstellen Sie PDF aus HTML mit Aspose.HTML für .NET. Folgen Sie unserer Schritt‑für‑Schritt‑Anleitung und nutzen Sie die volle Leistungsfähigkeit. ### [HTML als ZIP speichern – Komplettes C#‑Tutorial](./save-html-as-zip-complete-c-tutorial/) -Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in ein ZIP‑Archiv speichern – vollständige Schritt‑für‑Schritt‑Anleitung in C#. -### [HTML in ZIP speichern in C# – Komplettes In‑Memory‑Beispiel](./save-html-to-zip-in-c-complete-in-memory-example/) -Speichern Sie HTML‑Inhalte in ein ZIP‑Archiv komplett im Speicher mit Aspose.HTML für .NET. Schritt‑für‑Schritt‑Anleitung. -### [Benutzerdefinierter Ressourcen-Handler in C# – HTML in ZIP-Archiv aus dem Speicher konvertieren](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) -Erfahren Sie, wie Sie mit einem benutzerdefinierten Ressourcen-Handler HTML‑Inhalte im Speicher zu einem ZIP‑Archiv komprimieren. +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in ein ZIP‑Archiv speichern – vollständige Schritt‑für‑Schritt‑Anleitung. +### [HTML als ZIP speichern – Anleitung mit Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Speichern Sie HTML‑Inhalte in ein ZIP‑Archiv mit Aspose.HTML für .NET – Schritt‑für‑Schritt‑Anleitung in C#. ### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. ### [Benutzerdefinierter Ressourcen‑Handler in C# – HTML in ZIP konvertieren](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) Erfahren Sie, wie Sie mit einem benutzerdefinierten Ressourcen‑Handler HTML‑Inhalte in ein ZIP‑Archiv komprimieren und speichern. -### [HTML in PDF konvertieren mit Aspose.HTML – Vollständige Schritt‑für‑Schritt‑Anleitung](./convert-html-to-pdf-with-aspose-html-full-step-by-step-guide/) -Konvertieren Sie HTML mühelos in PDF mit Aspose.HTML. Folgen Sie unserer vollständigen Schritt‑für‑Schritt‑Anleitung. -### [Erstellen Sie eine ZIP-Datei in C# – Schritt‑für‑Schritt‑Anleitung zum Zippen von HTML im Speicher](./create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) -Erfahren Sie, wie Sie HTML-Inhalte im Speicher mit C# in eine ZIP-Datei komprimieren – komplette Schritt‑für‑Schritt‑Anleitung. -### [Konvertieren Sie HTML in ZIP in C# – Komplettanleitung](./convert-html-to-zip-in-c-complete-guide/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in ZIP-Archive konvertieren. Schritt-für-Schritt-Anleitung mit Codebeispielen. -### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) -Erfahren Sie, wie Sie HTML-Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. -### [PDF aus HTML in C# erstellen – Vollständige Schritt‑für‑Schritt‑Anleitung](./create-pdf-from-html-in-c-complete-step-by-step-guide/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in PDF konvertieren. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. -### [HTML als ZIP in C# speichern – Komplett‑Schritt‑für‑Schritt‑Anleitung](./save-html-as-zip-in-c-complete-step-by-step-guide/) -Erfahren Sie, wie Sie HTML‑Inhalte in eine ZIP‑Datei verpacken und in C# speichern – komplette Schritt‑für‑Schritt‑Anleitung. -### [HTML in C# zippen – Komplett‑Leitfaden](./save-html-to-zip-in-c-complete-guide/) +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [Benutzerdefinierter Ressourcen‑Handler in C# – HTML in ZIP‑Archiv aus dem Speicher konvertieren](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) +Erfahren Sie, wie Sie mit einem benutzerdefinierten Ressourcen‑Handler HTML‑Inhalte im Speicher zu einem ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in ZIP speichern – Komplettes C#‑Tutorial](./save-html-as-zip-complete-c-tutorial/) Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in ein ZIP‑Archiv speichern – vollständige Schritt‑für‑Schritt‑Anleitung. -### [Einzelne HTML‑Datei – Eine Webseite als eine HTML‑Datei in C# speichern](./single-file-html-save-a-web-page-as-one-html-file-in-c/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET eine komplette Webseite in einer einzigen HTML‑Datei speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. +### [HTML in C# zippen – HTML in Zip speichern](./how-to-zip-html-in-c-save-html-to-zip/) +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – HTML laden und benutzerdefinierten Handler verwenden](./how-to-zip-html-in-c-load-html-use-custom-handler/) +Erfahren Sie, wie Sie HTML in C# laden und mit einem benutzerdefinierten Handler in ein ZIP‑Archiv komprimieren. +### [HTML in C# zippen – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-zip-html-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie HTML‑Dateien in C# zippen. Eine vollständige Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. ## Abschluss diff --git a/html/german/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/german/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..0165d338c7 --- /dev/null +++ b/html/german/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,305 @@ +--- +category: general +date: 2026-09-26 +description: Erfahren Sie, wie Sie HTML in C# mit Aspose.HTML als ZIP speichern. Diese + Schritt‑für‑Schritt‑Anleitung zeigt außerdem, wie Sie HTML in eine ZIP‑Datei für + die Offline‑Verteilung konvertieren. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: de +lastmod: 2026-09-26 +og_description: Speichern Sie HTML als ZIP in C# mit Aspose.HTML. Folgen Sie diesem + Tutorial, um HTML in eine ZIP-Datei zu konvertieren, Ressourcen zu verwalten und + ein tragbares Archiv zu erstellen. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: HTML als ZIP in C# speichern – vollständiger Aspose.HTML‑Leitfaden +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Wie man HTML in C# mit Aspose.HTML als ZIP speichert +url: /de/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML in C# mit Aspose.HTML als ZIP speichern + +Wenn Sie **HTML als ZIP** in einer .NET‑Anwendung **speichern** müssen, zeigt Ihnen diese Anleitung eine vollständige Lösung. Sie sehen, wie Sie HTML in eine ZIP‑Datei konvertieren, Ressourcen einbetten und das Archiv mit nur wenigen Zeilen C#‑Code auf die Festplatte schreiben. + +HTML als ZIP zu speichern ist nützlich, wenn Sie eine eigenständige Webseite verteilen, eine Vorschau in einer E‑Mail einbetten oder generierte Berichte archivieren möchten. Der Ansatz funktioniert mit jedem HTML‑String oder jeder HTML‑Datei und erfordert nur die Aspose.HTML‑Bibliothek. + +In diesem Tutorial lernen Sie: + +* Ein `HTMLDocument` aus einem String oder einer vorhandenen Datei zu erstellen. +* Einen benutzerdefinierten `ResourceHandler` zu implementieren, damit Bilder, CSS oder Skripte korrekt verpackt werden. +* `HTMLSaveOptions` zu konfigurieren, um die Ausgabe in ein ZIP‑Archiv zu leiten. +* Zu prüfen, dass die resultierende `output.zip` die erwarteten Dateien enthält. + +**Voraussetzungen** + +* .NET 6.0 oder höher (der Code funktioniert auch mit .NET Core 3.1+). +* Eine lizenzierte Kopie von **Aspose.HTML for .NET** – die kostenlose Testversion reicht für Evaluierungen. +* Visual Studio 2022 oder eine beliebige C#‑IDE Ihrer Wahl. + +--- + +## Schritt 1: Das Aspose.HTML‑NuGet‑Paket installieren + +Öffnen Sie Ihr Projektverzeichnis in einem Terminal und führen Sie aus: + +```bash +dotnet add package Aspose.HTML +``` + +Das Paket fügt den Namespace `Aspose.Html` hinzu, der die Klassen enthält, die Sie benötigen, um **HTML als ZIP** zu speichern. + +--- + +## Schritt 2: Einen benutzerdefinierten Resource‑Handler definieren + +Wenn Aspose.HTML ein Dokument in ein ZIP‑Archiv speichert, fragt es einen `ResourceHandler` für jede externe Ressource (Bilder, Schriftarten, CSS) ab. Durch die Bereitstellung eines Handlers können Sie steuern, was ins Archiv aufgenommen wird. Der folgende Handler gibt für jede angeforderte Ressource einen leeren Stream zurück, kann aber erweitert werden, um echte Dateien zu lesen. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Warum ein Handler wichtig ist** – Ohne ihn würde Aspose.HTML nur das HTML‑Markup einbetten und externe Dateien ignorieren, was zu einer defekten Seite führt, wenn das ZIP entpackt wird. Durch die Implementierung von `HandleResource` stellen Sie sicher, dass das erzeugte Archiv voll funktionsfähig ist. + +--- + +## Schritt 3: Das HTML‑Dokument erstellen + +Sie können HTML aus einem String, einem Dateipfad oder einem `Stream` laden. Hier verwenden wir einen einfachen String, der eine Überschrift enthält. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Wenn Sie lieber aus einer Datei laden möchten, ersetzen Sie den Konstruktor durch: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Schritt 4: Save‑Optionen konfigurieren, um den benutzerdefinierten Handler zu verwenden + +`HTMLSaveOptions` ermöglicht es Ihnen, das Ausgabeformat festzulegen. Durch das Setzen der Eigenschaft `ResourceHandler` wird Aspose.HTML angewiesen, `MyHandler` für jede externe Referenz aufzurufen. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Sie können außerdem die `CompressionLevel` anpassen, falls Sie ein kleineres Archiv benötigen: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Schritt 5: Das Dokument in ein ZIP‑Archiv speichern + +Jetzt schreiben Sie das HTML (und alle Ressourcen) in eine ZIP‑Datei. Der `FileStream` zeigt auf den Zielpfad; Aspose.HTML erstellt automatisch die Archivstruktur. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Erwartetes Ergebnis + +Nach dem Ausführen des Codes enthält `output.zip`: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Öffnen Sie das ZIP, extrahieren Sie `index.html` und doppelklicken Sie darauf im Browser. Sie sollten die Überschrift „Hello, World!“ sehen, was bestätigt, dass Sie **HTML erfolgreich in eine ZIP‑Datei konvertiert** haben. + +--- + +## Häufige Varianten und Sonderfälle + +| Situation | Wie der Code anzupassen ist | +|-----------|-----------------------------| +| **Echte Bilder einbetten** | In `MyHandler.HandleResource` die Bilddatei von der Festplatte lesen und deren `FileStream` zurückgeben. | +| **Mehrere HTML‑Seiten** | Separate `HTMLDocument`‑Instanzen erstellen und `doc.Save` für jede aufrufen, dabei dieselben `HTMLSaveOptions` verwenden. | +| **Benutzerdefinierte Ordnerstruktur** | `saveOptions.PreserveEmbeddedResources = true` setzen und den Ausgabeordner über `ResourceHandler` steuern. | +| **Große HTML‑Strings** | Einen `MemoryStream` für das Quell‑HTML verwenden, um zu vermeiden, dass der gesamte String im Speicher liegt. | +| **Passwortgeschütztes ZIP** | Aspose.HTML verschlüsselt ZIPs nicht direkt; wickeln Sie den `FileStream` nach dem Speichern mit einer Drittanbieter‑ZIP‑Bibliothek ein. | + +**Pro‑Tipp:** Entsorgen Sie `HTMLDocument` und alle Streams immer mit `using`‑Anweisungen, um nicht verwaltete Ressourcen zeitnah freizugeben. + +--- + +## Vollständiges, ausführbares Beispiel + +Unten finden Sie das komplette Programm, das Sie kopieren, einfügen und ausführen können. Es demonstriert den gesamten **HTML‑als‑ZIP‑Speichern**‑Workflow von Anfang bis Ende. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Führen Sie das Programm aus (`dotnet run`, wenn Sie ein Konsolenprojekt erstellt haben). Nach Abschluss sehen Sie eine Bestätigungsnachricht mit dem Pfad zu `output.zip`. + +--- + +## Überprüfung der Konvertierung + +1. Navigieren Sie zum vom Programm erstellten Ordner `output`. +2. Rechtsklick auf `output.zip` → **Alle extrahieren…**. +3. Öffnen Sie die extrahierte `index.html` in einem beliebigen Browser. +4. Sie sollten die Überschrift **Hello, World!** sehen. + +Wenn die Seite ohne fehlende Bilder oder CSS geladen wird, haben Sie **HTML erfolgreich in eine ZIP‑Datei konvertiert**. + +--- + +## Fehlersuche bei häufigen Problemen + +* **Leere ZIP‑Datei** – Stellen Sie sicher, dass `doc.Save` *nach* der Zuweisung von `ResourceHandler` aufgerufen wird. Der Handler muss ungleich `null` sein, damit die Konvertierung erfolgt. +* **Fehlende Ressourcen** – Erweitern Sie `MyHandler`, um Dateien auf der Festplatte oder in einer Datenbank zu finden. Geben Sie einen `FileStream` zurück, der auf die tatsächliche Ressource zeigt. +* **Berechtigungsfehler** – Prüfen Sie, ob die Anwendung Schreibrechte für das Zielverzeichnis hat. Verwenden Sie `Directory.CreateDirectory`, um sicherzustellen, dass der Ordner existiert. +* **Große Archive dauern lange** – Erhöhen Sie `CompressionLevel` auf `CompressionLevel.Fastest`, um die Verarbeitung zu beschleunigen (auf Kosten einer größeren Datei). + +--- + +## Nächste Schritte + +Jetzt, da Sie **HTML als ZIP speichern** können, könnten Sie Folgendes erkunden: + +* **CSS und JavaScript einbetten** – Fügen Sie sie dem ZIP hinzu, indem Sie die entsprechenden Streams in `MyHandler` zurückgeben. +* **PDFs aus demselben HTML erzeugen** – Verwenden Sie `HTMLSaveOptions` zusammen mit `PdfSaveOptions` für einen parallelen PDF‑Export. +* **Batch‑Verarbeitung** – Durchlaufen Sie eine Sammlung von HTML‑Strings oder -Dateien und erstellen Sie für jede ein separates ZIP. + +Diese Erweiterungen ermöglichen robuste Dokument‑Generierungspipelines, die sowohl Web‑ als auch Offline‑Szenarien bedienen. + +--- + +## Fazit + +Sie haben gelernt, wie Sie **HTML in C# mit Aspose.HTML als ZIP speichern** können – von der Installation der Bibliothek über das Schreiben eines benutzerdefinierten `ResourceHandler` bis hin zur Überprüfung des Ergebnisses. Wenn Sie die obigen Schritte befolgen, können Sie zuverlässig **HTML in eine ZIP‑Datei konvertieren**, Ressourcen paketieren und portablen Web‑Content aus jeder .NET‑Anwendung bereitstellen. Viel Spaß beim Coden! + +## Was sollten Sie als Nächstes lernen? + + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Code‑Beispiele mit Schritt‑für‑Schritt‑Erklärungen, damit Sie weitere API‑Funktionen meistern und alternative Implementierungsansätze in Ihren Projekten erkunden können. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/greek/net/html-extensions-and-conversions/_index.md b/html/greek/net/html-extensions-and-conversions/_index.md index 82a524f3bf..8ced5a4e87 100644 --- a/html/greek/net/html-extensions-and-conversions/_index.md +++ b/html/greek/net/html-extensions-and-conversions/_index.md @@ -102,6 +102,9 @@ url: /el/net/html-extensions-and-conversions/ ### [single file html – Αποθήκευση ιστοσελίδας ως ένα αρχείο HTML σε C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Μάθετε πώς να αποθηκεύσετε μια ιστοσελίδα ως ένα ενιαίο αρχείο HTML χρησιμοποιώντας C# και Aspose.HTML. +### [Πώς να αποθηκεύσετε HTML ως ZIP σε C# χρησιμοποιώντας Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Μάθετε πώς να αποθηκεύσετε αρχεία HTML σε αρχείο ZIP με C# και Aspose.HTML, βήμα‑βήμα οδηγός. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} diff --git a/html/greek/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/greek/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..582548e5ca --- /dev/null +++ b/html/greek/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Μάθετε πώς να αποθηκεύσετε HTML ως ZIP σε C# με το Aspose.HTML. Αυτός + ο οδηγός βήμα‑βήμα δείχνει επίσης πώς να μετατρέψετε το HTML σε αρχείο ZIP για εκτός + σύνδεσης διανομή. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: el +lastmod: 2026-09-26 +og_description: Αποθηκεύστε HTML ως ZIP σε C# με το Aspose.HTML. Ακολουθήστε αυτό + το σεμινάριο για να μετατρέψετε HTML σε αρχείο ZIP, να διαχειριστείτε τους πόρους + και να δημιουργήσετε ένα φορητό αρχείο. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Αποθήκευση HTML ως ZIP σε C# – πλήρης οδηγός Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Πώς να αποθηκεύσετε HTML ως ZIP σε C# χρησιμοποιώντας το Aspose.HTML +url: /el/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να αποθηκεύσετε HTML ως ZIP σε C# χρησιμοποιώντας το Aspose.HTML + +Αν χρειάζεστε **αποθήκευση HTML ως ZIP** σε μια εφαρμογή .NET, αυτός ο οδηγός σας παρουσιάζει μια πλήρη λύση. Θα δείτε πώς να μετατρέψετε HTML σε αρχείο ZIP, να ενσωματώσετε πόρους και να γράψετε το αρχείο σε δίσκο με μόνο λίγες γραμμές κώδικα C#. + +Η αποθήκευση HTML ως ZIP είναι χρήσιμη όταν θέλετε να διανείμετε μια αυτόνομη ιστοσελίδα, να ενσωματώσετε μια προεπισκόπηση σε email ή να αρχειοθετήσετε παραγόμενες αναφορές. Η προσέγγιση λειτουργεί με οποιοδήποτε HTML string ή αρχείο και απαιτεί μόνο τη βιβλιοθήκη Aspose.HTML. + +Σε αυτόν τον οδηγό θα: + +* Δημιουργήσετε ένα `HTMLDocument` από ένα string ή υπάρχον αρχείο. +* Υλοποιήσετε έναν προσαρμοσμένο `ResourceHandler` ώστε οι εικόνες, τα CSS ή τα scripts να συσκευάζονται σωστά. +* Ρυθμίσετε το `HTMLSaveOptions` ώστε να κατευθύνει την έξοδο σε αρχείο ZIP. +* Επαληθεύσετε ότι το παραγόμενο `output.zip` περιέχει τα αναμενόμενα αρχεία. + +**Προαπαιτούμενα** + +* .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί επίσης με .NET Core 3.1+). +* Μια αδειοδοτημένη έκδοση του **Aspose.HTML for .NET** – η δωρεάν δοκιμή λειτουργεί για αξιολόγηση. +* Visual Studio 2022 ή οποιοδήποτε IDE C# προτιμάτε. + +--- + +## Βήμα 1: Εγκατάσταση του πακέτου NuGet Aspose.HTML + +Ανοίξτε το φάκελο του έργου σας σε ένα τερματικό και εκτελέστε: + +```bash +dotnet add package Aspose.HTML +``` + +Το πακέτο προσθέτει το namespace `Aspose.Html`, το οποίο περιέχει τις κλάσεις που χρειάζεστε για **αποθήκευση HTML ως ZIP**. + +--- + +## Βήμα 2: Ορισμός προσαρμοσμένου διαχειριστή πόρων + +Όταν το Aspose.HTML αποθηκεύει ένα έγγραφο σε αρχείο ZIP, ζητά ένα `ResourceHandler` για κάθε εξωτερικό πόρο (εικόνες, γραμματοσειρές, CSS). Η παροχή ενός διαχειριστή σας επιτρέπει να ελέγχετε τι θα συμπεριληφθεί στο αρχείο. Ο παρακάτω διαχειριστής επιστρέφει ένα κενό stream για οποιονδήποτε ζητούμενο πόρο, αλλά μπορείτε να το επεκτείνετε ώστε να διαβάζει πραγματικά αρχεία. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Γιατί είναι σημαντικός ένας διαχειριστής** – Χωρίς αυτό, το Aspose.HTML θα ενσωματώνει μόνο το HTML markup και θα αγνοεί τα εξωτερικά αρχεία, με αποτέλεσμα μια κατεστραμμένη σελίδα όταν το ZIP αποσυμπιεστεί. Με την υλοποίηση του `HandleResource`, εξασφαλίζετε ότι το παραγόμενο αρχείο είναι πλήρως λειτουργικό. + +--- + +## Βήμα 3: Δημιουργία του HTML εγγράφου + +Μπορείτε να φορτώσετε HTML από ένα string, μια διαδρομή αρχείου ή ένα `Stream`. Εδώ χρησιμοποιούμε ένα απλό string που περιέχει μια επικεφαλίδα. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Αν προτιμάτε να φορτώσετε από αρχείο, αντικαταστήστε τον κατασκευαστή με: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Βήμα 4: Ρύθμιση επιλογών αποθήκευσης για χρήση του προσαρμοσμένου διαχειριστή + +`HTMLSaveOptions` σας επιτρέπει να καθορίσετε τη μορφή εξόδου. Ορίζοντας την ιδιότητα `ResourceHandler` λέτε στο Aspose.HTML να καλέσει το `MyHandler` για κάθε εξωτερική αναφορά. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Μπορείτε επίσης να ρυθμίσετε το `CompressionLevel` εάν χρειάζεστε μικρότερο αρχείο: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Βήμα 5: Αποθήκευση του εγγράφου σε αρχείο ZIP + +Τώρα γράψτε το HTML (και τυχόν πόρους) σε αρχείο ZIP. Το `FileStream` δείχνει στη διαδρομή προορισμού· το Aspose.HTML δημιουργεί αυτόματα τη δομή του αρχείου. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Αναμενόμενο αποτέλεσμα + +Μετά την εκτέλεση του κώδικα, το `output.zip` θα περιέχει: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Ανοίξτε το ZIP, εξάγετε το `index.html` και κάντε διπλό‑κλικ σε αυτό σε έναν περιηγητή. Θα πρέπει να δείτε την επικεφαλίδα “Hello, World!”, επιβεβαιώνοντας ότι έχετε μετατρέψει επιτυχώς το HTML σε αρχείο ZIP. + +--- + +## Κοινές παραλλαγές και ειδικές περιπτώσεις + +| Κατάσταση | Πώς να προσαρμόσετε τον κώδικα | +|-----------|-------------------------------| +| **Ενσωμάτωση πραγματικών εικόνων** | Στο `MyHandler.HandleResource`, διαβάστε το αρχείο εικόνας από το δίσκο και επιστρέψτε το `FileStream`. | +| **Πολλαπλές σελίδες HTML** | Δημιουργήστε ξεχωριστές στιγμές `HTMLDocument` και καλέστε `doc.Save` για κάθε μία, χρησιμοποιώντας το ίδιο `HTMLSaveOptions`. | +| **Προσαρμοσμένη δομή φακέλων** | Ορίστε `saveOptions.PreserveEmbeddedResources = true` και ελέγξτε το φάκελο εξόδου μέσω του `ResourceHandler`. | +| **Μεγάλα HTML strings** | Χρησιμοποιήστε `MemoryStream` για το πηγαίο HTML ώστε να αποφύγετε τη φόρτωση ολόκληρου του string στη μνήμη. | +| **ZIP με κωδικό πρόσβασης** | Το Aspose.HTML δεν κρυπτογραφεί απευθείας τα ZIP· τυλίξτε το `FileStream` με μια βιβλιοθήκη τρίτου μέρους μετά την αποθήκευση. | + +**Συμβουλή:** Πάντα απελευθερώνετε το `HTMLDocument` και τυχόν streams με δηλώσεις `using` ώστε να ελευθερώνονται άμεσα οι μη διαχειριζόμενοι πόροι. + +--- + +## Πλήρες, εκτελέσιμο παράδειγμα + +Παρακάτω βρίσκεται το πλήρες πρόγραμμα που μπορείτε να αντιγράψετε, επικολλήσετε και εκτελέσετε. Δείχνει ολόκληρη τη ροή εργασίας **αποθήκευσης HTML ως ZIP** από την αρχή μέχρι το τέλος. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Εκτελέστε το πρόγραμμα (`dotnet run` αν δημιουργήσατε ένα console project). Όταν ολοκληρωθεί, θα δείτε ένα μήνυμα επιβεβαίωσης με τη διαδρομή προς το `output.zip`. + +--- + +## Επαλήθευση της μετατροπής + +1. Μεταβείτε στον φάκελο `output` που δημιουργήθηκε από το πρόγραμμα. +2. Κάντε δεξί κλικ στο `output.zip` → **Extract All…**. +3. Ανοίξτε το εξαγόμενο `index.html` σε οποιονδήποτε περιηγητή. +4. Θα πρέπει να δείτε την επικεφαλίδα **Hello, World!**. + +Αν η σελίδα φορτώνει χωρίς ελλιπείς εικόνες ή CSS, έχετε μετατρέψει επιτυχώς το HTML σε αρχείο ZIP. + +--- + +## Αντιμετώπιση κοινών προβλημάτων + +* **Αδειανό αρχείο ZIP** – Βεβαιωθείτε ότι το `doc.Save` καλείται *μετά* την ανάθεση του `ResourceHandler`. Ο διαχειριστής πρέπει να μην είναι null για να γίνει η μετατροπή. +* **Λείπουν πόροι** – Επεκτείνετε το `MyHandler` ώστε να εντοπίζει αρχεία στο δίσκο ή σε βάση δεδομένων. Επιστρέψτε ένα `FileStream` που δείχνει στον πραγματικό πόρο. +* **Σφάλματα δικαιωμάτων** – Επιβεβαιώστε ότι η εφαρμογή έχει δικαίωμα εγγραφής στον προορισμό. Χρησιμοποιήστε `Directory.CreateDirectory` για να εξασφαλίσετε ότι ο φάκελος υπάρχει. +* **Μεγάλα αρχεία ZIP παίρνουν πολύ χρόνο** – Αυξήστε το `CompressionLevel` σε `CompressionLevel.Fastest` για ταχύτερη επεξεργασία με κόστος μεγαλύτερου αρχείου. + +--- + +## Επόμενα βήματα + +Τώρα που μπορείτε να **αποθηκεύσετε HTML ως ZIP**, μπορείτε να εξερευνήσετε: + +* **Ενσωμάτωση CSS και JavaScript** – Προσθέστε τα στο ZIP επιστρέφοντας τα κατάλληλα streams στο `MyHandler`. +* **Δημιουργία PDF από το ίδιο HTML** – Χρησιμοποιήστε `HTMLSaveOptions` με `PdfSaveOptions` για εξαγωγή PDF παράλληλα. +* **Επεξεργασία παρτίδας** – Κάντε βρόχο πάνω σε μια συλλογή HTML strings ή αρχείων και δημιουργήστε ξεχωριστό ZIP για το καθένα. + +Αυτές οι επεκτάσεις σας επιτρέπουν να δημιουργήσετε αξιόπιστες pipelines δημιουργίας εγγράφων που εξυπηρετούν τόσο διαδικτυακές όσο και εκτός σύνδεσης περιπτώσεις. + +--- + +## Συμπέρασμα + +Μάθατε πώς να **αποθηκεύσετε HTML ως ZIP** σε C# με το Aspose.HTML, καλύπτοντας όλα από την εγκατάσταση της βιβλιοθήκης μέχρι τη δημιουργία προσαρμοσμένου `ResourceHandler` και την επαλήθευση του αποτελέσματος. Ακολουθώντας τα παραπάνω βήματα μπορείτε αξιόπιστα **να μετατρέψετε HTML σε αρχείο ZIP**, να πακετάρετε πόρους και να παραδίδετε φορητό web περιεχόμενο από οποιαδήποτε εφαρμογή .NET. Καλή προγραμματιστική! + +## Τι θα πρέπει να μάθετε στη συνέχεια; + +Οι παρακάτω εκπαιδευτικές οδηγίες καλύπτουν στενά συναφή θέματα που βασίζονται στις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη παραδείγματα κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσουν να κατακτήσετε πρόσθετες δυνατότητες του API και να εξερευνήσετε εναλλακτικές προσεγγίσεις υλοποίησης στα δικά σας έργα. + +- [Πώς να συμπιέσετε HTML σε C# – Αποθήκευση HTML σε ZIP](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Δημιουργία αρχείου zip C# – Οδηγός βήμα‑βήμα για συμπίεση HTML στη μνήμη](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Προσαρμοσμένος Διαχειριστής Πόρων σε C# – Εκπαίδευση μετατροπής HTML σε ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hindi/net/html-extensions-and-conversions/_index.md b/html/hindi/net/html-extensions-and-conversions/_index.md index 8a7ee3efe9..9117f6c7ea 100644 --- a/html/hindi/net/html-extensions-and-conversions/_index.md +++ b/html/hindi/net/html-extensions-and-conversions/_index.md @@ -42,10 +42,10 @@ Aspose.HTML for .NET सिर्फ़ एक लाइब्रेरी न ### [Aspose.HTML के साथ .NET में HTML को PDF में बदलें](./convert-html-to-pdf/) .NET के लिए Aspose.HTML के साथ HTML को PDF में आसानी से बदलें। हमारे चरण-दर-चरण गाइड का पालन करें और HTML-से-PDF रूपांतरण की शक्ति को प्राप्त करें। ### [URL से PDF बनाएं – पूर्ण C# गाइड](./create-pdf-from-url-complete-c-guide/) -C# में URL से PDF बनाने की पूरी प्रक्रिया सीखें, चरण-दर-चरण मार्गदर्शिका। +C# में URL से PDF बनाने की पूरी प्रक्रिया सीखें, चरण-दर-स्टेप मार्गदर्शिका। ### [HTML से PDF बनाएं – C# चरण‑दर‑चरण गाइड](./create-pdf-from-html-c-step-by-step-guide/) C# में Aspose.HTML का उपयोग करके HTML को PDF में बदलने का चरण‑दर‑चरण मार्गदर्शन। -### [Aspose.HTML के साथ HTML से PDF बनाएं – चरण‑दर‑चरण गाइड](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) +### [Aspose.HTML के साथ HTML से PDF बनाएं – चरण‑दर‑चरण गाइड](./create-html-from-html-with-aspose-html-step-by-step-guide/) C# में Aspose.HTML का उपयोग करके HTML को PDF में बदलने की विस्तृत चरण‑दर‑चरण मार्गदर्शिका। ### [C# में HTML से PDF बनाएं – पूर्ण चरण‑दर‑चरण गाइड](./create-pdf-from-html-in-c-complete-step-by-step-guide/) @@ -70,7 +70,7 @@ C# में Aspose.HTML का उपयोग करके HTML को PDF म इस चरण-दर-स्टेप मार्गदर्शिका में .NET के लिए Aspose.HTML की शक्ति का उपयोग करना सीखें। HTML को DOCX में आसानी से बदलें और अपने .NET प्रोजेक्ट को बेहतर बनाएँ। आज ही शुरू करें! ### [Aspose.HTML के साथ .NET में HTML को GIF में बदलें](./convert-html-to-gif/) -.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को GIF में बदलने के लिए चरण‑दर‑चरण मार्गदर्शिका। पूर्वापेक्षाएँ, कोड उदाहरण, FAQ, और बहुत कुछ! Aspose.HTML के साथ अपने HTML हेरफेर को अनुकूलित करें। +.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को GIF में बदलने के लिए चरण‑दर‑चरण मार्गदर्शन। पूर्वापेक्षाएँ, कोड उदाहरण, FAQ, और बहुत कुछ! Aspose.HTML के साथ अपने HTML हेरफेर को अनुकूलित करें। ### [Aspose.HTML के साथ .NET में HTML को JPEG में बदलें](./convert-html-to-jpeg/) .NET के लिए Aspose.HTML के साथ .NET में HTML को JPEG में बदलने का तरीका जानें। .NET के लिए Aspose.HTML की शक्ति का उपयोग करने के लिए चरण‑दर‑चरण मार्गदर्शिका। अपने वेब डेवलपमेंट कार्यों को आसानी से अनुकूलित करें। @@ -94,7 +94,7 @@ Aspose.HTML के साथ .NET में HTML को MHTML में बद .NET के लिए Aspose.HTML का उपयोग करके C# में HTML को ज़िप फ़ाइल में सहेजने का तरीका सीखें। ### [स्टाइल्ड टेक्स्ट के साथ HTML दस्तावेज़ बनाएं और PDF में निर्यात करें – पूर्ण गाइड](./create-html-document-with-styled-text-and-export-to-pdf-full/) Aspose.HTML for .NET का उपयोग करके स्टाइल्ड टेक्ट वाले HTML दस्तावेज़ को बनाएं और उसे PDF में निर्यात करने की पूरी गाइड। -.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को XPS में आसानी से बदलें। पूर्वापेक्षाएँ, चरण-दर-स्टेप मार्गदर्शिका और FAQ शामिल हैं। +.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को XPS में आसानी से बदलें। पूर्वापेक्षाएँ, चरण‑दर‑स्टेप मार्गदर्शिका और FAQ शामिल हैं। ### [C# में HTML को ZIP में सहेजें – पूर्ण इन‑मेमोरी उदाहरण](./save-html-to-zip-in-c-complete-in-memory-example/) C# में इन‑मेमोरी में HTML को ZIP फ़ाइल में सहेजने का पूरा उदाहरण देखें। ### [C# में HTML को ZIP में सहेजें – पूर्ण गाइड](./save-html-to-zip-in-c-complete-guide/) @@ -103,15 +103,15 @@ C# में इन‑मेमोरी में HTML को ZIP फ़ाइ C# का उपयोग करके वेब पेज को एकल HTML फ़ाइल में सहेजने के चरण‑दर‑स्टेप मार्गदर्शन। ### [C# में कस्टम रिसोर्स हैंडलर – HTML को ZIP में बदलें ट्यूटोरियल](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) -C# में कस्टम रिसोर्स हैंडलर का उपयोग करके HTML को ZIP फ़ाइल में बदलने के चरण‑दर‑चरण मार्गदर्शन। +C# में कस्टम रिसोर्स हैंडलर का उपयोग करके HTML को ZIP फ़ाइल में बदलने की चरण‑दर‑स्टेप मार्गदर्शन। ### [Aspose.HTML के साथ HTML को PDF में बदलें – पूर्ण चरण‑दर‑चरण गाइड](./convert-html-to-pdf-with-aspose-html-full-step-by-step-guide/) Aspose.HTML के साथ HTML को PDF में आसानी से बदलें। इस पूर्ण चरण‑दर‑चरण गाइड में सभी आवश्यक चरणों को देखें। -### [C# में ज़िप फ़ाइल बनाएं – मेमोरी में HTML को ज़िप करने के लिए चरण-दर-चरण गाइड](./create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) -.NET के लिए C# में मेमोरी में HTML को ज़िप करने की चरण-दर-चरण प्रक्रिया सीखें। +### [C# में ज़िप फ़ाइल बनाएं – मेमोरी में HTML को ज़िप करने के लिए चरण-दर-स्टेप गाइड](./create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +.NET के लिए C# में मेमोरी में HTML को ज़िप करने की चरण‑दर‑स्टेप प्रक्रिया सीखें। ### [C# में HTML को ZIP में बदलें – पूर्ण गाइड](./convert-html-to-zip-in-c-complete-guide/) -C# के लिए Aspose.HTML का उपयोग करके HTML को ZIP फ़ाइल में बदलने के चरण-दर-स्टेप मार्गदर्शन। +C# के लिए Aspose.HTML का उपयोग करके HTML को ZIP फ़ाइल में बदलने के चरण‑दर‑स्टेप मार्गदर्शन। ### [C# में HTML को ज़िप करने का पूरा चरण‑दर‑चरण गाइड](./how-to-zip-html-in-c-complete-step-by-step-guide/) -C# में Aspose.HTML का उपयोग करके HTML फ़ाइलों को ज़िप करने के चरण‑दर‑चरण निर्देश। सरल और तेज़ प्रक्रिया। +C# में Aspose.HTML का उपयोग करके HTML फ़ाइलों को ज़िप करने के चरण‑दर‑स्टेप निर्देश। सरल और तेज़ प्रक्रिया। ### [C# में HTML को ZIP के रूप में सहेजें – पूर्ण चरण‑दर‑चरण गाइड](./save-html-as-zip-in-c-complete-step-by-step-guide/) C# में Aspose.HTML का उपयोग करके HTML को ZIP फ़ाइल में सहेजने के चरणों को सीखें। @@ -121,6 +121,9 @@ C# में कस्टम रिसोर्स हैंडलर का उ ### [C# में HTML को ZIP करने का तरीका – HTML लोड करें और कस्टम हैंडलर का उपयोग करें](./how-to-zip-html-in-c-load-html-use-custom-handler/) C# में कस्टम रिसोर्स हैंडलर का उपयोग करके HTML को लोड करके ZIP फ़ाइल में सहेजने की चरण‑दर‑स्टेप गाइड। +### [C# में Aspose.HTML का उपयोग करके HTML को ZIP के रूप में सहेजें](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aspose.HTML का उपयोग करके C# में HTML को ZIP फ़ाइल में सहेजने की पूरी प्रक्रिया सीखें। + ## निष्कर्ष निष्कर्ष में, HTML एक्सटेंशन और रूपांतरण आधुनिक वेब विकास के आवश्यक तत्व हैं। .NET के लिए Aspose.HTML प्रक्रिया को सरल बनाता है और इसे सभी स्तरों के डेवलपर्स के लिए सुलभ बनाता है। हमारे ट्यूटोरियल का पालन करके, आप एक व्यापक कौशल सेट के साथ एक कुशल वेब डेवलपर बनने के अपने रास्ते पर अच्छी तरह से आगे बढ़ेंगे। diff --git a/html/hindi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/hindi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..45603a07d5 --- /dev/null +++ b/html/hindi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,303 @@ +--- +category: general +date: 2026-09-26 +description: Aspose.HTML के साथ C# में HTML को ZIP के रूप में सहेजना सीखें। यह चरण‑दर‑चरण + गाइड यह भी दिखाता है कि ऑफ़लाइन वितरण के लिए HTML को ZIP फ़ाइल में कैसे बदलें। +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: hi +lastmod: 2026-09-26 +og_description: Aspose.HTML के साथ C# में HTML को ZIP के रूप में सहेजें। इस ट्यूटोरियल + का पालन करके HTML को ZIP फ़ाइल में बदलें, संसाधनों को संभालें, और एक पोर्टेबल आर्काइव + बनाएं। +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: C# में HTML को ZIP के रूप में सहेजें – पूर्ण Aspose.HTML गाइड +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: C# में Aspose.HTML का उपयोग करके HTML को ZIP के रूप में कैसे सहेजें +url: /hi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में Aspose.HTML का उपयोग करके HTML को ZIP के रूप में सहेजें + +यदि आपको .NET एप्लिकेशन में **HTML को ZIP के रूप में सहेजना** है, तो यह गाइड एक पूर्ण समाधान दिखाता है। आप देखेंगे कि कैसे HTML को ZIP फ़ाइल में बदलें, संसाधनों को एम्बेड करें, और कुछ ही पंक्तियों के C# कोड से आर्काइव को डिस्क पर लिखें। + +HTML को ZIP के रूप में सहेजना तब उपयोगी होता है जब आप एक स्व-निहित वेब पेज वितरित करना चाहते हैं, ई‑मेल में प्रीव्यू एम्बेड करना चाहते हैं, या उत्पन्न रिपोर्टों को आर्काइव करना चाहते हैं। यह तरीका किसी भी HTML स्ट्रिंग या फ़ाइल के साथ काम करता है, और केवल Aspose.HTML लाइब्रेरी की आवश्यकता होती है। + +इस ट्यूटोरियल में आप करेंगे: + +* स्ट्रिंग या मौजूदा फ़ाइल से `HTMLDocument` बनाना। +* एक कस्टम `ResourceHandler` लागू करना ताकि इमेज, CSS, या स्क्रिप्ट सही तरीके से पैकेज हों। +* `HTMLSaveOptions` को कॉन्फ़िगर करना ताकि आउटपुट एक ZIP आर्काइव में लिखा जाए। +* यह सत्यापित करना कि उत्पन्न `output.zip` में अपेक्षित फ़ाइलें मौजूद हैं। + +**पूर्वापेक्षाएँ** + +* .NET 6.0 या बाद का संस्करण (कोड .NET Core 3.1+ के साथ भी काम करता है)। +* **Aspose.HTML for .NET** की लाइसेंस्ड कॉपी – मूल्यांकन के लिए फ्री ट्रायल उपलब्ध है। +* Visual Studio 2022 या कोई भी पसंदीदा C# IDE। + +--- + +## चरण 1: Aspose.HTML NuGet पैकेज स्थापित करें + +टर्मिनल में अपने प्रोजेक्ट फ़ोल्डर को खोलें और चलाएँ: + +```bash +dotnet add package Aspose.HTML +``` + +यह पैकेज `Aspose.Html` नेमस्पेस जोड़ता है, जिसमें वह क्लासेज़ हैं जिनकी आपको **HTML को ZIP के रूप में सहेजने** के लिए आवश्यकता होगी। + +--- + +## चरण 2: एक कस्टम रिसोर्स हैंडलर परिभाषित करें + +जब Aspose.HTML किसी दस्तावेज़ को ZIP आर्काइव में सहेजता है, तो वह प्रत्येक बाहरी संसाधन (इमेज, फ़ॉन्ट, CSS) के लिए `ResourceHandler` को कॉल करता है। हैंडलर प्रदान करने से आप नियंत्रित कर सकते हैं कि क्या आर्काइव में शामिल हो। नीचे दिया गया हैंडलर किसी भी अनुरोधित संसाधन के लिए एक खाली स्ट्रीम लौटाता है, लेकिन आप इसे वास्तविक फ़ाइलें पढ़ने के लिए विस्तारित कर सकते हैं। + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**हैंडलर क्यों महत्वपूर्ण है** – बिना हैंडलर के, Aspose.HTML केवल HTML मार्कअप को एम्बेड करेगा और बाहरी फ़ाइलों को अनदेखा करेगा, जिससे ZIP अनज़िप करने पर पेज टूट जाएगा। `HandleResource` को इम्प्लीमेंट करके आप सुनिश्चित करते हैं कि उत्पन्न आर्काइव पूरी तरह कार्यशील हो। + +--- + +## चरण 3: HTML दस्तावेज़ बनाएं + +आप HTML को स्ट्रिंग, फ़ाइल पाथ, या `Stream` से लोड कर सकते हैं। यहाँ हम एक साधारण स्ट्रिंग का उपयोग करते हैं जिसमें एक हेडिंग है। + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +यदि आप फ़ाइल से लोड करना चाहते हैं, तो कंस्ट्रक्टर को इस प्रकार बदलें: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## चरण 4: कस्टम हैंडलर के साथ सेव ऑप्शन कॉन्फ़िगर करें + +`HTMLSaveOptions` आपको आउटपुट फॉर्मेट निर्दिष्ट करने की अनुमति देता है। इसकी `ResourceHandler` प्रॉपर्टी सेट करने से Aspose.HTML को प्रत्येक बाहरी रेफ़रेंस के लिए `MyHandler` को कॉल करने का निर्देश मिलता है। + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +यदि आपको छोटा आर्काइव चाहिए, तो आप `CompressionLevel` को भी समायोजित कर सकते हैं: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## चरण 5: दस्तावेज़ को ZIP आर्काइव में सहेजें + +अब HTML (और कोई भी संसाधन) को ZIP फ़ाइल में लिखें। `FileStream` गंतव्य पाथ की ओर इशारा करता है; Aspose.HTML स्वचालित रूप से आर्काइव संरचना बनाता है। + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### अपेक्षित परिणाम + +कोड चलाने के बाद, `output.zip` में निम्नलिखित फ़ाइलें होंगी: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +ZIP खोलें, `index.html` निकालें, और ब्राउज़र में डबल‑क्लिक करें। आपको “Hello, World!” हेडिंग दिखाई देनी चाहिए, जिससे पुष्टि होगी कि आपने सफलतापूर्वक **HTML को ZIP फ़ाइल में परिवर्तित** किया है। + +--- + +## सामान्य विविधताएँ और किनारी स्थितियाँ + +| स्थिति | कोड को कैसे अनुकूलित करें | +|-----------|-----------------------| +| **वास्तविक इमेज एम्बेड करना** | `MyHandler.HandleResource` में, डिस्क से इमेज फ़ाइल पढ़ें और उसका `FileStream` लौटाएँ। | +| **एकाधिक HTML पेज** | अलग‑अलग `HTMLDocument` इंस्टेंस बनाएँ और प्रत्येक के लिए `doc.Save` कॉल करें, वही `HTMLSaveOptions` उपयोग करते हुए। | +| **कस्टम फ़ोल्डर संरचना** | `saveOptions.PreserveEmbeddedResources = true` सेट करें और `ResourceHandler` के माध्यम से आउटपुट फ़ोल्डर नियंत्रित करें। | +| **बड़ी HTML स्ट्रिंग्स** | स्रोत HTML के लिए `MemoryStream` उपयोग करें ताकि पूरी स्ट्रिंग मेमोरी में लोड न हो। | +| **पासवर्ड‑सुरक्षित ZIP** | Aspose.HTML सीधे ZIP को एन्क्रिप्ट नहीं करता; सहेजने के बाद `FileStream` को किसी थर्ड‑पार्टी ZIP लाइब्रेरी से रैप करें। | + +**प्रो टिप:** हमेशा `using` स्टेटमेंट्स के साथ `HTMLDocument` और किसी भी स्ट्रीम को डिस्पोज़ करें ताकि अनमैनेज्ड रिसोर्सेज़ तुरंत मुक्त हो जाएँ। + +--- + +## पूर्ण, चलाने योग्य उदाहरण + +नीचे पूरा प्रोग्राम दिया गया है जिसे आप कॉपी‑पेस्ट करके चला सकते हैं। यह **HTML को ZIP के रूप में सहेजने** के पूरे वर्कफ़्लो को शुरू से अंत तक दर्शाता है। + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +प्रोग्राम चलाएँ (`dotnet run` यदि आपने एक कंसोल प्रोजेक्ट बनाया है)। समाप्त होने पर आपको `output.zip` के पाथ के साथ एक पुष्टि संदेश दिखाई देगा। + +--- + +## रूपांतरण की जाँच + +1. प्रोग्राम द्वारा निर्मित `output` फ़ोल्डर पर जाएँ। +2. `output.zip` पर राइट‑क्लिक → **Extract All…**। +3. निकाली गई `index.html` को किसी भी ब्राउज़र में खोलें। +4. आपको हेडिंग **Hello, World!** दिखनी चाहिए। + +यदि पेज बिना कोई इमेज या CSS मिस हुए लोड होता है, तो आपने सफलतापूर्वक **HTML को ZIP फ़ाइल में परिवर्तित** किया है। + +--- + +## सामान्य समस्याओं का निवारण + +* **खाली ZIP फ़ाइल** – सुनिश्चित करें कि `doc.Save` को `ResourceHandler` असाइन करने के *बाद* कॉल किया गया है। हैंडलर नॉन‑नल होना चाहिए ताकि रूपांतरण हो सके। +* **संसाधन गायब** – `MyHandler` को विस्तारित करके फ़ाइलों को डिस्क या डेटाबेस से लोकेट करें। वास्तविक संसाधन की ओर इशारा करने वाला `FileStream` लौटाएँ। +* **परमीशन त्रुटियाँ** – यह जांचें कि एप्लिकेशन को लक्ष्य डायरेक्टरी में लिखने की अनुमति है। फ़ोल्डर मौजूद न हो तो `Directory.CreateDirectory` से सुनिश्चित करें। +* **बड़े आर्काइव में समय अधिक** – प्रोसेसिंग को तेज़ करने के लिए `CompressionLevel` को `CompressionLevel.Fastest` पर सेट करें, हालांकि इससे फ़ाइल आकार बड़ा रहेगा। + +--- + +## अगले कदम + +अब जब आप **HTML को ZIP के रूप में सहेज** सकते हैं, तो आप आगे देख सकते हैं: + +* **CSS और JavaScript एम्बेड करना** – `MyHandler` में उपयुक्त स्ट्रीम्स लौटाकर उन्हें ZIP में जोड़ें। +* **उसी HTML से PDF बनाना** – `HTMLSaveOptions` के साथ `PdfSaveOptions` उपयोग करके साइड‑बाय‑साइड PDF एक्सपोर्ट प्राप्त करें। +* **बैच प्रोसेसिंग** – HTML स्ट्रिंग्स या फ़ाइलों के संग्रह पर लूप चलाएँ और प्रत्येक के लिए अलग ZIP बनाएँ। + +इन एक्सटेंशन से आप मजबूत डॉक्यूमेंट‑जनरेशन पाइपलाइन बना सकते हैं जो वेब और ऑफ़लाइन दोनों परिदृश्यों को सपोर्ट करती है। + +--- + +## निष्कर्ष + +आपने C# में Aspose.HTML के साथ **HTML को ZIP के रूप में सहेजना** सीख लिया है, लाइब्रेरी इंस्टॉल करने से लेकर कस्टम `ResourceHandler` लिखने और आउटपुट को वेरिफाई करने तक सभी चरणों को कवर किया। ऊपर दिए गए चरणों का पालन करके आप भरोसेमंद रूप से **HTML को ZIP फ़ाइल में परिवर्तित**, संसाधनों को पैकेज और किसी भी .NET एप्लिकेशन से पोर्टेबल वेब कंटेंट वितरित कर सकते हैं। Happy coding! + +## आगे क्या सीखें? + +निम्नलिखित ट्यूटोरियल्स उन विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं, जिससे आप अतिरिक्त API फीचर्स में महारत हासिल कर सकते हैं और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन एप्रोच का पता लगा सकते हैं। + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hongkong/net/html-extensions-and-conversions/_index.md b/html/hongkong/net/html-extensions-and-conversions/_index.md index 4ff698613d..a73b84d8d4 100644 --- a/html/hongkong/net/html-extensions-and-conversions/_index.md +++ b/html/hongkong/net/html-extensions-and-conversions/_index.md @@ -97,6 +97,8 @@ Aspose.HTML for .NET 不只是一個函式庫;它還是一個函式庫。它 了解如何使用 Aspose.HTML for .NET 在記憶體中將 HTML 壓縮成 zip 檔案,提供完整的 C# 程式碼範例與步驟說明。 ### [使用 Aspose.HTML 將 .NET 中的 HTML 轉換為 ZIP](./convert-html-to-zip-in-c-complete-guide/) 了解如何使用 Aspose.HTML for .NET 在 C# 中將 HTML 轉換為 ZIP,提供程式碼範例與逐步說明。 +### [如何在 C# 中使用 Aspose.HTML 將 HTML 儲存為 ZIP](./how-to-save-html-as-zip-in-c-using-aspose-html/) +使用 Aspose.HTML for .NET 在 C# 中將 HTML 壓縮為 ZIP,提供完整步驟與範例說明。 ### [如何在 C# 中壓縮 HTML – 完整步驟指南](./how-to-zip-html-in-c-complete-step-by-step-guide/) 學習使用 Aspose.HTML for .NET 在 C# 中將 HTML 文件壓縮為 ZIP 檔案的完整步驟與範例。 ### [在 C# 中從 HTML 建立 PDF – 完整步驟指南](./create-pdf-from-html-in-c-complete-step-by-step-guide/) diff --git a/html/hongkong/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/hongkong/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..eb0dff52ed --- /dev/null +++ b/html/hongkong/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,300 @@ +--- +category: general +date: 2026-09-26 +description: 學習如何在 C# 中使用 Aspose.HTML 將 HTML 儲存為 ZIP。此一步一步的指南亦示範如何將 HTML 轉換為 ZIP 檔案,以供離線分發。 +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: zh-hant +lastmod: 2026-09-26 +og_description: 使用 Aspose.HTML 在 C# 中將 HTML 儲存為 ZIP。按照本教學將 HTML 轉換為 ZIP 檔案、處理資源,並產生可攜式壓縮檔。 +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: 在 C# 中將 HTML 儲存為 ZIP – 完整 Aspose.HTML 指南 +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: 如何在 C# 中使用 Aspose.HTML 將 HTML 儲存為 ZIP +url: /zh-hant/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中使用 Aspose.HTML 將 HTML 儲存為 ZIP + +如果您需要在 .NET 應用程式中 **將 HTML 儲存為 ZIP**,本指南將為您提供完整解決方案。您將看到如何將 HTML 轉換為 ZIP 檔案、嵌入資源,並僅用幾行 C# 程式碼將壓縮檔寫入磁碟。 + +將 HTML 儲存為 ZIP 在您想要分發自包含的網頁、在電子郵件中嵌入預覽,或歸檔產生的報告時非常有用。此方法適用於任何 HTML 字串或檔案,且僅需 Aspose.HTML 函式庫。 + +在本教學中您將: + +* 從字串或現有檔案建立 `HTMLDocument`。 +* 實作自訂的 `ResourceHandler`,以正確封裝圖片、CSS 或腳本。 +* 設定 `HTMLSaveOptions`,將輸出導向 ZIP 壓縮檔。 +* 驗證產生的 `output.zip` 包含預期的檔案。 + +**先決條件** + +* .NET 6.0 或更新版本(程式碼亦支援 .NET Core 3.1+)。 +* 取得 **Aspose.HTML for .NET** 的授權副本——免費試用版可用於評估。 +* Visual Studio 2022 或您偏好的任何 C# IDE。 + +--- + +## 第一步:安裝 Aspose.HTML NuGet 套件 + +在終端機中開啟您的專案資料夾,執行以下指令: + +```bash +dotnet add package Aspose.HTML +``` + +此套件會加入 `Aspose.Html` 命名空間,其中包含您需要的 **將 HTML 儲存為 ZIP** 類別。 + +--- + +## 第二步:定義自訂資源處理程式 + +當 Aspose.HTML 將文件儲存為 ZIP 壓縮檔時,會向 `ResourceHandler` 請求每個外部資源(圖片、字型、CSS)。提供處理程式可讓您控制要放入壓縮檔的內容。以下處理程式會為任何請求的資源回傳空的串流,您亦可擴充以讀取實際檔案。 + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**為何需要處理程式** – 若未提供,Aspose.HTML 只會嵌入 HTML 標記,忽略外部檔案,導致解壓縮後的頁面損壞。透過實作 `HandleResource`,您可確保產生的壓縮檔能完整運作。 + +--- + +## 第三步:建立 HTML 文件 + +您可以從字串、檔案路徑或 `Stream` 載入 HTML。此處使用包含標題的簡單字串。 + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +如果您想從檔案載入,請將建構子替換為: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## 第四步:設定儲存選項以使用自訂處理程式 + +`HTMLSaveOptions` 讓您指定輸出格式。設定其 `ResourceHandler` 屬性即可指示 Aspose.HTML 為每個外部參照呼叫 `MyHandler`。 + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +若需要更小的壓縮檔,也可以調整 `CompressionLevel`: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## 第五步:將文件儲存為 ZIP 壓縮檔 + +現在將 HTML(以及任何資源)寫入 ZIP 檔案。`FileStream` 指向目標路徑;Aspose.HTML 會自動建立壓縮檔結構。 + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### 預期結果 + +程式執行完畢後,`output.zip` 會包含以下內容: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +開啟 ZIP,解壓 `index.html`,在瀏覽器中雙擊開啟。您應該會看到 “Hello, World!” 標題,證明您已成功 **將 HTML 轉換為 ZIP 檔案**。 + +--- + +## 常見變化與邊緣情況 + +| 情況 | 如何調整程式碼 | +|-----------|-----------------------| +| **嵌入真實圖片** | 在 `MyHandler.HandleResource` 中,從磁碟讀取圖片檔案並回傳其 `FileStream`。 | +| **多個 HTML 頁面** | 建立多個 `HTMLDocument` 實例,分別呼叫 `doc.Save`,使用相同的 `HTMLSaveOptions`。 | +| **自訂資料夾結構** | 將 `saveOptions.PreserveEmbeddedResources = true`,並透過 `ResourceHandler` 控制輸出資料夾。 | +| **大型 HTML 字串** | 使用 `MemoryStream` 作為來源 HTML,以避免將整個字串載入記憶體。 | +| **受密碼保護的 ZIP** | Aspose.HTML 本身不直接加密 ZIP;儲存後可使用第三方 ZIP 函式庫將 `FileStream` 包裝以加密。 | + +**小技巧:** 請務必使用 `using` 陳述式釋放 `HTMLDocument` 與任何串流,以即時釋放非受控資源。 + +--- + +## 完整、可執行範例 + +以下提供完整程式碼,您可以直接複製、貼上並執行。它示範了從頭到尾的 **將 HTML 儲存為 ZIP** 工作流程。 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +執行程式(若是建立了主控台專案,使用 `dotnet run`)。執行完成後,您會看到顯示 `output.zip` 路徑的確認訊息。 + +--- + +## 驗證轉換結果 + +1. 前往程式建立的 `output` 資料夾。 +2. 右鍵點擊 `output.zip` → **Extract All…**。 +3. 在任意瀏覽器中開啟解壓縮出的 `index.html`。 +4. 您應該會看到標題 **Hello, World!**。 + +若頁面載入時沒有缺少圖片或 CSS,即表示您已成功 **將 HTML 轉換為 ZIP 檔案**。 + +--- + +## 疑難排解常見問題 + +* **空的 ZIP 檔案** – 確認在指派 `ResourceHandler` 後才呼叫 `doc.Save`。處理程式必須非 null 才會執行轉換。 +* **資源遺失** – 擴充 `MyHandler` 以在磁碟或資料庫中尋找檔案。回傳指向實際資源的 `FileStream`。 +* **權限錯誤** – 確認應用程式對目標目錄具有寫入權限。使用 `Directory.CreateDirectory` 確保資料夾已存在。 +* **大型壓縮檔處理時間長** – 將 `CompressionLevel` 設為 `CompressionLevel.Fastest` 以加快處理速度,代價是檔案較大。 + +--- + +## 後續步驟 + +現在您已能 **將 HTML 儲存為 ZIP**,可以進一步探索: + +* **嵌入 CSS 與 JavaScript** – 在 `MyHandler` 中回傳相應的串流,以將它們加入 ZIP。 +* **從相同 HTML 產生 PDF** – 使用 `HTMLSaveOptions` 搭配 `PdfSaveOptions` 進行 PDF 輸出。 +* **批次處理** – 迭代 HTML 字串或檔案集合,為每個產生獨立的 ZIP。 + +這些擴充功能讓您能構建穩健的文件產生管線,支援網路與離線情境。 + +--- + +## 結論 + +您已學會如何在 C# 中使用 Aspose.HTML **將 HTML 儲存為 ZIP**,涵蓋從安裝函式庫、撰寫自訂 `ResourceHandler` 到驗證輸出等全部步驟。依照上述流程,您即可可靠地 **將 HTML 轉換為 ZIP 檔案**、封裝資源,並從任何 .NET 應用程式提供可攜式的網頁內容。祝開發順利! + +## 接下來該學什麼? + +以下教學涵蓋與本指南密切相關的主題,建立在所示技巧之上。每篇資源皆提供完整可執行的程式碼範例與逐步說明,協助您精通更多 API 功能,並在專案中探索其他實作方式。 + +- [如何在 C# 中壓縮 HTML – 將 HTML 儲存為 Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [建立 zip 檔案 C# – 逐步教學:在記憶體中壓縮 HTML](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [自訂資源處理程式 C# – HTML 轉 ZIP 教學](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hungarian/net/html-extensions-and-conversions/_index.md b/html/hungarian/net/html-extensions-and-conversions/_index.md index bc550de7e7..3c37201c20 100644 --- a/html/hungarian/net/html-extensions-and-conversions/_index.md +++ b/html/hungarian/net/html-extensions-and-conversions/_index.md @@ -58,7 +58,7 @@ Lépésről‑lépésre útmutató a HTML PDF‑re konvertálásához C#‑ban, ### [HTML zip-elése C#-ban – HTML mentése zip-be](./how-to-zip-html-in-c-save-html-to-zip/) Ismerje meg, hogyan csomagolhatja be a HTML-fájlokat zip-archívumba C#-ban az Aspose.HTML for .NET segítségével. ### [HTML-dokumentum létrehozása formázott szöveggel és exportálása PDF-be – Teljes útmutató](./create-html-document-with-styled-text-and-export-to-pdf-full/) -Hozzon létre HTML-dokumentumot formázott szöveggel, majd exportálja PDF-be az Aspose.HTML for .NET segítségével. Lépésről lépésre útmutató. +Hozzon létre HTML-dokumentumot formázott szöveggel, majd exportálja PDF-be az Aspose.HTML for .NET segítségével. Lépésről‑lépésre útmutató. ### [PDF létrehozása HTML-ből – C# lépésről‑lépésre útmutató](./create-pdf-from-html-c-step-by-step-guide/) Ismerje meg, hogyan hozhat létre PDF-et HTML-ből C#‑ban az Aspose.HTML for .NET segítségével, részletes lépésről‑lépésre útmutatóval. ### [PDF létrehozása HTML-ből – Aspose.HTML lépésről‑lépésre útmutató](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) @@ -73,7 +73,7 @@ Mentse a HTML-t közvetlenül memóriában ZIP-archívumba az Aspose.HTML for .N ### [Egyéni erőforráskezelő C#‑ban – HTML konvertálása ZIP‑archívumba memóriából](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) Ismerje meg, hogyan használhat egyéni erőforráskezelőt C#‑ban a HTML memóriában történő ZIP‑archívumba konvertálásához az Aspose.HTML for .NET segítségével. ### [HTML zip-elése C#-ban – HTML betöltése és egyéni kezelő használata](./how-to-zip-html-in-c-load-html-use-custom-handler/) -### [Egyéni erőforráskezelő C#-ban – HTML ZIP-be konvertálása oktatóanyag](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) +### [Egyéni erőforráskezelő C#‑ban – HTML ZIP-be konvertálása oktatóanyag](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) Ismerje meg, hogyan használhat egyéni erőforráskezelőt a HTML ZIP-archívumba konvertálásához C#-ban az Aspose.HTML for .NET segítségével. ### [HTML konvertálása PDF-be az Aspose.HTML segítségével – Teljes lépésről‑lépésre útmutató](./convert-html-to-pdf-with-aspose-html-full-step-by-step-guide/) Részletes útmutató a HTML PDF-be konvertálásához az Aspose.HTML for .NET használatával, lépésről‑lépésre példákkal. @@ -87,6 +87,8 @@ Ismerje meg, hogyan hozhat létre PDF-et HTML-ből C#-ban az Aspose.HTML for .NE ### [HTML mentése ZIP-be C#-ban – Teljes lépésről‑lépésre útmutató](./save-html-as-zip-in-c-complete-step-by-step-guide/) Ismerje meg, hogyan menthet HTML-fájlt ZIP-archívumba C#-ban az Aspose.HTML for .NET segítségével. +### [HTML mentése ZIP-be C#‑ban az Aspose.HTML használatával](./how-to-save-html-as-zip-in-c-using-aspose-html/) + ## Következtetés Összefoglalva, a HTML-kiterjesztések és -konverziók a modern webfejlesztés elengedhetetlen elemei. Az Aspose.HTML for .NET leegyszerűsíti a folyamatot, és minden szinten elérhetővé teszi a fejlesztők számára. Ha követi oktatóanyagainkat, jó úton halad afelé, hogy széles készségekkel rendelkező, gyakorlott webfejlesztővé váljon. diff --git a/html/hungarian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/hungarian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..dac7b9602e --- /dev/null +++ b/html/hungarian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Tanulja meg, hogyan menthet HTML-t ZIP-ként C#-ban az Aspose.HTML segítségével. + Ez a lépésről‑lépésre útmutató azt is bemutatja, hogyan konvertálhatja a HTML-t + ZIP-fájlra offline terjesztéshez. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: hu +lastmod: 2026-09-26 +og_description: HTML mentése ZIP-ként C#-ban az Aspose.HTML segítségével. Kövesd ezt + az útmutatót, hogy HTML-t ZIP-fájlba konvertálj, erőforrásokat kezeld, és hordozható + archívumot hozz létre. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: HTML mentése ZIP-fájlba C#-ban – teljes Aspose.HTML útmutató +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: HTML mentése ZIP-ként C#-ban az Aspose.HTML használatával +url: /hu/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan menthetünk HTML-t ZIP-ként C#-ban az Aspose.HTML használatával + +Ha **HTML-t ZIP-ként kell menteni** egy .NET alkalmazásban, ez az útmutató egy komplett megoldást mutat be. Megmutatjuk, hogyan konvertálhatja a HTML-t ZIP-fájlba, hogyan ágyazhat be erőforrásokat, és hogyan írhatja az archívumot lemezre néhány C# sor segítségével. + +A HTML ZIP-ként való mentése hasznos, ha önálló weboldalt szeretne terjeszteni, előnézetet ágyaz be egy e‑mailbe, vagy archiválni szeretne generált jelentéseket. A megközelítés bármely HTML karakterlánccal vagy fájllal működik, és csak az Aspose.HTML könyvtárra van szükség. + +Ebben az oktatóanyagban: + +* Létrehoz egy `HTMLDocument`‑et egy karakterláncból vagy meglévő fájlból. +* Implementál egy egyedi `ResourceHandler`‑t, hogy a képek, CSS vagy szkriptek megfelelően legyenek csomagolva. +* Konfigurálja a `HTMLSaveOptions`‑t, hogy a kimenetet ZIP-archívumba irányítsa. +* Ellenőrzi, hogy a létrejött `output.zip` a várt fájlokat tartalmazza. + +**Előfeltételek** + +* .NET 6.0 vagy újabb (a kód .NET Core 3.1+‑vel is működik). +* Licencelt példány a **Aspose.HTML for .NET**‑ből – a ingyenes próba verzió értékelésre elegendő. +* Visual Studio 2022 vagy bármely kedvelt C# IDE. + +--- + +## 1. lépés: Az Aspose.HTML NuGet csomag telepítése + +Nyissa meg a projekt mappáját egy terminálban, és futtassa: + +```bash +dotnet add package Aspose.HTML +``` + +A csomag hozzáadja az `Aspose.Html` névteret, amely tartalmazza azokat az osztályokat, amelyekre a **HTML ZIP-ként való mentéséhez** szüksége van. + +--- + +## 2. lépés: Egyedi erőforráskezelő definiálása + +Amikor az Aspose.HTML egy dokumentumot ZIP-archívumba ment, minden külső erőforrásért (képek, betűkészletek, CSS) egy `ResourceHandler`‑t kér. Egy kezelő biztosítja, hogy mi kerüljön az archívumba. Az alábbi kezelő üres streamet ad vissza minden kért erőforráshoz, de kiterjeszthető valódi fájlok beolvasására. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Miért fontos a kezelő** – Ha nincs, az Aspose.HTML csak a HTML markupot ágyazza be, és figyelmen kívül hagyja a külső fájlokat, ami törött oldalt eredményez a ZIP kibontása után. A `HandleResource` implementálásával biztosíthatja, hogy a generált archívum teljesen működőképes legyen. + +--- + +## 3. lépés: HTML dokumentum létrehozása + +HTML‑t betölthet karakterláncból, fájlútvonalból vagy `Stream`‑ből. Itt egy egyszerű karakterláncot használunk, amely egy címsort tartalmaz. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Ha fájlból szeretné betölteni, cserélje le a konstruktor hívást a következőre: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## 4. lépés: Mentési beállítások konfigurálása az egyedi kezelő használatához + +A `HTMLSaveOptions` lehetővé teszi a kimeneti formátum megadását. A `ResourceHandler` tulajdonság beállításával az Aspose.HTML a `MyHandler`‑t hívja meg minden külső hivatkozáshoz. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +A `CompressionLevel`‑t is módosíthatja, ha kisebb archívumra van szüksége: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## 5. lépés: Dokumentum mentése ZIP-archívumba + +Most írja a HTML‑t (és az esetleges erőforrásokat) egy ZIP fájlba. A `FileStream` a célútvonalra mutat; az Aspose.HTML automatikusan létrehozza az archívum szerkezetét. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Várható eredmény + +A kód futtatása után az `output.zip` a következőket fogja tartalmazni: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Nyissa meg a ZIP‑et, bontsa ki az `index.html`‑t, és kattintson duplán a böngészőben. A “Hello, World!” címsort kell látnia, ami megerősíti, hogy sikeresen **HTML‑t ZIP‑fájlba konvertált**. + +--- + +## Gyakori változatok és szélhelyzetek + +| Helyzet | Hogyan kell módosítani a kódot | +|-----------|-----------------------| +| **Valódi képek beágyazása** | A `MyHandler.HandleResource`‑ben olvassa be a képfájlt a lemezről, és adja vissza a `FileStream`‑jét. | +| **Több HTML oldal** | Hozzon létre külön `HTMLDocument` példányokat, és minden egyeshez hívja meg a `doc.Save`‑t, ugyanazt a `HTMLSaveOptions`‑t használva. | +| **Egyedi mappaszerkezet** | Állítsa be a `saveOptions.PreserveEmbeddedResources = true`‑t, és a `ResourceHandler`‑rel szabályozza a kimeneti mappát. | +| **Nagy HTML karakterláncok** | Használjon `MemoryStream`‑et a forrás HTML‑hez, hogy elkerülje a teljes karakterlánc memóriába töltését. | +| **Jelszóval védett ZIP** | Az Aspose.HTML közvetlenül nem titkosít ZIP‑eket; a `FileStream`‑et mentés után egy harmadik féltől származó ZIP‑könyvtárral kell körbecsomagolni. | + +**Pro tipp:** Mindig használjon `using` blokkokat a `HTMLDocument` és bármely stream eldobásához, hogy a nem kezelt erőforrások gyorsan felszabaduljanak. + +--- + +## Teljes, futtatható példa + +Az alábbi program a teljes **HTML ZIP-ként való mentés** munkafolyamatot mutatja be a kezdetektől a befejezésig. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Futtassa a programot (`dotnet run`, ha konzolos projektet hozott létre). A befejezéskor egy megerősítő üzenetet lát a `output.zip` elérési útjával. + +--- + +## A konverzió ellenőrzése + +1. Navigáljon a program által létrehozott `output` mappába. +2. Jobb‑kattintás `output.zip` → **Extract All…**. +3. Nyissa meg a kibontott `index.html`‑t bármely böngészőben. +4. A **Hello, World!** címsort kell látnia. + +Ha az oldal hiányzó képek vagy CSS nélkül tölt be, akkor sikeresen **HTML‑t ZIP‑fájlba konvertált**. + +--- + +## Gyakori problémák hibaelhárítása + +* **Üres ZIP‑fájl** – Győződjön meg róla, hogy a `doc.Save` a `ResourceHandler` beállítása *után* kerül meghívásra. A kezelőnek nem null értékűnek kell lennie a konverzióhoz. +* **Hiányzó erőforrások** – Bővítse a `MyHandler`‑t, hogy a fájlokat lemezről vagy adatbázisból keresse meg. Adjon vissza egy `FileStream`‑et, amely a tényleges erőforrást mutatja. +* **Jogosultsági hibák** – Ellenőrizze, hogy az alkalmazásnak írási joga van a célkönyvtárhoz. Használja a `Directory.CreateDirectory`‑t a mappa biztosításához. +* **Nagy archívumok lassúak** – Növelje a `CompressionLevel`‑t `CompressionLevel.Fastest`‑re a feldolgozás felgyorsítása érdekében, a nagyobb fájlméret árán. + +--- + +## Következő lépések + +Miután már **HTML‑t ZIP‑ként ment**, érdemes felfedezni: + +* **CSS és JavaScript beágyazása** – Adja hozzá őket a ZIP‑hez a megfelelő streamek visszaadásával a `MyHandler`‑ben. +* **PDF‑k generálása ugyanabból a HTML‑ből** – Használja a `HTMLSaveOptions`‑t `PdfSaveOptions`‑szel egy párhuzamos PDF‑exporthoz. +* **Kötegelt feldolgozás** – Iteráljon HTML‑karakterláncok vagy fájlok gyűjteményén, és minden egyeshez hozzon létre külön ZIP‑et. + +Ezek a kiegészítések lehetővé teszik robusztus dokumentum‑generáló csővezetékek építését, amelyek webes és offline forgatókönyveket egyaránt kiszolgálnak. + +--- + +## Összegzés + +Megtanulta, hogyan **HTML‑t ZIP‑ként menthet** C#‑ban az Aspose.HTML segítségével, az összes lépést a könyvtár telepítésétől az egyedi `ResourceHandler` írásáig és a kimenet ellenőrzéséig. A fenti lépéseket követve megbízhatóan **HTML‑t ZIP‑fájlba konvertálhat**, csomagolhatja az erőforrásokat, és hordozható webes tartalmat szállíthat bármely .NET alkalmazásból. Boldog kódolást! + +## Mit érdemes még tanulni? + +Az alábbi oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás teljes, működő kódrészleteket tartalmaz lépésről‑lépésre magyarázatokkal, hogy segítsenek további API‑funkciók elsajátításában és alternatív megvalósítási megközelítések felfedezésében saját projektjeiben. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/indonesian/net/html-extensions-and-conversions/_index.md b/html/indonesian/net/html-extensions-and-conversions/_index.md index 252a395c6a..b729cf1688 100644 --- a/html/indonesian/net/html-extensions-and-conversions/_index.md +++ b/html/indonesian/net/html-extensions-and-conversions/_index.md @@ -103,6 +103,8 @@ Pelajari cara menyimpan dokumen HTML sebagai file ZIP menggunakan Aspose.HTML un Pelajari cara menyimpan HTML sebagai arsip ZIP menggunakan C# dengan panduan lengkap Aspose.HTML. ### [single file html – Simpan Halaman Web sebagai Satu File HTML di C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Pelajari cara menyimpan seluruh halaman web menjadi satu file HTML menggunakan C# dan Aspose.HTML. +### [Cara menyimpan HTML sebagai ZIP di C# menggunakan Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Pelajari cara menyimpan file HTML menjadi arsip ZIP menggunakan Aspose.HTML di C# dengan contoh kode lengkap. ## Kesimpulan diff --git a/html/indonesian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/indonesian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..f09e1d9059 --- /dev/null +++ b/html/indonesian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Pelajari cara menyimpan HTML sebagai ZIP di C# dengan Aspose.HTML. Panduan + langkah demi langkah ini juga menunjukkan cara mengonversi HTML menjadi file ZIP + untuk distribusi offline. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: id +lastmod: 2026-09-26 +og_description: Simpan HTML sebagai ZIP di C# dengan Aspose.HTML. Ikuti tutorial ini + untuk mengonversi HTML ke file ZIP, mengelola sumber daya, dan menghasilkan arsip + portabel. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Simpan HTML sebagai ZIP di C# – panduan lengkap Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Cara menyimpan HTML sebagai ZIP di C# menggunakan Aspose.HTML +url: /id/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara menyimpan HTML sebagai ZIP di C# menggunakan Aspose.HTML + +Jika Anda perlu **menyimpan HTML sebagai ZIP** dalam aplikasi .NET, panduan ini menunjukkan solusi lengkap. Anda akan melihat cara mengonversi HTML ke file ZIP, menyematkan sumber daya, dan menulis arsip ke disk dengan hanya beberapa baris kode C#. + +Menyimpan HTML sebagai ZIP berguna ketika Anda ingin mendistribusikan halaman web yang berdiri sendiri, menyematkan pratinjau dalam email, atau mengarsipkan laporan yang dihasilkan. Pendekatan ini bekerja dengan string HTML apa pun atau file, dan hanya memerlukan pustaka Aspose.HTML. + +Dalam tutorial ini Anda akan: + +* Membuat `HTMLDocument` dari string atau file yang sudah ada. +* Mengimplementasikan `ResourceHandler` khusus sehingga gambar, CSS, atau skrip dikemas dengan benar. +* Mengonfigurasi `HTMLSaveOptions` untuk mengarahkan output ke arsip ZIP. +* Memverifikasi bahwa `output.zip` yang dihasilkan berisi file yang diharapkan. + +**Prasyarat** + +* .NET 6.0 atau lebih baru (kode juga berfungsi dengan .NET Core 3.1+). +* Salinan berlisensi **Aspose.HTML for .NET** – percobaan gratis dapat digunakan untuk evaluasi. +* Visual Studio 2022 atau IDE C# lain yang Anda sukai. + +--- + +## Langkah 1: Instal paket NuGet Aspose.HTML + +Buka folder proyek Anda di terminal dan jalankan: + +```bash +dotnet add package Aspose.HTML +``` + +Paket ini menambahkan namespace `Aspose.Html`, yang berisi kelas yang Anda perlukan untuk **menyimpan HTML sebagai ZIP**. + +--- + +## Langkah 2: Definisikan handler sumber daya khusus + +Saat Aspose.HTML menyimpan dokumen ke arsip ZIP, ia meminta `ResourceHandler` untuk setiap sumber daya eksternal (gambar, font, CSS). Menyediakan handler memungkinkan Anda mengontrol apa yang masuk ke dalam arsip. Handler berikut mengembalikan aliran kosong untuk setiap sumber daya yang diminta, tetapi Anda dapat memperluasnya untuk membaca file nyata. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Mengapa handler penting** – Tanpa handler, Aspose.HTML hanya akan menyematkan markup HTML dan mengabaikan file eksternal, menghasilkan halaman yang rusak ketika ZIP dibuka. Dengan mengimplementasikan `HandleResource`, Anda memastikan arsip yang dihasilkan berfungsi penuh. + +--- + +## Langkah 3: Buat dokumen HTML + +Anda dapat memuat HTML dari string, jalur file, atau `Stream`. Di sini kami menggunakan string sederhana yang berisi judul. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Jika Anda lebih suka memuat dari file, ganti konstruktor dengan: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Langkah 4: Konfigurasikan opsi penyimpanan untuk menggunakan handler khusus + +`HTMLSaveOptions` memungkinkan Anda menentukan format output. Menetapkan properti `ResourceHandler`‑nya memberi tahu Aspose.HTML untuk memanggil `MyHandler` untuk setiap referensi eksternal. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Anda juga dapat menyesuaikan `CompressionLevel` jika memerlukan arsip yang lebih kecil: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Langkah 5: Simpan dokumen ke dalam arsip ZIP + +Sekarang tulis HTML (dan sumber daya apa pun) ke file ZIP. `FileStream` menunjuk ke jalur tujuan; Aspose.HTML secara otomatis membuat struktur arsip. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Hasil yang diharapkan + +Setelah kode dijalankan, `output.zip` akan berisi: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Buka ZIP, ekstrak `index.html`, dan klik ganda di browser. Anda akan melihat judul “Hello, World!” yang mengonfirmasi bahwa Anda berhasil **mengonversi HTML ke file ZIP**. + +--- + +## Variasi umum dan kasus tepi + +| Situasi | Cara menyesuaikan kode | +|-----------|-----------------------| +| **Menyematkan gambar nyata** | Di `MyHandler.HandleResource`, baca file gambar dari disk dan kembalikan `FileStream`‑nya. | +| **Beberapa halaman HTML** | Buat instance `HTMLDocument` terpisah dan panggil `doc.Save` untuk masing‑masing, menggunakan `HTMLSaveOptions` yang sama. | +| **Struktur folder khusus** | Setel `saveOptions.PreserveEmbeddedResources = true` dan kontrol folder output melalui `ResourceHandler`. | +| **String HTML besar** | Gunakan `MemoryStream` untuk HTML sumber agar tidak memuat seluruh string ke memori. | +| **ZIP dengan sandi** | Aspose.HTML tidak mengenkripsi ZIP secara langsung; bungkus `FileStream` dengan pustaka ZIP pihak ketiga setelah menyimpan. | + +**Tips pro:** Selalu dispose `HTMLDocument` dan semua stream dengan pernyataan `using` untuk membebaskan sumber daya tak terkelola dengan cepat. + +--- + +## Contoh lengkap yang dapat dijalankan + +Berikut program lengkap yang dapat Anda salin, tempel, dan jalankan. Program ini mendemonstrasikan seluruh alur kerja **menyimpan HTML sebagai ZIP** dari awal hingga akhir. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Jalankan program (`dotnet run` jika Anda membuat proyek konsol). Setelah selesai, Anda akan melihat pesan konfirmasi dengan jalur ke `output.zip`. + +--- + +## Memverifikasi konversi + +1. Arahkan ke folder `output` yang dibuat oleh program. +2. Klik kanan `output.zip` → **Extract All…**. +3. Buka `index.html` yang diekstrak di browser apa pun. +4. Anda harus melihat judul **Hello, World!**. + +Jika halaman terbuka tanpa gambar atau CSS yang hilang, Anda telah berhasil **mengonversi HTML ke file ZIP**. + +--- + +## Memecahkan masalah umum + +* **File ZIP kosong** – Pastikan `doc.Save` dipanggil *setelah* Anda menetapkan `ResourceHandler`. Handler harus tidak null agar konversi terjadi. +* **Sumber daya hilang** – Perluas `MyHandler` untuk menemukan file di disk atau basis data. Kembalikan `FileStream` yang menunjuk ke sumber daya sebenarnya. +* **Kesalahan izin** – Pastikan aplikasi memiliki akses menulis ke direktori target. Gunakan `Directory.CreateDirectory` untuk memastikan folder ada. +* **Arsip besar memakan waktu lama** – Tingkatkan `CompressionLevel` ke `CompressionLevel.Fastest` untuk mempercepat proses dengan mengorbankan ukuran file yang lebih besar. + +--- + +## Langkah selanjutnya + +Sekarang Anda dapat **menyimpan HTML sebagai ZIP**, Anda mungkin ingin menjelajahi: + +* **Menyematkan CSS dan JavaScript** – Tambahkan ke ZIP dengan mengembalikan stream yang tepat di `MyHandler`. +* **Membuat PDF dari HTML yang sama** – Gunakan `HTMLSaveOptions` dengan `PdfSaveOptions` untuk ekspor PDF berdampingan. +* **Pemrosesan batch** – Loop melalui koleksi string atau file HTML dan buat ZIP terpisah untuk masing‑masing. + +Ekstensi ini memungkinkan Anda membangun pipeline generasi dokumen yang kuat, melayani skenario web dan offline. + +--- + +## Kesimpulan + +Anda telah mempelajari cara **menyimpan HTML sebagai ZIP** di C# dengan Aspose.HTML, mencakup semua mulai dari instalasi pustaka hingga menulis `ResourceHandler` khusus dan memverifikasi output. Dengan mengikuti langkah‑langkah di atas, Anda dapat dengan andal **mengonversi HTML ke file ZIP**, mengemas sumber daya, dan menyajikan konten web yang dapat dipindahkan dari aplikasi .NET mana pun. Selamat coding! + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber daya menyertakan contoh kode lengkap yang berfungsi dengan penjelasan langkah demi langkah untuk membantu Anda menguasai fitur API tambahan dan menjelajahi pendekatan implementasi alternatif dalam proyek Anda sendiri. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/italian/net/html-extensions-and-conversions/_index.md b/html/italian/net/html-extensions-and-conversions/_index.md index 60b39a874e..7140d5208c 100644 --- a/html/italian/net/html-extensions-and-conversions/_index.md +++ b/html/italian/net/html-extensions-and-conversions/_index.md @@ -103,6 +103,8 @@ Scopri come comprimere file HTML in un archivio ZIP usando C# con Aspose.HTML, p Scopri come salvare una pagina web intera in un unico file HTML usando Aspose.HTML per .NET in C#. ### [Salva HTML in ZIP in C# – Guida completa](./save-html-to-zip-in-c-complete-guide/) Scopri come salvare un documento HTML in un archivio ZIP completo usando Aspose.HTML per .NET in C#. +### [Come salvare HTML in ZIP in C# usando Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Scopri come salvare HTML in un archivio ZIP con Aspose.HTML per .NET in C#. ## Conclusione diff --git a/html/italian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/italian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..63a1258f7a --- /dev/null +++ b/html/italian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Scopri come salvare HTML come ZIP in C# con Aspose.HTML. Questa guida + passo‑passo mostra anche come convertire HTML in file ZIP per la distribuzione offline. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: it +lastmod: 2026-09-26 +og_description: Salva HTML come ZIP in C# con Aspose.HTML. Segui questo tutorial per + convertire HTML in file ZIP, gestire le risorse e generare un archivio portatile. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Salva HTML come ZIP in C# – guida completa Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Come salvare HTML come ZIP in C# usando Aspose.HTML +url: /it/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come salvare HTML come ZIP in C# usando Aspose.HTML + +Se hai bisogno di **salvare HTML come ZIP** in un'applicazione .NET, questa guida ti mostra una soluzione completa. Vedrai come convertire HTML in file ZIP, incorporare risorse e scrivere l'archivio su disco con poche righe di codice C#. + +Salvare HTML come ZIP è utile quando vuoi distribuire una pagina web autonoma, incorporare un'anteprima in un'email o archiviare report generati. L'approccio funziona con qualsiasi stringa o file HTML e richiede solo la libreria Aspose.HTML. + +In questo tutorial imparerai a: + +* Creare un `HTMLDocument` da una stringa o da un file esistente. +* Implementare un `ResourceHandler` personalizzato in modo che immagini, CSS o script vengano correttamente impacchettati. +* Configurare `HTMLSaveOptions` per indirizzare l'output in un archivio ZIP. +* Verificare che il `output.zip` risultante contenga i file attesi. + +**Prerequisiti** + +* .NET 6.0 o successivo (il codice funziona anche con .NET Core 3.1+). +* Una copia con licenza di **Aspose.HTML for .NET** – la versione di prova gratuita è sufficiente per la valutazione. +* Visual Studio 2022 o qualsiasi IDE C# tu preferisca. + +--- + +## Passo 1: Installa il pacchetto NuGet Aspose.HTML + +Apri la cartella del tuo progetto in un terminale ed esegui: + +```bash +dotnet add package Aspose.HTML +``` + +Il pacchetto aggiunge lo spazio dei nomi `Aspose.Html`, che contiene le classi necessarie per **salvare HTML come ZIP**. + +--- + +## Passo 2: Definisci un gestore di risorse personalizzato + +Quando Aspose.HTML salva un documento in un archivio ZIP richiede a un `ResourceHandler` ogni risorsa esterna (immagini, font, CSS). Fornire un gestore ti consente di controllare cosa viene inserito nell'archivio. Il gestore seguente restituisce uno stream vuoto per qualsiasi risorsa richiesta, ma può essere esteso per leggere file reali. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Perché un gestore è importante** – Senza di esso, Aspose.HTML incorporerebbe solo il markup HTML e ignorerebbe i file esterni, generando una pagina rotta quando lo ZIP viene estratto. Implementando `HandleResource`, garantisci che l'archivio generato sia pienamente funzionale. + +--- + +## Passo 3: Crea il documento HTML + +Puoi caricare HTML da una stringa, da un percorso file o da uno `Stream`. Qui usiamo una semplice stringa che contiene un'intestazione. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Se preferisci caricare da un file, sostituisci il costruttore con: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Passo 4: Configura le opzioni di salvataggio per usare il gestore personalizzato + +`HTMLSaveOptions` ti permette di specificare il formato di output. Impostando la proprietà `ResourceHandler` si indica ad Aspose.HTML di invocare `MyHandler` per ogni riferimento esterno. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Puoi anche regolare il `CompressionLevel` se ti serve un archivio più piccolo: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Passo 5: Salva il documento in un archivio ZIP + +Ora scrivi l'HTML (e le eventuali risorse) in un file ZIP. Il `FileStream` punta al percorso di destinazione; Aspose.HTML crea automaticamente la struttura dell'archivio. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Risultato atteso + +Dopo l'esecuzione del codice, `output.zip` conterrà: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Apri lo ZIP, estrai `index.html` e fai doppio clic su di esso in un browser. Dovresti vedere l'intestazione “Hello, World!”, confermando che hai **convertito correttamente HTML in file ZIP**. + +--- + +## Varianti comuni e casi limite + +| Situazione | Come adattare il codice | +|------------|--------------------------| +| **Incorporare immagini reali** | In `MyHandler.HandleResource`, leggi il file immagine dal disco e restituisci il suo `FileStream`. | +| **Pagine HTML multiple** | Crea istanze separate di `HTMLDocument` e chiama `doc.Save` per ciascuna, usando le stesse `HTMLSaveOptions`. | +| **Struttura di cartelle personalizzata** | Imposta `saveOptions.PreserveEmbeddedResources = true` e controlla la cartella di output tramite `ResourceHandler`. | +| **Stringhe HTML molto grandi** | Usa `MemoryStream` per l'HTML di origine per evitare di caricare l'intera stringa in memoria. | +| **ZIP protetto da password** | Aspose.HTML non cripta direttamente gli ZIP; avvolgi il `FileStream` con una libreria ZIP di terze parti dopo il salvataggio. | + +**Suggerimento professionale:** Disporre sempre di `HTMLDocument` e di tutti gli stream con istruzioni `using` per liberare tempestivamente le risorse non gestite. + +--- + +## Esempio completo, eseguibile + +Di seguito trovi il programma completo che puoi copiare, incollare ed eseguire. Dimostra l'intero flusso di lavoro **salva HTML come ZIP** dall'inizio alla fine. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Esegui il programma (`dotnet run` se hai creato un progetto console). Al termine, vedrai un messaggio di conferma con il percorso di `output.zip`. + +--- + +## Verifica della conversione + +1. Vai nella cartella `output` creata dal programma. +2. Fai clic destro su `output.zip` → **Extract All…**. +3. Apri il file `index.html` estratto in qualsiasi browser. +4. Dovresti vedere l'intestazione **Hello, World!**. + +Se la pagina si carica senza immagini o CSS mancanti, hai **convertito correttamente HTML in file ZIP**. + +--- + +## Risoluzione dei problemi comuni + +* **File ZIP vuoto** – Assicurati che `doc.Save` venga chiamato *dopo* aver assegnato `ResourceHandler`. Il gestore deve essere non nullo affinché la conversione avvenga. +* **Risorse mancanti** – Estendi `MyHandler` per individuare i file sul disco o in un database. Restituisci un `FileStream` che punti alla risorsa reale. +* **Errori di permesso** – Verifica che l'applicazione abbia i permessi di scrittura nella directory di destinazione. Usa `Directory.CreateDirectory` per garantire che la cartella esista. +* **Archivi grandi richiedono molto tempo** – Aumenta `CompressionLevel` a `CompressionLevel.Fastest` per velocizzare l'elaborazione a scapito di un file più grande. + +--- + +## Passi successivi + +Ora che sai **salvare HTML come ZIP**, potresti approfondire: + +* **Incorporare CSS e JavaScript** – Aggiungili allo ZIP restituendo gli stream appropriati in `MyHandler`. +* **Generare PDF dallo stesso HTML** – Usa `HTMLSaveOptions` con `PdfSaveOptions` per un'esportazione PDF affiancata. +* **Elaborazione batch** – Itera su una collezione di stringhe o file HTML e crea uno ZIP separato per ciascuno. + +Queste estensioni ti permettono di costruire pipeline di generazione documenti robuste, utili sia per scenari web che offline. + +--- + +## Conclusione + +Hai imparato come **salvare HTML come ZIP** in C# con Aspose.HTML, coprendo tutto, dall'installazione della libreria alla scrittura di un `ResourceHandler` personalizzato e alla verifica dell'output. Seguendo i passaggi sopra potrai **convertire HTML in file ZIP** in modo affidabile, impacchettare le risorse e distribuire contenuti web portabili da qualsiasi applicazione .NET. Buon coding! + +## Cosa dovresti imparare dopo? + +I seguenti tutorial trattano argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Come comprimere HTML in C# – Salva HTML in Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Crea file zip C# – Guida passo‑passo per comprimere HTML in memoria](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Gestore di risorse personalizzato in C# – Tutorial per convertire HTML in ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/japanese/net/html-extensions-and-conversions/_index.md b/html/japanese/net/html-extensions-and-conversions/_index.md index 5576e70b82..9f757ba6d4 100644 --- a/html/japanese/net/html-extensions-and-conversions/_index.md +++ b/html/japanese/net/html-extensions-and-conversions/_index.md @@ -87,7 +87,7 @@ Aspose.HTML for .NET を使用して、C# で HTML を ZIP ファイルに保存 ### [C# のカスタム リソース ハンドラ – メモリ内の HTML を ZIP アーカイブに変換](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) Aspose.HTML for .NET を使用して、C# でカスタム リソース ハンドラを実装し、メモリ内の HTML を ZIP アーカイブに変換する手順を解説します。 -### [C# で HTML を Zip に圧縮する – HTML を読み込みカスタム ハンドラを使用](./how-to-zip-html-in-c-load-html-use-custom-handler/) +### [C# で HTML を Zip 圧縮する – HTML を読み込みカスタム ハンドラを使用](./how-to-zip-html-in-c-load-html-use-custom-handler/) Aspose.HTML for .NET を使用して、C# で HTML を読み込みカスタム ハンドラで ZIP 圧縮する手順をステップバイステップで解説します。 ### [C# で Aspose.HTML を使用して PDF に変換 – ZIP アーカイブ完全ガイド](./aspose-html-to-pdf-in-c-complete-guide-with-zip-archive/) @@ -96,6 +96,9 @@ C# と Aspose.HTML で HTML を PDF に変換し、ZIP アーカイブとして ### [C# で HTML を ZIP に保存 – 完全ガイド](./save-html-to-zip-in-c-complete-guide/) Aspose.HTML for .NET と C# を使用して、HTML を ZIP アーカイブに保存する完全な手順をステップバイステップで解説します。 +### [Aspose.HTML を使用して C# で HTML を ZIP として保存する方法](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aspose.HTML for .NET を利用し、C# で HTML コンテンツを ZIP アーカイブとして保存する手順をステップバイステップで解説します。 + ### [シングルファイル HTML – C# で Web ページを 1 つの HTML ファイルとして保存する](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Aspose.HTML for .NET を使用して、C# で Web ページを単一の HTML ファイルとして保存する手順をステップバイステップで解説します。 diff --git a/html/japanese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/japanese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..5783e61dbd --- /dev/null +++ b/html/japanese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Aspose.HTML を使用して C# で HTML を ZIP として保存する方法を学びましょう。このステップバイステップガイドでは、オフライン配布用に + HTML を ZIP ファイルに変換する方法も紹介しています。 +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: ja +lastmod: 2026-09-26 +og_description: Aspose.HTML を使用して C# で HTML を ZIP として保存します。このチュートリアルに従って HTML を ZIP + ファイルに変換し、リソースを処理し、ポータブルなアーカイブを生成しましょう。 +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: C#でHTMLをZIPとして保存 – 完全なAspose.HTMLガイド +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Aspose.HTML を使用して C# で HTML を ZIP として保存する方法 +url: /ja/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# で Aspose.HTML を使用して HTML を ZIP として保存する方法 + +.NET アプリケーションで **HTML を ZIP として保存** する必要がある場合、このガイドで完全なソリューションを示します。HTML を ZIP ファイルに変換し、リソースを埋め込み、数行の C# コードだけでアーカイブをディスクに書き込む方法が分かります。 + +HTML を ZIP として保存すると、自己完結型のウェブページを配布したり、メールにプレビューを埋め込んだり、生成されたレポートをアーカイブしたりするのに便利です。このアプローチは任意の HTML 文字列またはファイルで機能し、必要なのは Aspose.HTML ライブラリだけです。 + +このチュートリアルで学べること: + +* 文字列または既存ファイルから `HTMLDocument` を作成する方法。 +* 画像、CSS、スクリプトを正しくパッケージ化するためのカスタム `ResourceHandler` の実装方法。 +* `HTMLSaveOptions` を設定して出力先を ZIP アーカイブに指定する方法。 +* 生成された `output.zip` に期待通りのファイルが含まれているかを検証する方法。 + +**前提条件** + +* .NET 6.0 以降(コードは .NET Core 3.1+ でも動作します)。 +* **Aspose.HTML for .NET** のライセンス版 – 無料トライアルでも評価は可能です。 +* Visual Studio 2022 またはお好みの C# IDE。 + +--- + +## 手順 1: Aspose.HTML NuGet パッケージをインストール + +ターミナルでプロジェクト フォルダーを開き、次のコマンドを実行します。 + +```bash +dotnet add package Aspose.HTML +``` + +このパッケージにより `Aspose.Html` 名前空間が追加され、**HTML を ZIP として保存** するために必要なクラスが利用可能になります。 + +--- + +## 手順 2: カスタム リソース ハンドラを定義 + +Aspose.HTML がドキュメントを ZIP アーカイブに保存する際、外部リソース(画像、フォント、CSS)ごとに `ResourceHandler` に問い合わせます。ハンドラを提供することで、アーカイブに何を入れるかを制御できます。以下のハンドラは要求されたリソースに対して空のストリームを返しますが、実際のファイルを読み込むように拡張可能です。 + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**ハンドラが重要な理由** – ハンドラが無いと、Aspose.HTML は HTML マークアップだけを埋め込み、外部ファイルを無視します。その結果、ZIP を解凍したときにページが壊れます。`HandleResource` を実装することで、生成されたアーカイブが完全に機能するようになります。 + +--- + +## 手順 3: HTML ドキュメントを作成 + +HTML は文字列、ファイル パス、または `Stream` から読み込めます。ここでは見出しを含むシンプルな文字列を使用します。 + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +ファイルから読み込みたい場合は、コンストラクタを次のように置き換えてください。 + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## 手順 4: カスタム ハンドラを使用するように保存オプションを構成 + +`HTMLSaveOptions` で出力形式を指定できます。`ResourceHandler` プロパティに設定することで、外部参照ごとに `MyHandler` が呼び出されます。 + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +より小さなアーカイブが必要な場合は、`CompressionLevel` を調整できます。 + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## 手順 5: ドキュメントを ZIP アーカイブに保存 + +これで HTML(およびリソース)を ZIP ファイルに書き込みます。`FileStream` が保存先パスを指し、Aspose.HTML が自動的にアーカイブ構造を作成します。 + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### 期待される結果 + +コード実行後、`output.zip` には以下が含まれます。 + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +ZIP を開き、`index.html` を抽出してブラウザでダブルクリックしてください。見出し “Hello, World!” が表示されれば、**HTML を ZIP ファイルに変換** に成功したことになります。 + +--- + +## 一般的なバリエーションとエッジケース + +| 状況 | コードの適応方法 | +|-----------|-----------------------| +| **実際の画像を埋め込む** | `MyHandler.HandleResource` でディスク上の画像ファイルを読み込み、`FileStream` を返す。 | +| **複数の HTML ページ** | 個別の `HTMLDocument` インスタンスを作成し、同じ `HTMLSaveOptions` を使用して `doc.Save` を呼び出す。 | +| **カスタム フォルダー構造** | `saveOptions.PreserveEmbeddedResources = true` を設定し、`ResourceHandler` で出力フォルダーを制御する。 | +| **大きな HTML 文字列** | ソース HTML に `MemoryStream` を使用し、文字列全体をメモリに保持しないようにする。 | +| **パスワード保護された ZIP** | Aspose.HTML は直接 ZIP を暗号化しないため、保存後にサードパーティ製 ZIP ライブラリで `FileStream` をラップする。 | + +**プロのコツ:** `HTMLDocument` とすべてのストリームは `using` 文で確実に破棄し、アンマネージド リソースを速やかに解放しましょう。 + +--- + +## 完全な実行可能サンプル + +以下は、**HTML を ZIP として保存** の全工程を示す完全プログラムです。コピーして貼り付け、実行できます。 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +プログラムを実行(コンソール プロジェクトを作成した場合は `dotnet run`)すると、`output.zip` のパスを示す確認メッセージが表示されます。 + +--- + +## 変換結果の検証 + +1. プログラムが作成した `output` フォルダーに移動します。 +2. `output.zip` を右クリック → **すべて展開…**。 +3. 展開された `index.html` を任意のブラウザで開きます。 +4. 見出し **Hello, World!** が表示されていれば、**HTML を ZIP ファイルに変換** に成功です。 + +画像や CSS が欠落せずにページが表示されれば、変換は正しく行われています。 + +--- + +## よくある問題のトラブルシューティング + +* **ZIP が空になる** – `doc.Save` を `ResourceHandler` を設定した *後* に呼び出しているか確認してください。ハンドラが null でないことが変換の前提です。 +* **リソースが欠落** – `MyHandler` を拡張し、ディスクやデータベース上のファイルを検索して `FileStream` を返すようにします。 +* **権限エラー** – アプリケーションが対象ディレクトリに書き込み権限を持っているか確認し、`Directory.CreateDirectory` でフォルダーが存在することを保証します。 +* **大容量アーカイブが遅い** – `CompressionLevel` を `CompressionLevel.Fastest` に変更すると、ファイルサイズは大きくなりますが処理速度が向上します。 + +--- + +## 次のステップ + +**HTML を ZIP として保存** ができたら、以下のことにも挑戦してみてください。 + +* **CSS と JavaScript の埋め込み** – `MyHandler` で適切なストリームを返すことで、ZIP に追加できます。 +* **同じ HTML から PDF を生成** – `HTMLSaveOptions` と `PdfSaveOptions` を組み合わせて、PDF エクスポートも実現できます。 +* **バッチ処理** – HTML 文字列またはファイルのコレクションをループし、各項目ごとに別々の ZIP を作成します。 + +これらの拡張により、ウェブとオフラインの両シナリオに対応した堅牢なドキュメント生成パイプラインを構築できます。 + +--- + +## 結論 + +Aspose.HTML を使用して C# で **HTML を ZIP として保存** する方法を学びました。ライブラリのインストールからカスタム `ResourceHandler` の実装、出力の検証まで、すべての手順を網羅しています。上記の手順に従えば、**HTML を ZIP ファイルに変換** し、リソースをパッケージ化して任意の .NET アプリケーションからポータブルなウェブ コンテンツを配布できます。コーディングを楽しんでください! + +## 次に学ぶべきこと + +以下のチュートリアルは、本ガイドで示したテクニックを応用した関連トピックを扱っています。各リソースには、ステップバイステップの説明と完全なコード例が含まれており、API の追加機能をマスターしたり、代替実装アプローチを自分のプロジェクトで試したりするのに役立ちます。 + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/korean/net/html-extensions-and-conversions/_index.md b/html/korean/net/html-extensions-and-conversions/_index.md index 1fa26e79ab..4489982282 100644 --- a/html/korean/net/html-extensions-and-conversions/_index.md +++ b/html/korean/net/html-extensions-and-conversions/_index.md @@ -78,7 +78,7 @@ C#와 Aspose.HTML을 사용해 HTML 파일을 ZIP 압축 파일로 저장하는 ### [스타일이 적용된 텍스트로 HTML 문서 만들기 및 PDF로 내보내기 – 전체 가이드](./create-html-document-with-styled-text-and-export-to-pdf-full/) Aspose.HTML for .NET을 사용하여 스타일이 적용된 텍스트가 포함된 HTML 문서를 만들고 PDF로 내보내는 전체 가이드를 확인하세요. ### [HTML을 ZIP으로 저장 – 전체 C# 튜토리얼](./save-html-as-zip-complete-c-tutorial/) -Aspose.HTML for .NET을 사용해 HTML을 ZIP 파일로 저장하는 전체 C# 단계별 튜토리얼. +Aspose.HTML for .NET을 사용해 HTML을 ZIP 파일로 저장하는 전체 단계별 튜토리얼. ### [C#에서 HTML을 ZIP으로 저장 – 완전 인메모리 예제](./save-html-to-zip-in-c-complete-in-memory-example/) Aspose.HTML for .NET을 사용하여 메모리 내에서 HTML을 ZIP 파일로 저장하는 방법을 단계별로 안내합니다. ### [C#에서 사용자 정의 리소스 핸들러 – 메모리에서 HTML을 ZIP 아카이브로 변환](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) @@ -97,8 +97,10 @@ Aspose.HTML for .NET을 활용해 HTML을 ZIP 파일로 압축하는 방법을 Aspose.HTML for .NET을 사용하여 C#에서 HTML 파일을 ZIP으로 압축하는 방법을 단계별로 안내합니다. ### [C#에서 HTML을 ZIP으로 저장 – 완전 단계별 가이드](./save-html-as-zip-in-c-complete-step-by-step-guide/) Aspose.HTML for .NET을 사용하여 C#에서 HTML을 ZIP 파일로 저장하는 방법을 단계별로 안내합니다. -### [C#에서 HTML을 ZIP으로 저장 – 완전 가이드](./save-html-to-zip-in-c-complete-guide/) +### [C#에서 HTML을 ZIP으로 저장 – 완전 가이드](./save-html-as-zip-in-c-complete-guide/) Aspose.HTML for .NET을 사용하여 C#에서 HTML을 ZIP 파일로 저장하는 전체 단계별 가이드. +### [C#에서 Aspose.HTML을 사용해 HTML을 ZIP으로 저장하는 방법](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aspose.HTML을 활용해 C#에서 HTML 파일을 ZIP 압축 파일로 저장하는 단계별 가이드입니다. ### [단일 파일 HTML – C#에서 웹 페이지를 하나의 HTML 파일로 저장](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Aspose.HTML for .NET을 사용하여 C#에서 웹 페이지를 단일 HTML 파일로 저장하는 단계별 가이드. diff --git a/html/korean/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/korean/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..d4066703cc --- /dev/null +++ b/html/korean/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Aspose.HTML를 사용하여 C#에서 HTML을 ZIP으로 저장하는 방법을 배워보세요. 이 단계별 가이드는 HTML을 ZIP + 파일로 변환하여 오프라인 배포하는 방법도 보여줍니다. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: ko +lastmod: 2026-09-26 +og_description: C#에서 Aspose.HTML을 사용하여 HTML을 ZIP으로 저장합니다. 이 튜토리얼을 따라 HTML을 ZIP 파일로 + 변환하고, 리소스를 처리하며, 휴대 가능한 아카이브를 생성하세요. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: C#에서 HTML을 ZIP으로 저장 – 완전한 Aspose.HTML 가이드 +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Aspose.HTML를 사용하여 C#에서 HTML을 ZIP으로 저장하는 방법 +url: /ko/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 Aspose.HTML을 사용해 HTML을 ZIP으로 저장하는 방법 + +.NET 애플리케이션에서 **HTML을 ZIP으로 저장**해야 할 경우, 이 가이드는 완전한 솔루션을 제공합니다. HTML을 ZIP 파일로 변환하고, 리소스를 포함시키며, 몇 줄의 C# 코드만으로 디스크에 아카이브를 쓰는 방법을 확인할 수 있습니다. + +HTML을 ZIP으로 저장하면 자체 포함된 웹 페이지를 배포하거나, 이메일에 미리보기를 삽입하거나, 생성된 보고서를 아카이브할 때 유용합니다. 이 접근 방식은 모든 HTML 문자열이나 파일에 적용 가능하며, Aspose.HTML 라이브러리만 있으면 됩니다. + +이 튜토리얼에서 배울 내용: + +* 문자열 또는 기존 파일에서 `HTMLDocument` 생성하기. +* 이미지, CSS, 스크립트가 올바르게 패키징되도록 커스텀 `ResourceHandler` 구현하기. +* `HTMLSaveOptions`를 구성해 출력이 ZIP 아카이브가 되도록 지정하기. +* 생성된 `output.zip`에 예상 파일이 포함됐는지 확인하기. + +**전제 조건** + +* .NET 6.0 이상 (코드는 .NET Core 3.1+에서도 동작합니다). +* **Aspose.HTML for .NET** 라이선스 사본 – 평가용 무료 체험판도 사용 가능. +* Visual Studio 2022 또는 선호하는 C# IDE. + +--- + +## Step 1: Aspose.HTML NuGet 패키지 설치 + +터미널에서 프로젝트 폴더를 열고 다음을 실행합니다: + +```bash +dotnet add package Aspose.HTML +``` + +패키지는 `Aspose.Html` 네임스페이스를 추가하며, 여기에는 **HTML을 ZIP으로 저장**하는 데 필요한 클래스가 포함됩니다. + +--- + +## Step 2: 커스텀 리소스 핸들러 정의 + +Aspose.HTML이 문서를 ZIP 아카이브에 저장할 때 외부 리소스(이미지, 폰트, CSS)마다 `ResourceHandler`에 요청합니다. 핸들러를 제공하면 아카이브에 무엇을 포함시킬지 제어할 수 있습니다. 아래 핸들러는 요청된 리소스에 대해 빈 스트림을 반환하지만, 실제 파일을 읽도록 확장할 수 있습니다. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**핸들러가 중요한 이유** – 핸들러가 없으면 Aspose.HTML은 HTML 마크업만 포함하고 외부 파일을 무시하여 ZIP을 풀었을 때 페이지가 깨집니다. `HandleResource`를 구현하면 생성된 아카이브가 완전하게 동작하도록 보장합니다. + +--- + +## Step 3: HTML 문서 만들기 + +HTML은 문자열, 파일 경로, 또는 `Stream`에서 로드할 수 있습니다. 여기서는 간단한 문자열을 사용합니다. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +파일에서 로드하려면 다음과 같이 생성자를 교체하면 됩니다: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Step 4: 커스텀 핸들러를 사용하도록 저장 옵션 구성 + +`HTMLSaveOptions`를 사용하면 출력 형식을 지정할 수 있습니다. `ResourceHandler` 속성을 설정하면 Aspose.HTML이 외부 참조마다 `MyHandler`를 호출합니다. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +아카이브 크기를 더 작게 만들고 싶다면 `CompressionLevel`도 조정할 수 있습니다: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Step 5: 문서를 ZIP 아카이브에 저장 + +이제 HTML(및 리소스)을 ZIP 파일에 기록합니다. `FileStream`은 대상 경로를 가리키며, Aspose.HTML이 자동으로 아카이브 구조를 생성합니다. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Expected result + +코드 실행 후 `output.zip`에는 다음이 포함됩니다: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +ZIP을 열고 `index.html`을 추출한 뒤 브라우저에서 더블 클릭합니다. “Hello, World!” 헤딩이 보이면 **HTML을 ZIP 파일로 변환**에 성공한 것입니다. + +--- + +## Common variations and edge cases + +| 상황 | 코드 적용 방법 | +|-----------|-----------------------| +| **실제 이미지 포함** | `MyHandler.HandleResource`에서 디스크의 이미지 파일을 읽어 `FileStream`을 반환합니다. | +| **여러 HTML 페이지** | 별도의 `HTMLDocument` 인스턴스를 만들고, 동일한 `HTMLSaveOptions`를 사용해 각각 `doc.Save`를 호출합니다. | +| **커스텀 폴더 구조** | `saveOptions.PreserveEmbeddedResources = true` 로 설정하고 `ResourceHandler`를 통해 출력 폴더를 제어합니다. | +| **큰 HTML 문자열** | 전체 문자열을 메모리에 로드하지 않도록 `MemoryStream`을 사용합니다. | +| **비밀번호 보호 ZIP** | Aspose.HTML은 ZIP을 직접 암호화하지 않으므로, 저장 후 서드파티 ZIP 라이브러리로 `FileStream`을 래핑합니다. | + +**팁:** `HTMLDocument`와 모든 스트림은 `using` 문으로 감싸서 즉시 해제하고, 관리되지 않는 리소스를 빠르게 반환하도록 합니다. + +--- + +## Full, runnable example + +아래는 복사·붙여넣기 후 바로 실행할 수 있는 전체 프로그램입니다. **HTML을 ZIP으로 저장** 전체 흐름을 처음부터 끝까지 보여줍니다. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +프로그램을 실행합니다 (`dotnet run` 명령으로 콘솔 프로젝트를 만든 경우). 실행이 끝나면 `output.zip` 경로와 함께 확인 메시지가 표시됩니다. + +--- + +## Verifying the conversion + +1. 프로그램이 만든 `output` 폴더로 이동합니다. +2. `output.zip`을 오른쪽 클릭 → **Extract All…** 선택합니다. +3. 추출된 `index.html`을 브라우저에서 엽니다. +4. **Hello, World!** 헤딩이 보이면 **HTML을 ZIP 파일로 변환**에 성공한 것입니다. + +페이지가 이미지나 CSS 없이 로드되면, HTML을 ZIP 파일로 성공적으로 변환한 것입니다. + +--- + +## Troubleshooting common issues + +* **빈 ZIP 파일** – `ResourceHandler`를 할당한 *후에* `doc.Save`가 호출됐는지 확인하세요. 핸들러가 null이면 변환이 일어나지 않습니다. +* **리소스 누락** – `MyHandler`를 확장해 디스크나 데이터베이스에서 파일을 찾도록 구현합니다. 실제 리소스를 가리키는 `FileStream`을 반환하세요. +* **권한 오류** – 애플리케이션이 대상 디렉터리에 쓰기 권한이 있는지 확인합니다. `Directory.CreateDirectory`를 사용해 폴더가 존재하도록 보장하세요. +* **대용량 아카이브가 오래 걸림** – `CompressionLevel`을 `CompressionLevel.Fastest` 로 설정해 처리 속도를 높이되 파일 크기는 다소 커집니다. + +--- + +## Next steps + +이제 **HTML을 ZIP으로 저장**할 수 있게 되었으니 다음을 탐색해 보세요: + +* **CSS 및 JavaScript 포함** – `MyHandler`에서 해당 스트림을 반환해 ZIP에 추가합니다. +* **동일 HTML에서 PDF 생성** – `HTMLSaveOptions`와 `PdfSaveOptions`를 함께 사용해 PDF로도 내보냅니다. +* **배치 처리** – HTML 문자열이나 파일 컬렉션을 순회하며 각각 별도 ZIP을 생성합니다. + +이러한 확장을 통해 웹과 오프라인 시나리오 모두를 지원하는 강력한 문서 생성 파이프라인을 구축할 수 있습니다. + +--- + +## Conclusion + +Aspose.HTML을 사용해 C#에서 **HTML을 ZIP으로 저장**하는 방법을 배우셨습니다. 라이브러리 설치부터 커스텀 `ResourceHandler` 구현, 출력 검증까지 모든 과정을 다루었습니다. 위 단계들을 따라 하면 **HTML을 ZIP 파일로 변환**하고 리소스를 패키징해 어떤 .NET 애플리케이션에서도 휴대용 웹 콘텐츠를 제공할 수 있습니다. 즐거운 코딩 되세요! + +## What Should You Learn Next? + +다음 튜토리얼들은 이 가이드에서 배운 기술을 기반으로 하며, 추가 API 기능을 마스터하고 다양한 구현 방법을 탐구하는 데 도움이 됩니다. 각 리소스에는 완전한 코드 예제와 단계별 설명이 포함되어 있습니다. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/polish/net/html-extensions-and-conversions/_index.md b/html/polish/net/html-extensions-and-conversions/_index.md index 85c363e86b..19e25ea2bb 100644 --- a/html/polish/net/html-extensions-and-conversions/_index.md +++ b/html/polish/net/html-extensions-and-conversions/_index.md @@ -99,6 +99,8 @@ Spakuj pliki HTML do archiwum ZIP w C# przy użyciu Aspose.HTML. Przewodnik krok Utwórz PDF z dokumentu HTML w C# przy użyciu Aspose.HTML. Przewodnik krok po kroku z przykładami kodu. ### [Zapisz HTML jako ZIP w C# – kompletny przewodnik krok po kroku](./save-html-as-zip-in-c-complete-step-by-step-guide/) Dowiedz się, jak zapisać dokument HTML jako plik ZIP w C# przy użyciu Aspose.HTML, krok po kroku z przykładami kodu. +### [Jak zapisać HTML jako ZIP w C# przy użyciu Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Dowiedz się, jak w C# zapisać plik HTML jako archiwum ZIP przy użyciu Aspose.HTML. ### [Aspose HTML do PDF w C# – Kompletny przewodnik z archiwum ZIP](./aspose-html-to-pdf-in-c-complete-guide-with-zip-archive/) Pełny przewodnik, jak konwertować HTML do PDF w C# przy użyciu Aspose.HTML i zapisywać wynik w archiwum ZIP. ### [single file html – Zapisz stronę internetową jako pojedynczy plik HTML w C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) diff --git a/html/polish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/polish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..eaf93712dc --- /dev/null +++ b/html/polish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Dowiedz się, jak zapisać HTML jako ZIP w C# przy użyciu Aspose.HTML. + Ten przewodnik krok po kroku pokazuje również, jak przekonwertować HTML do pliku + ZIP w celu dystrybucji offline. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: pl +lastmod: 2026-09-26 +og_description: Zapisz HTML jako ZIP w C# z Aspose.HTML. Skorzystaj z tego samouczka, + aby przekonwertować HTML na plik ZIP, obsłużyć zasoby i wygenerować przenośny archiwum. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Zapisz HTML jako ZIP w C# – kompletny przewodnik Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Jak zapisać HTML jako ZIP w C# przy użyciu Aspose.HTML +url: /pl/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak zapisać HTML jako ZIP w C# przy użyciu Aspose.HTML + +Jeśli potrzebujesz **zapisać HTML jako ZIP** w aplikacji .NET, ten przewodnik pokaże Ci kompletne rozwiązanie. Zobaczysz, jak przekonwertować HTML do pliku ZIP, osadzić zasoby i zapisać archiwum na dysku w kilku linijkach kodu C#. + +Zapisywanie HTML jako ZIP jest przydatne, gdy chcesz rozpowszechniać samodzielną stronę internetową, osadzić podgląd w e‑mailu lub archiwizować generowane raporty. Podejście działa z dowolnym ciągiem HTML lub plikiem i wymaga jedynie biblioteki Aspose.HTML. + +W tym tutorialu: + +* Utworzysz `HTMLDocument` z ciągu znaków lub istniejącego pliku. +* Zaimplementujesz własny `ResourceHandler`, aby obrazy, CSS i skrypty były prawidłowo pakowane. +* Skonfigurujesz `HTMLSaveOptions`, aby skierować wyjście do archiwum ZIP. +* Zweryfikujesz, że powstały `output.zip` zawiera oczekiwane pliki. + +**Wymagania wstępne** + +* .NET 6.0 lub nowszy (kod działa także z .NET Core 3.1+). +* Licencjonowana kopia **Aspose.HTML for .NET** – darmowa wersja próbna wystarczy do oceny. +* Visual Studio 2022 lub dowolne IDE dla C#, którego używasz. + +--- + +## Krok 1: Zainstaluj pakiet NuGet Aspose.HTML + +Otwórz folder projektu w terminalu i uruchom: + +```bash +dotnet add package Aspose.HTML +``` + +Pakiet dodaje przestrzeń nazw `Aspose.Html`, zawierającą klasy potrzebne do **zapisu HTML jako ZIP**. + +--- + +## Krok 2: Zdefiniuj własny obsługujący zasoby handler + +Podczas zapisywania dokumentu do archiwum ZIP Aspose.HTML wywołuje `ResourceHandler` dla każdego zewnętrznego zasobu (obrazy, czcionki, CSS). Dostarczenie handlera pozwala kontrolować, co trafia do archiwum. Poniższy handler zwraca pusty strumień dla każdego żądanego zasobu, ale możesz go rozbudować, aby odczytywać prawdziwe pliki. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Dlaczego handler ma znaczenie** – Bez niego Aspose.HTML osadziłby jedynie znacznik HTML i pominął pliki zewnętrzne, co skutkowałoby zepsutą stroną po rozpakowaniu ZIP. Implementując `HandleResource`, zapewniasz, że wygenerowane archiwum będzie w pełni funkcjonalne. + +--- + +## Krok 3: Utwórz dokument HTML + +HTML możesz wczytać z ciągu znaków, ścieżki pliku lub `Stream`. Tutaj używamy prostego ciągu zawierającego nagłówek. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Jeśli wolisz wczytać z pliku, zamień konstruktor na: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Krok 4: Skonfiguruj opcje zapisu, aby używać własnego handlera + +`HTMLSaveOptions` pozwala określić format wyjściowy. Ustawienie właściwości `ResourceHandler` informuje Aspose.HTML, aby wywoływał `MyHandler` dla każdego odwołania zewnętrznego. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Możesz także dostosować `CompressionLevel`, jeśli potrzebujesz mniejszego archiwum: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Krok 5: Zapisz dokument do archiwum ZIP + +Teraz zapisz HTML (i wszystkie zasoby) do pliku ZIP. `FileStream` wskazuje docelową ścieżkę; Aspose.HTML automatycznie tworzy strukturę archiwum. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Oczekiwany rezultat + +Po uruchomieniu kodu, `output.zip` będzie zawierał: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Otwórz ZIP, wyodrębnij `index.html` i dwukrotnie kliknij go w przeglądarce. Powinien wyświetlić się nagłówek „Hello, World!”, co potwierdzi, że **pomyślnie przekonwertowano HTML do pliku ZIP**. + +--- + +## Typowe warianty i przypadki brzegowe + +| Sytuacja | Jak dostosować kod | +|-----------|-----------------------| +| **Osadzanie prawdziwych obrazów** | W `MyHandler.HandleResource` odczytaj plik obrazu z dysku i zwróć jego `FileStream`. | +| **Wiele stron HTML** | Utwórz osobne instancje `HTMLDocument` i wywołaj `doc.Save` dla każdej, używając tych samych `HTMLSaveOptions`. | +| **Niestandardowa struktura folderów** | Ustaw `saveOptions.PreserveEmbeddedResources = true` i kontroluj folder wyjściowy poprzez `ResourceHandler`. | +| **Duże ciągi HTML** | Użyj `MemoryStream` jako źródła HTML, aby uniknąć ładowania całego ciągu do pamięci. | +| **ZIP zabezpieczony hasłem** | Aspose.HTML nie szyfruje ZIP‑ów bezpośrednio; po zapisaniu owiń `FileStream` biblioteką ZIP trzeciej strony. | + +**Pro tip:** Zawsze zwalniaj `HTMLDocument` i wszystkie strumienie przy pomocy instrukcji `using`, aby szybko zwolnić zasoby niezarządzane. + +--- + +## Pełny, gotowy do uruchomienia przykład + +Poniżej znajduje się kompletny program, który możesz skopiować, wkleić i uruchomić. Demonstruje on cały przepływ **zapisu HTML jako ZIP** od początku do końca. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Uruchom program (`dotnet run`, jeśli stworzyłeś projekt konsolowy). Po zakończeniu zobaczysz komunikat potwierdzający z ścieżką do `output.zip`. + +--- + +## Weryfikacja konwersji + +1. Przejdź do folderu `output` utworzonego przez program. +2. Kliknij prawym przyciskiem `output.zip` → **Extract All…**. +3. Otwórz wyodrębniony `index.html` w dowolnej przeglądarce. +4. Powinien wyświetlić się nagłówek **Hello, World!**. + +Jeśli strona ładuje się bez brakujących obrazów czy CSS, udało Ci się **przekonwertować HTML do pliku ZIP**. + +--- + +## Rozwiązywanie typowych problemów + +* **Pusty plik ZIP** – Upewnij się, że `doc.Save` jest wywoływany *po* przypisaniu `ResourceHandler`. Handler musi być nie‑null, aby konwersja się odbyła. +* **Brakujące zasoby** – Rozbuduj `MyHandler`, aby znajdował pliki na dysku lub w bazie danych. Zwróć `FileStream` wskazujący na rzeczywisty zasób. +* **Błędy uprawnień** – Sprawdź, czy aplikacja ma prawo zapisu do docelowego katalogu. Użyj `Directory.CreateDirectory`, aby zapewnić istnienie folderu. +* **Duże archiwa trwają długo** – Zwiększ `CompressionLevel` do `CompressionLevel.Fastest`, aby przyspieszyć przetwarzanie kosztem większego rozmiaru pliku. + +--- + +## Kolejne kroki + +Teraz, gdy potrafisz **zapisać HTML jako ZIP**, możesz rozważyć: + +* **Osadzanie CSS i JavaScript** – Dodaj je do ZIP‑a, zwracając odpowiednie strumienie w `MyHandler`. +* **Generowanie PDF‑ów z tego samego HTML** – Użyj `HTMLSaveOptions` wraz z `PdfSaveOptions`, aby uzyskać równoległy eksport do PDF. +* **Przetwarzanie wsadowe** – Iteruj po kolekcji ciągów lub plików HTML i twórz osobny ZIP dla każdego. + +Te rozszerzenia pozwolą Ci zbudować solidne potoki generowania dokumentów, które obsługują zarówno scenariusze webowe, jak i offline. + +--- + +## Podsumowanie + +Nauczyłeś się, jak **zapisać HTML jako ZIP** w C# przy użyciu Aspose.HTML, obejmując wszystko od instalacji biblioteki, przez tworzenie własnego `ResourceHandler`, po weryfikację wyniku. Postępując zgodnie z powyższymi krokami, możesz niezawodnie **przekonwertować HTML do pliku ZIP**, spakować zasoby i dostarczyć przenośną treść webową z dowolnej aplikacji .NET. Powodzenia w kodowaniu! + +## Co powinieneś nauczyć się dalej? + + +Poniższe tutoriale obejmują tematy ściśle powiązane, które rozwijają techniki przedstawione w tym przewodniku. Każdy zasób zawiera kompletne, działające przykłady kodu oraz wyjaśnienia krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia w własnych projektach. + +- [Jak spakować HTML w C# – Zapisz HTML do ZIP](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Tworzenie pliku zip w C# – Przewodnik krok po kroku, jak spakować HTML w pamięci](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Własny Resource Handler w C# – Tutorial konwersji HTML do ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/portuguese/net/html-extensions-and-conversions/_index.md b/html/portuguese/net/html-extensions-and-conversions/_index.md index 177cde9b4e..8ca53f1aef 100644 --- a/html/portuguese/net/html-extensions-and-conversions/_index.md +++ b/html/portuguese/net/html-extensions-and-conversions/_index.md @@ -109,7 +109,9 @@ Aprenda a converter HTML para PDF em C# usando Aspose.HTML e salvar o resultado Aprenda a salvar arquivos HTML em um arquivo ZIP usando C# com um guia passo a passo completo. ### [HTML de arquivo único – Salvar uma página da Web como um único arquivo HTML em C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) -Aprenda a salvar uma página da Web como um único arquivo HTML usando Aspose.HTML para .NET em C# com este tutorial passo a passo. + +### [Como salvar HTML como ZIP em C# usando Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aprenda a salvar arquivos HTML em um arquivo ZIP usando C# e Aspose.HTML com este tutorial passo a passo. ## Conclusão diff --git a/html/portuguese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/portuguese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..a377c9ab92 --- /dev/null +++ b/html/portuguese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Aprenda como salvar HTML como ZIP em C# com Aspose.HTML. Este guia passo + a passo também mostra como converter HTML em arquivo ZIP para distribuição offline. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: pt +lastmod: 2026-09-26 +og_description: Salve HTML como ZIP em C# com Aspose.HTML. Siga este tutorial para + converter HTML em arquivo ZIP, manipular recursos e gerar um arquivo portátil. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Salvar HTML como ZIP em C# – guia completo do Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Como salvar HTML como ZIP em C# usando Aspose.HTML +url: /pt/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como salvar HTML como ZIP em C# usando Aspose.HTML + +Se você precisar **salvar HTML como ZIP** em uma aplicação .NET, este guia mostra uma solução completa. Você verá como converter HTML para arquivo ZIP, incorporar recursos e gravar o arquivo no disco com apenas algumas linhas de código C#. + +Salvar HTML como ZIP é útil quando você deseja distribuir uma página web autônoma, incorporar uma pré‑visualização em um e‑mail ou arquivar relatórios gerados. A abordagem funciona com qualquer string ou arquivo HTML e requer apenas a biblioteca Aspose.HTML. + +Neste tutorial você irá: + +* Criar um `HTMLDocument` a partir de uma string ou de um arquivo existente. +* Implementar um `ResourceHandler` personalizado para que imagens, CSS ou scripts sejam embalados corretamente. +* Configurar `HTMLSaveOptions` para direcionar a saída para um arquivo ZIP. +* Verificar se o `output.zip` resultante contém os arquivos esperados. + +**Pré‑requisitos** + +* .NET 6.0 ou superior (o código também funciona com .NET Core 3.1+). +* Uma cópia licenciada do **Aspose.HTML for .NET** – a versão de avaliação gratuita serve para testes. +* Visual Studio 2022 ou qualquer IDE C# de sua preferência. + +--- + +## Etapa 1: Instalar o pacote NuGet Aspose.HTML + +Abra a pasta do seu projeto em um terminal e execute: + +```bash +dotnet add package Aspose.HTML +``` + +O pacote adiciona o namespace `Aspose.Html`, que contém as classes necessárias para **salvar HTML como ZIP**. + +--- + +## Etapa 2: Definir um manipulador de recursos personalizado + +Quando o Aspose.HTML salva um documento em um arquivo ZIP, ele solicita a um `ResourceHandler` cada recurso externo (imagens, fontes, CSS). Fornecer um manipulador permite controlar o que será incluído no arquivo. O manipulador a seguir devolve um stream vazio para qualquer recurso solicitado, mas pode ser estendido para ler arquivos reais. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Por que um manipulador é importante** – Sem ele, o Aspose.HTML incorporaria apenas a marcação HTML e ignoraria arquivos externos, resultando em uma página quebrada ao descompactar o ZIP. Ao implementar `HandleResource`, você garante que o arquivo gerado seja totalmente funcional. + +--- + +## Etapa 3: Criar o documento HTML + +Você pode carregar HTML a partir de uma string, de um caminho de arquivo ou de um `Stream`. Aqui usamos uma string simples que contém um título. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Se preferir carregar a partir de um arquivo, substitua o construtor por: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Etapa 4: Configurar as opções de salvamento para usar o manipulador personalizado + +`HTMLSaveOptions` permite especificar o formato de saída. Definir a propriedade `ResourceHandler` indica ao Aspose.HTML que ele deve invocar `MyHandler` para cada referência externa. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Você também pode ajustar o `CompressionLevel` caso precise de um arquivo menor: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Etapa 5: Salvar o documento em um arquivo ZIP + +Agora grave o HTML (e quaisquer recursos) em um arquivo ZIP. O `FileStream` aponta para o caminho de destino; o Aspose.HTML cria automaticamente a estrutura do arquivo. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Resultado esperado + +Após a execução do código, `output.zip` conterá: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Abra o ZIP, extraia `index.html` e dê um duplo‑clique nele em um navegador. Você deverá ver o título “Hello, World!”, confirmando que você **converteu HTML para arquivo ZIP** com sucesso. + +--- + +## Variações comuns e casos de borda + +| Situação | Como adaptar o código | +|-----------|-----------------------| +| **Incorporar imagens reais** | Em `MyHandler.HandleResource`, leia o arquivo de imagem do disco e devolva seu `FileStream`. | +| **Múltiplas páginas HTML** | Crie instâncias separadas de `HTMLDocument` e chame `doc.Save` para cada uma, usando o mesmo `HTMLSaveOptions`. | +| **Estrutura de pastas personalizada** | Defina `saveOptions.PreserveEmbeddedResources = true` e controle a pasta de saída via `ResourceHandler`. | +| **Strings HTML grandes** | Use `MemoryStream` para o HTML de origem a fim de evitar carregar a string inteira na memória. | +| **ZIP protegido por senha** | O Aspose.HTML não criptografa ZIPs diretamente; envolva o `FileStream` com uma biblioteca ZIP de terceiros após a gravação. | + +**Dica profissional:** Sempre descarte (`dispose`) o `HTMLDocument` e quaisquer streams com instruções `using` para liberar recursos não gerenciados rapidamente. + +--- + +## Exemplo completo, executável + +A seguir está o programa completo que você pode copiar, colar e executar. Ele demonstra todo o fluxo **salvar HTML como ZIP** do início ao fim. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Execute o programa (`dotnet run` se você criou um projeto de console). Quando terminar, verá uma mensagem de confirmação com o caminho para `output.zip`. + +--- + +## Verificando a conversão + +1. Navegue até a pasta `output` criada pelo programa. +2. Clique com o botão direito em `output.zip` → **Extract All…**. +3. Abra o `index.html` extraído em qualquer navegador. +4. Você deverá ver o título **Hello, World!**. + +Se a página for carregada sem imagens ou CSS ausentes, você converteu **HTML para arquivo ZIP** com sucesso. + +--- + +## Solução de problemas comuns + +* **Arquivo ZIP vazio** – Certifique‑se de que `doc.Save` seja chamado *depois* de atribuir o `ResourceHandler`. O manipulador deve ser não‑nulo para que a conversão ocorra. +* **Recursos ausentes** – Amplie `MyHandler` para localizar arquivos no disco ou em um banco de dados. Retorne um `FileStream` que aponte para o recurso real. +* **Erros de permissão** – Verifique se a aplicação tem acesso de gravação ao diretório de destino. Use `Directory.CreateDirectory` para garantir que a pasta exista. +* **Arquivos grandes demoram** – Aumente `CompressionLevel` para `CompressionLevel.Fastest` a fim de acelerar o processamento, embora o arquivo resultante seja maior. + +--- + +## Próximos passos + +Agora que você pode **salvar HTML como ZIP**, pode explorar: + +* **Incorporar CSS e JavaScript** – Adicione‑os ao ZIP retornando os streams apropriados em `MyHandler`. +* **Gerar PDFs a partir do mesmo HTML** – Use `HTMLSaveOptions` com `PdfSaveOptions` para exportar simultaneamente para PDF. +* **Processamento em lote** – Percorra uma coleção de strings ou arquivos HTML e crie um ZIP separado para cada um. + +Essas extensões permitem construir pipelines robustos de geração de documentos que atendem a cenários web e offline. + +--- + +## Conclusão + +Você aprendeu como **salvar HTML como ZIP** em C# com Aspose.HTML, cobrindo desde a instalação da biblioteca até a escrita de um `ResourceHandler` personalizado e a verificação da saída. Seguindo os passos acima, você pode converter HTML para arquivo ZIP de forma confiável, empacotar recursos e entregar conteúdo web portátil a partir de qualquer aplicação .NET. Boa codificação! + +## O que você deve aprender a seguir? + +Os tutoriais a seguir abordam tópicos intimamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens alternativas em seus próprios projetos. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/russian/net/html-extensions-and-conversions/_index.md b/html/russian/net/html-extensions-and-conversions/_index.md index a038aa494a..f538200c9c 100644 --- a/html/russian/net/html-extensions-and-conversions/_index.md +++ b/html/russian/net/html-extensions-and-conversions/_index.md @@ -105,6 +105,8 @@ Aspose.HTML для .NET — это не просто библиотека; эт Полное руководство по сохранению HTML в ZIP‑архив с помощью Aspose.HTML для .NET и C#. ### [single file html – Сохранить веб-страницу как один HTML‑файл в C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Узнайте, как сохранить всю веб‑страницу в один HTML‑файл с помощью Aspose.HTML для .NET и C#. +### [Как сохранить HTML в ZIP в C# с помощью Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Сохраните HTML в ZIP‑архив в C# с помощью Aspose.HTML. ## Заключение diff --git a/html/russian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/russian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..819e8999e1 --- /dev/null +++ b/html/russian/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,303 @@ +--- +category: general +date: 2026-09-26 +description: Узнайте, как сохранять HTML в виде ZIP в C# с помощью Aspose.HTML. Это + пошаговое руководство также показывает, как конвертировать HTML в ZIP‑файл для офлайн‑распространения. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: ru +lastmod: 2026-09-26 +og_description: Сохраните HTML в виде ZIP в C# с помощью Aspose.HTML. Следуйте этому + руководству, чтобы преобразовать HTML в ZIP‑файл, управлять ресурсами и создать + переносимый архив. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Сохранение HTML в ZIP в C# – полное руководство по Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Как сохранить HTML в виде ZIP в C# с использованием Aspose.HTML +url: /ru/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как сохранить HTML в виде ZIP в C# с помощью Aspose.HTML + +Если вам нужно **сохранить HTML в виде ZIP** в .NET‑приложении, это руководство покажет полное решение. Вы увидите, как преобразовать HTML в ZIP‑файл, включить ресурсы и записать архив на диск всего несколькими строками кода на C#. + +Сохранение HTML в виде ZIP полезно, когда вы хотите распространять автономную веб‑страницу, вставлять предварительный просмотр в электронное письмо или архивировать сгенерированные отчёты. Этот подход работает с любой строкой HTML или файлом и требует только библиотеки Aspose.HTML. + +В этом руководстве вы: + +* Создать `HTMLDocument` из строки или существующего файла. +* Реализовать пользовательский `ResourceHandler`, чтобы изображения, CSS или скрипты корректно упаковывались. +* Настроить `HTMLSaveOptions` для вывода в ZIP‑архив. +* Проверить, что полученный `output.zip` содержит ожидаемые файлы. + +**Требования** + +* .NET 6.0 или новее (код также работает с .NET Core 3.1+). +* Лицензионная копия **Aspose.HTML for .NET** — бесплатная пробная версия подходит для оценки. +* Visual Studio 2022 или любой предпочитаемый вами IDE для C#. + +--- + +## Шаг 1: Установите пакет Aspose.HTML NuGet + +Откройте папку проекта в терминале и выполните: + +```bash +dotnet add package Aspose.HTML +``` + +Пакет добавляет пространство имён `Aspose.Html`, которое содержит классы, необходимые для **сохранения HTML в виде ZIP**. + +--- + +## Шаг 2: Определите пользовательский обработчик ресурсов + +Когда Aspose.HTML сохраняет документ в ZIP‑архив, он запрашивает у `ResourceHandler` каждый внешний ресурс (изображения, шрифты, CSS). Предоставление обработчика позволяет контролировать, что попадает в архив. Ниже показан обработчик, который возвращает пустой поток для любого запрошенного ресурса, но его можно расширить для чтения реальных файлов. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Почему обработчик важен** — без него Aspose.HTML включит только разметку HTML и проигнорирует внешние файлы, что приведёт к неработающей странице после распаковки ZIP. Реализуя `HandleResource`, вы гарантируете полную работоспособность созданного архива. + +--- + +## Шаг 3: Создайте HTML‑документ + +HTML можно загрузить из строки, пути к файлу или `Stream`. Здесь мы используем простую строку, содержащую заголовок. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Если вы предпочитаете загрузку из файла, замените конструктор на: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Шаг 4: Настройте параметры сохранения для использования пользовательского обработчика + +`HTMLSaveOptions` позволяет указать формат вывода. Установка свойства `ResourceHandler` заставляет Aspose.HTML вызывать `MyHandler` для каждой внешней ссылки. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Вы также можете изменить `CompressionLevel`, если нужен более маленький архив: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Шаг 5: Сохраните документ в ZIP‑архив + +Теперь запишите HTML (и любые ресурсы) в ZIP‑файл. `FileStream` указывает путь назначения; Aspose.HTML автоматически создаёт структуру архива. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Ожидаемый результат + +После выполнения кода `output.zip` будет содержать: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Откройте ZIP, извлеките `index.html` и дважды щёлкните его в браузере. Вы должны увидеть заголовок «Hello, World!», подтверждая, что вы успешно **преобразовали HTML в ZIP‑файл**. + +--- + +## Общие варианты и граничные случаи + +| Ситуация | Как адаптировать код | +|-----------|-----------------------| +| **Встраивание реальных изображений** | В `MyHandler.HandleResource` считайте файл изображения с диска и верните его `FileStream`. | +| **Несколько HTML‑страниц** | Создайте отдельные экземпляры `HTMLDocument` и вызовите `doc.Save` для каждого, используя те же `HTMLSaveOptions`. | +| **Пользовательская структура папок** | Установите `saveOptions.PreserveEmbeddedResources = true` и управляйте папкой вывода через `ResourceHandler`. | +| **Большие строки HTML** | Используйте `MemoryStream` для исходного HTML, чтобы избежать загрузки всей строки в память. | +| **ZIP с паролем** | Aspose.HTML не шифрует ZIP‑файлы напрямую; после сохранения оберните `FileStream` в стороннюю ZIP‑библиотеку. | + +**Полезный совет:** Всегда освобождайте `HTMLDocument` и любые потоки с помощью операторов `using`, чтобы своевременно освобождать неуправляемые ресурсы. + +--- + +## Полный, исполняемый пример + +Ниже представлена полная программа, которую вы можете скопировать, вставить и запустить. Она демонстрирует весь процесс **сохранения HTML в ZIP** от начала до конца. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Запустите программу (`dotnet run`, если вы создали консольный проект). По завершении вы увидите сообщение подтверждения с путём к `output.zip`. + +--- + +## Проверка конвертации + +1. Перейдите в папку `output`, созданную программой. +2. Щёлкните правой кнопкой мыши `output.zip` → **Extract All…**. +3. Откройте извлечённый `index.html` в любом браузере. +4. Вы должны увидеть заголовок **Hello, World!**. + +Если страница загружается без отсутствующих изображений или CSS, вы успешно **преобразовали HTML в ZIP‑файл**. + +--- + +## Устранение распространённых проблем + +* **Пустой ZIP‑файл** — Убедитесь, что `doc.Save` вызывается *после* назначения `ResourceHandler`. Обработчик должен быть не‑null, чтобы конверсия произошла. +* **Отсутствуют ресурсы** — Расширьте `MyHandler`, чтобы находить файлы на диске или в базе данных. Возвращайте `FileStream`, указывающий на реальный ресурс. +* **Ошибки доступа** — Проверьте, что приложение имеет права записи в целевой каталог. Используйте `Directory.CreateDirectory`, чтобы гарантировать существование папки. +* **Большие архивы обрабатываются долго** — Установите `CompressionLevel` в `CompressionLevel.Fastest`, чтобы ускорить процесс за счёт большего размера файла. + +--- + +## Следующие шаги + +Теперь, когда вы умеете **сохранять HTML в ZIP**, вы можете изучить: + +* **Встраивание CSS и JavaScript** — Добавьте их в ZIP, возвращая соответствующие потоки в `MyHandler`. +* **Генерация PDF из того же HTML** — Используйте `HTMLSaveOptions` вместе с `PdfSaveOptions` для одновременного экспорта в PDF. +* **Пакетная обработка** — Пройдитесь по коллекции строк HTML или файлов и создайте отдельный ZIP для каждого. + +Эти расширения позволяют создавать надёжные конвейеры генерации документов, подходящие как для веб‑, так и для офлайн‑сценариев. + +--- + +## Заключение + +Вы узнали, как **сохранить HTML в ZIP** в C# с помощью Aspose.HTML, охватив всё от установки библиотеки до написания пользовательского `ResourceHandler` и проверки результата. Следуя приведённым шагам, вы сможете надёжно **преобразовать HTML в ZIP‑файл**, упаковать ресурсы и доставлять портативный веб‑контент из любого .NET‑приложения. Приятного кодирования! + +## Что изучать дальше? + +Следующие руководства охватывают тесно связанные темы, построенные на техниках, продемонстрированных в этом руководстве. Каждый ресурс содержит полностью работающие примеры кода с пошаговыми объяснениями, помогающими освоить дополнительные возможности API и исследовать альтернативные подходы к реализации в ваших проектах. + +- [Как упаковать HTML в ZIP в C# – Сохранить HTML в ZIP](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Создать zip‑файл C# – Пошаговое руководство по упаковке HTML в память](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Пользовательский обработчик ресурсов в C# – Учебник по конвертации HTML в ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/spanish/net/html-extensions-and-conversions/_index.md b/html/spanish/net/html-extensions-and-conversions/_index.md index 7f221f34ef..9d739706ec 100644 --- a/html/spanish/net/html-extensions-and-conversions/_index.md +++ b/html/spanish/net/html-extensions-and-conversions/_index.md @@ -102,6 +102,8 @@ Aprenda a comprimir archivos HTML en C# usando Aspose.HTML con una guía paso a Aprenda a guardar documentos HTML en un archivo ZIP usando C# con Aspose.HTML, siguiendo una guía paso a paso. ### [Guardar HTML en ZIP en C# – Guía completa](./save-html-to-zip-in-c-complete-guide/) Aprenda a guardar archivos HTML en un archivo ZIP usando C# y Aspose.HTML con una guía paso a paso completa. +### [Cómo guardar HTML como ZIP en C# usando Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aprenda a comprimir archivos HTML en un archivo ZIP usando C# y Aspose.HTML con una guía paso a paso. ### [Archivo HTML único – Guardar una página web como un solo archivo HTML en C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) Aprenda a guardar una página web completa en un solo archivo HTML usando Aspose.HTML y C# paso a paso. diff --git a/html/spanish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/spanish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..7cf780e424 --- /dev/null +++ b/html/spanish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,302 @@ +--- +category: general +date: 2026-09-26 +description: Aprende cómo guardar HTML como ZIP en C# con Aspose.HTML. Esta guía paso + a paso también muestra cómo convertir HTML a un archivo ZIP para distribución offline. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: es +lastmod: 2026-09-26 +og_description: Guarda HTML como ZIP en C# con Aspose.HTML. Sigue este tutorial para + convertir HTML a archivo ZIP, manejar recursos y generar un archivo portátil. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Guardar HTML como ZIP en C# – guía completa de Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Cómo guardar HTML como ZIP en C# usando Aspose.HTML +url: /es/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo guardar HTML como ZIP en C# usando Aspose.HTML + +Si necesita **guardar HTML como ZIP** en una aplicación .NET, esta guía le muestra una solución completa. Verá cómo convertir HTML a un archivo ZIP, incrustar recursos y escribir el archivo en disco con solo unas pocas líneas de código C#. + +Guardar HTML como ZIP es útil cuando desea distribuir una página web auto‑contenida, incrustar una vista previa en un correo electrónico o archivar informes generados. El enfoque funciona con cualquier cadena o archivo HTML, y solo requiere la biblioteca Aspose.HTML. + +En este tutorial usted: + +* Creará un `HTMLDocument` a partir de una cadena o de un archivo existente. +* Implementará un `ResourceHandler` personalizado para que imágenes, CSS o scripts se empaqueten correctamente. +* Configurará `HTMLSaveOptions` para dirigir la salida a un archivo ZIP. +* Verificará que el `output.zip` resultante contenga los archivos esperados. + +**Requisitos previos** + +* .NET 6.0 o posterior (el código también funciona con .NET Core 3.1+). +* Una copia con licencia de **Aspose.HTML for .NET** – la prueba gratuita sirve para evaluación. +* Visual Studio 2022 o cualquier IDE de C# que prefiera. + +--- + +## Paso 1: Instalar el paquete NuGet Aspose.HTML + +Abra la carpeta de su proyecto en una terminal y ejecute: + +```bash +dotnet add package Aspose.HTML +``` + +El paquete agrega el espacio de nombres `Aspose.Html`, que contiene las clases que necesita para **guardar HTML como ZIP**. + +--- + +## Paso 2: Definir un manejador de recursos personalizado + +Cuando Aspose.HTML guarda un documento en un archivo ZIP solicita a un `ResourceHandler` cada recurso externo (imágenes, fuentes, CSS). Proveer un manejador le permite controlar qué se incluye en el archivo. El siguiente manejador devuelve un flujo vacío para cualquier recurso solicitado, pero puede ampliarse para leer archivos reales. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Por qué importa un manejador** – Sin él, Aspose.HTML incrustaría solo el marcado HTML e ignoraría los archivos externos, lo que produciría una página rota al descomprimir el ZIP. Al implementar `HandleResource`, garantiza que el archivo generado sea totalmente funcional. + +--- + +## Paso 3: Crear el documento HTML + +Puede cargar HTML desde una cadena, una ruta de archivo o un `Stream`. Aquí usamos una cadena simple que contiene un encabezado. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Si prefiere cargar desde un archivo, reemplace el constructor con: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Paso 4: Configurar las opciones de guardado para usar el manejador personalizado + +`HTMLSaveOptions` le permite especificar el formato de salida. Asignar su propiedad `ResourceHandler` indica a Aspose.HTML que invoque `MyHandler` para cada referencia externa. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +También puede ajustar el `CompressionLevel` si necesita un archivo más pequeño: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Paso 5: Guardar el documento en un archivo ZIP + +Ahora escriba el HTML (y los recursos) en un archivo ZIP. El `FileStream` apunta a la ruta de destino; Aspose.HTML crea automáticamente la estructura del archivo. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Resultado esperado + +Después de ejecutar el código, `output.zip` contendrá: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Abra el ZIP, extraiga `index.html` y haga doble clic en él en un navegador. Debería ver el encabezado “Hello, World!”, confirmando que ha **convertido HTML a archivo ZIP** con éxito. + +--- + +## Variaciones comunes y casos límite + +| Situación | Cómo adaptar el código | +|-----------|------------------------| +| **Incrustar imágenes reales** | En `MyHandler.HandleResource`, lea el archivo de imagen del disco y devuelva su `FileStream`. | +| **Múltiples páginas HTML** | Cree instancias separadas de `HTMLDocument` y llame a `doc.Save` para cada una, usando el mismo `HTMLSaveOptions`. | +| **Estructura de carpetas personalizada** | Establezca `saveOptions.PreserveEmbeddedResources = true` y controle la carpeta de salida mediante `ResourceHandler`. | +| **Cadenas HTML grandes** | Use `MemoryStream` para el HTML de origen y evite cargar la cadena completa en memoria. | +| **ZIP protegido con contraseña** | Aspose.HTML no cifra ZIPs directamente; envuelva el `FileStream` con una biblioteca ZIP de terceros después de guardar. | + +**Consejo profesional:** Siempre libere `HTMLDocument` y cualquier flujo con sentencias `using` para liberar rápidamente los recursos no administrados. + +--- + +## Ejemplo completo y ejecutable + +A continuación se muestra el programa completo que puede copiar, pegar y ejecutar. Demuestra todo el flujo de **guardar HTML como ZIP** de principio a fin. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Ejecute el programa (`dotnet run` si creó un proyecto de consola). Cuando finalice, verá un mensaje de confirmación con la ruta a `output.zip`. + +--- + +## Verificando la conversión + +1. Navegue a la carpeta `output` creada por el programa. +2. Haga clic derecho en `output.zip` → **Extract All…**. +3. Abra el `index.html` extraído en cualquier navegador. +4. Debería ver el encabezado **Hello, World!**. + +Si la página se carga sin imágenes o CSS faltantes, ha **convertido HTML a archivo ZIP** correctamente. + +--- + +## Solución de problemas comunes + +* **Archivo ZIP vacío** – Asegúrese de que `doc.Save` se invoque *después* de asignar `ResourceHandler`. El manejador debe ser no nulo para que la conversión ocurra. +* **Recursos faltantes** – Amplíe `MyHandler` para localizar archivos en disco o en una base de datos. Devuelva un `FileStream` que apunte al recurso real. +* **Errores de permisos** – Verifique que la aplicación tenga acceso de escritura al directorio de destino. Use `Directory.CreateDirectory` para garantizar que la carpeta exista. +* **Archivos ZIP grandes tardan mucho** – Aumente `CompressionLevel` a `CompressionLevel.Fastest` para acelerar el proceso a costa de un archivo más grande. + +--- + +## Próximos pasos + +Ahora que puede **guardar HTML como ZIP**, podría explorar: + +* **Incrustar CSS y JavaScript** – Agréguelos al ZIP devolviendo los flujos apropiados en `MyHandler`. +* **Generar PDFs a partir del mismo HTML** – Use `HTMLSaveOptions` con `PdfSaveOptions` para una exportación paralela a PDF. +* **Procesamiento por lotes** – Recorra una colección de cadenas o archivos HTML y cree un ZIP separado para cada uno. + +Estas extensiones le permiten construir pipelines robustos de generación de documentos que sirven tanto a escenarios web como offline. + +--- + +## Conclusión + +Ha aprendido a **guardar HTML como ZIP** en C# con Aspose.HTML, cubriendo desde la instalación de la biblioteca hasta la creación de un `ResourceHandler` personalizado y la verificación del resultado. Siguiendo los pasos anteriores podrá **convertir HTML a archivo ZIP** de forma fiable, empaquetar recursos y entregar contenido web portátil desde cualquier aplicación .NET. ¡Feliz codificación! + +## ¿Qué debería aprender a continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y explicaciones paso a paso para ayudarle a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en sus propios proyectos. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/swedish/net/html-extensions-and-conversions/_index.md b/html/swedish/net/html-extensions-and-conversions/_index.md index fb85ecb8d3..72b798c8b2 100644 --- a/html/swedish/net/html-extensions-and-conversions/_index.md +++ b/html/swedish/net/html-extensions-and-conversions/_index.md @@ -74,8 +74,8 @@ Lär dig hur du konverterar HTML till TIFF med Aspose.HTML för .NET. Följ vår Upptäck kraften i Aspose.HTML för .NET: Konvertera HTML till XPS utan ansträngning. Förutsättningar, steg-för-steg-guide och vanliga frågor ingår. ### [Hur du zippar HTML i C# – Spara HTML till zip](./how-to-zip-html-in-c-save-html-to-zip/) Lär dig hur du packar HTML-filer i en zip-arkiv med C# och Aspose.HTML för .NET i en steg-för-steg-guide. -### [Skapa HTML-dokument med formaterad text och exportera till PDF – Fullständig guide](./create-html-document-with-styled-text-and-export-to-pdf-full/) -Lär dig skapa ett HTML-dokument med stiliserad text och konvertera det till PDF med Aspose.HTML för .NET i en komplett steg-för-steg-guide. +### [Hur man sparar HTML som ZIP i C# med Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Lär dig hur du sparar HTML som ZIP-arkiv i C# med Aspose.HTML i en tydlig steg‑för‑steg‑guide. ### [Skapa PDF från HTML – C# steg‑för‑steg‑guide](./create-pdf-from-html-c-step-by-step-guide/) Skapa PDF från HTML med C# och Aspose.HTML för .NET. Följ vår steg‑för‑steg‑guide för enkel PDF‑generering. ### [Skapa PDF från HTML med Aspose.HTML – Steg‑för‑steg‑guide](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) @@ -102,7 +102,6 @@ Lär dig hur du zippar HTML-filer i C# med en komplett steg‑för‑steg‑guid ### [Spara HTML till ZIP i C# – Komplett guide](./save-html-to-zip-in-c-complete-guide/) Lär dig hur du sparar HTML-filer i ett ZIP‑arkiv med en komplett C#‑guide och steg‑för‑steg‑instruktioner. ### [En fil HTML – Spara en webbsida som en enda HTML-fil i C#](./single-file-html-save-a-web-page-as-one-html-file-in-c/) -Lär dig hur du sparar en hel webbsida som en enda HTML-fil med C# och Aspose.HTML för .NET i en steg‑för‑steg‑guide. ## Slutsats diff --git a/html/swedish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/swedish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..fa0fffacff --- /dev/null +++ b/html/swedish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,303 @@ +--- +category: general +date: 2026-09-26 +description: Lär dig hur du sparar HTML som ZIP i C# med Aspose.HTML. Denna steg‑för‑steg‑guide + visar också hur du konverterar HTML till en ZIP‑fil för offline‑distribution. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: sv +lastmod: 2026-09-26 +og_description: Spara HTML som ZIP i C# med Aspose.HTML. Följ den här handledningen + för att konvertera HTML till en ZIP-fil, hantera resurser och skapa ett bärbart + arkiv. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Spara HTML som ZIP i C# – komplett Aspose.HTML-guide +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Hur man sparar HTML som ZIP i C# med Aspose.HTML +url: /sv/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man sparar HTML som ZIP i C# med Aspose.HTML + +Om du behöver **spara HTML som ZIP** i en .NET-applikation, visar den här guiden en komplett lösning. Du kommer att se hur du konverterar HTML till en ZIP‑fil, bäddar in resurser och skriver arkivet till disk med bara några rader C#‑kod. + +Att spara HTML som ZIP är användbart när du vill distribuera en självständig webbsida, bädda in en förhandsgranskning i ett e‑postmeddelande eller arkivera genererade rapporter. Metoden fungerar med vilken HTML‑sträng eller fil som helst, och den kräver endast Aspose.HTML‑biblioteket. + +I den här handledningen kommer du att: + +* Skapa ett `HTMLDocument` från en sträng eller befintlig fil. +* Implementera en anpassad `ResourceHandler` så att bilder, CSS eller skript paketeras korrekt. +* Konfigurera `HTMLSaveOptions` för att rikta utdata till ett ZIP‑arkiv. +* Verifiera att den resulterande `output.zip` innehåller de förväntade filerna. + +**Förutsättningar** + +* .NET 6.0 eller senare (koden fungerar också med .NET Core 3.1+). +* En licensierad kopia av **Aspose.HTML for .NET** – den kostnadsfria provversionen fungerar för utvärdering. +* Visual Studio 2022 eller någon C#‑IDE du föredrar. + +--- + +## Steg 1: Installera Aspose.HTML NuGet‑paketet + +Öppna din projektmapp i en terminal och kör: + +```bash +dotnet add package Aspose.HTML +``` + +Paketet lägger till `Aspose.Html`‑namnrymden, som innehåller de klasser du behöver för att **spara HTML som ZIP**. + +--- + +## Steg 2: Definiera en anpassad resurs‑hanterare + +När Aspose.HTML sparar ett dokument till ett ZIP‑arkiv frågar den en `ResourceHandler` för varje extern resurs (bilder, teckensnitt, CSS). Att tillhandahålla en hanterare låter dig kontrollera vad som går in i arkivet. Följande hanterare returnerar en tom ström för vilken begärd resurs som helst, men du kan utöka den för att läsa riktiga filer. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Varför en hanterare är viktig** – Utan den skulle Aspose.HTML bara bädda in HTML‑markupen och ignorera externa filer, vilket resulterar i en trasig sida när ZIP‑filen packas upp. Genom att implementera `HandleResource` säkerställer du att det genererade arkivet är fullt funktionellt. + +--- + +## Steg 3: Skapa HTML‑dokumentet + +Du kan ladda HTML från en sträng, en filsökväg eller en `Stream`. Här använder vi en enkel sträng som innehåller en rubrik. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Om du föredrar att ladda från en fil, ersätt konstruktorn med: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Steg 4: Konfigurera sparalternativ för att använda den anpassade hanteraren + +`HTMLSaveOptions` låter dig specificera utdataformatet. Genom att sätta dess `ResourceHandler`‑egenskap talar du om för Aspose.HTML att anropa `MyHandler` för varje extern referens. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Du kan också justera `CompressionLevel` om du behöver ett mindre arkiv: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Steg 5: Spara dokumentet i ett ZIP‑arkiv + +Skriv nu HTML (och eventuella resurser) till en ZIP‑fil. `FileStream` pekar på destinationssökvägen; Aspose.HTML skapar automatiskt arkivstrukturen. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Förväntat resultat + +Efter att koden har körts kommer `output.zip` att innehålla: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Öppna ZIP‑filen, extrahera `index.html` och dubbelklicka på den i en webbläsare. Du bör se rubriken “Hello, World!”, vilket bekräftar att du framgångsrikt **konverterat HTML till ZIP‑fil**. + +--- + +## Vanliga variationer och kantfall + +| Situation | Hur man anpassar koden | +|-----------|------------------------| +| **Bädda in riktiga bilder** | I `MyHandler.HandleResource`, läs bildfilen från disk och returnera dess `FileStream`. | +| **Flera HTML‑sidor** | Skapa separata `HTMLDocument`‑instanser och anropa `doc.Save` för var och en, med samma `HTMLSaveOptions`. | +| **Anpassad mappstruktur** | Ställ in `saveOptions.PreserveEmbeddedResources = true` och kontrollera målmappar via `ResourceHandler`. | +| **Stora HTML‑strängar** | Använd `MemoryStream` för käll‑HTML för att undvika att ladda hela strängen i minnet. | +| **Lösenordsskyddad ZIP** | Aspose.HTML krypterar inte ZIP‑filer direkt; omslut `FileStream` med ett tredjeparts‑ZIP‑bibliotek efter sparning. | + +**Proffstips:** Avsluta alltid `HTMLDocument` och alla strömmar med `using`‑satser för att snabbt frigöra ohanterade resurser. + +--- + +## Fullt, körbart exempel + +Nedan är det kompletta programmet som du kan kopiera, klistra in och köra. Det demonstrerar hela **spara HTML som ZIP**‑arbetsflödet från början till slut. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Kör programmet (`dotnet run` om du skapade ett konsolprojekt). När det är klart ser du ett bekräftelsemeddelande med sökvägen till `output.zip`. + +--- + +## Verifiera konverteringen + +1. Navigera till `output`‑mappen som skapats av programmet. +2. Högerklicka på `output.zip` → **Extract All…**. +3. Öppna den extraherade `index.html` i en webbläsare. +4. Du bör se rubriken **Hello, World!**. + +Om sidan laddas utan saknade bilder eller CSS har du framgångsrikt **konverterat HTML till ZIP‑fil**. + +--- + +## Felsökning av vanliga problem + +* **Tom ZIP‑fil** – Se till att `doc.Save` anropas *efter* att du har tilldelat `ResourceHandler`. Hanteraren måste vara icke‑null för att konverteringen ska ske. +* **Saknade resurser** – Utöka `MyHandler` för att hitta filer på disk eller i en databas. Returnera ett `FileStream` som pekar på den faktiska resursen. +* **Behörighetsfel** – Verifiera att applikationen har skrivbehörighet till mål‑katalogen. Använd `Directory.CreateDirectory` för att säkerställa att mappen finns. +* **Stora arkiv tar lång tid** – Öka `CompressionLevel` till `CompressionLevel.Fastest` för att snabba upp bearbetningen på bekostnad av en större fil. + +--- + +## Nästa steg + +Nu när du kan **spara HTML som ZIP**, kan du utforska: + +* **Bädda in CSS och JavaScript** – Lägg till dem i ZIP‑filen genom att returnera lämpliga strömmar i `MyHandler`. +* **Generera PDF‑filer från samma HTML** – Använd `HTMLSaveOptions` med `PdfSaveOptions` för en sida‑vid‑sida PDF‑export. +* **Batch‑bearbetning** – Loopa över en samling HTML‑strängar eller filer och skapa ett separat ZIP för varje. + +Dessa tillägg låter dig bygga robusta dokument‑genereringspipeline som betjänar både webb‑ och offline‑scenarier. + +--- + +## Slutsats + +Du har lärt dig hur man **sparar HTML som ZIP** i C# med Aspose.HTML, och täckt allt från att installera biblioteket till att skriva en anpassad `ResourceHandler` och verifiera resultatet. Genom att följa stegen ovan kan du på ett pålitligt sätt **konvertera HTML till ZIP‑fil**, paketera resurser och leverera portabelt webb‑innehåll från vilken .NET‑applikation som helst. Lycka till med kodningen! + +## Vad bör du lära dig härnäst? + +Följande handledningar täcker närliggande ämnen som bygger på teknikerna som demonstreras i den här guiden. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/thai/net/html-extensions-and-conversions/_index.md b/html/thai/net/html-extensions-and-conversions/_index.md index 5d9720b413..43f161e7bc 100644 --- a/html/thai/net/html-extensions-and-conversions/_index.md +++ b/html/thai/net/html-extensions-and-conversions/_index.md @@ -64,12 +64,12 @@ Aspose.HTML สำหรับ .NET ไม่ใช่แค่ไลบรา ### [แปลง HTML เป็น MHTML ใน .NET ด้วย Aspose.HTML](./convert-html-to-mhtml/) แปลง HTML เป็น MHTML ใน .NET ด้วย Aspose.HTML - คำแนะนำทีละขั้นตอนสำหรับการเก็บถาวรเนื้อหาเว็บอย่างมีประสิทธิภาพ เรียนรู้วิธีใช้ Aspose.HTML สำหรับ .NET เพื่อสร้างไฟล์เก็บถาวร MHTML ### [แปลง HTML เป็น PNG ใน .NET ด้วย Aspose.HTML](./convert-html-to-png/) -ค้นพบวิธีใช้ Aspose.HTML สำหรับ .NET เพื่อจัดการและแปลงเอกสาร HTML คำแนะนำทีละขั้นตอนสำหรับการพัฒนา .NET ที่มีประสิทธิภาพ +ค้นพบวิธีใช้ Aspose.HTML สำหรับ .NET เพื่อจัดการและแปลงเอกสาร HTML คำแนะนำทีละขั้นตอนสำหรับการแปลง HTML เป็น PNG ### [แปลง HTML เป็น TIFF ใน .NET ด้วย Aspose.HTML](./convert-html-to-tiff/) เรียนรู้วิธีแปลง HTML เป็น TIFF ด้วย Aspose.HTML สำหรับ .NET ปฏิบัติตามคำแนะนำทีละขั้นตอนของเราเพื่อเพิ่มประสิทธิภาพเนื้อหาเว็บอย่างมีประสิทธิภาพ ### [แปลง HTML เป็น XPS ใน .NET ด้วย Aspose.HTML](./convert-html-to-xps/) ### [วิธีบีบอัด HTML เป็น Zip ใน C# – บันทึก HTML เป็น Zip](./how-to-zip-html-in-c-save-html-to-zip/) -เรียนรู้วิธีบีบอัดไฟล์ HTML เป็นไฟล์ Zip ด้วย C# และ Aspose.HTML สำหรับ .NET อย่างง่ายดายและปลอดภัย +เรียนรู้วิธีบีบอัดไฟล์ HTML เป็นไฟล์ Zip ด้วย C# และ Aspose.HTML อย่างง่ายดายและปลอดภัย ### [สร้างเอกสาร HTML พร้อมข้อความที่มีสไตล์และส่งออกเป็น PDF – คู่มือเต็ม](./create-html-document-with-styled-text-and-export-to-pdf-full/) เรียนรู้วิธีสร้างเอกสาร HTML ที่มีข้อความจัดรูปแบบและแปลงเป็น PDF อย่างละเอียดด้วย Aspose.HTML สำหรับ .NET ### [สร้าง PDF จาก HTML – คำแนะนำขั้นตอนโดยขั้นตอน C#](./create-pdf-from-html-c-step-by-step-guide/) @@ -80,7 +80,7 @@ Aspose.HTML สำหรับ .NET ไม่ใช่แค่ไลบรา ### [บันทึก HTML เป็น ZIP – คอร์สเต็ม C#](./save-html-as-zip-complete-c-tutorial/) บันทึกไฟล์ HTML เป็น ZIP อย่างครบถ้วนด้วย C# ตามขั้นตอนของเรา ### [บันทึก HTML เป็น ZIP ใน C# – ตัวอย่างทำงานในหน่วยความจำเต็มรูปแบบ](./save-html-to-zip-in-c-complete-in-memory-example/) -บันทึกไฟล์ HTML เป็นไฟล์ ZIP โดยใช้ C# ด้วยตัวอย่างทำงานในหน่วยความจำเต็มรูปแบบ +บันทึกไฟล์ HTML เป็น ZIP โดยใช้ C# ด้วยตัวอย่างทำงานในหน่วยความจำเต็มรูปแบบ ### [บันทึก HTML เป็น ZIP ใน C# – คู่มือเต็ม](./save-html-to-zip-in-c-complete-guide/) บันทึกไฟล์ HTML เป็น ZIP อย่างครบถ้วนด้วย C# ตามขั้นตอนของเรา @@ -107,6 +107,9 @@ Aspose.HTML สำหรับ .NET ไม่ใช่แค่ไลบรา ### [บันทึก HTML เป็น ZIP ใน C# – คู่มือขั้นตอนเต็ม](./save-html-as-zip-in-c-complete-step-by-step-guide/) เรียนรู้วิธีบันทึกไฟล์ HTML เป็น ZIP ด้วย C# ผ่านขั้นตอนละเอียดและโค้ดตัวอย่างจาก Aspose.HTML +### [วิธีบันทึก HTML เป็น ZIP ใน C# ด้วย Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +เรียนรู้วิธีบันทึกไฟล์ HTML เป็น ZIP ด้วย C# และ Aspose.HTML อย่างละเอียด + ## บทสรุป โดยสรุป การขยายและการแปลง HTML เป็นองค์ประกอบสำคัญของการพัฒนาเว็บสมัยใหม่ Aspose.HTML สำหรับ .NET ทำให้กระบวนการนี้ง่ายขึ้นและทำให้ผู้พัฒนาทุกระดับสามารถเข้าถึงได้ หากทำตามบทช่วยสอนของเรา คุณจะก้าวไปสู่การเป็นนักพัฒนาเว็บที่เชี่ยวชาญและมีทักษะที่หลากหลาย diff --git a/html/thai/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/thai/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..32a6d9b4ea --- /dev/null +++ b/html/thai/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: เรียนรู้วิธีบันทึก HTML เป็นไฟล์ ZIP ด้วย C# และ Aspose.HTML คู่มือแบบขั้นตอนนี้ยังแสดงวิธีแปลง + HTML เป็นไฟล์ ZIP สำหรับการแจกจ่ายแบบออฟไลน์ +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: th +lastmod: 2026-09-26 +og_description: บันทึก HTML เป็นไฟล์ ZIP ด้วย C# และ Aspose.HTML. ทำตามบทเรียนนี้เพื่อแปลง + HTML เป็นไฟล์ ZIP, จัดการทรัพยากร, และสร้างไฟล์เก็บข้อมูลแบบพกพา. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: บันทึก HTML เป็น ZIP ใน C# – คู่มือ Aspose.HTML อย่างครบถ้วน +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: วิธีบันทึก HTML เป็นไฟล์ ZIP ใน C# ด้วย Aspose.HTML +url: /th/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีบันทึก HTML เป็น ZIP ใน C# ด้วย Aspose.HTML + +หากคุณต้องการ **บันทึก HTML เป็น ZIP** ในแอปพลิเคชัน .NET คู่มือนี้จะแสดงวิธีแก้ไขที่สมบูรณ์ คุณจะได้เห็นวิธีแปลง HTML เป็นไฟล์ ZIP, ฝังทรัพยากร, และเขียนไฟล์เก็บไว้บนดิสก์ด้วยเพียงไม่กี่บรรทัดของโค้ด C# + +การบันทึก HTML เป็น ZIP มีประโยชน์เมื่อคุณต้องการแจกจ่ายหน้าเว็บที่เป็นอิสระ, ฝังตัวอย่างในอีเมล, หรือเก็บบันทึกรายงานที่สร้างขึ้น วิธีนี้ทำงานกับสตริงหรือไฟล์ HTML ใดก็ได้ และต้องการเพียงไลบรารี Aspose.HTML + +ในบทเรียนนี้คุณจะ: + +* สร้าง `HTMLDocument` จากสตริงหรือไฟล์ที่มีอยู่ +* ทำการใช้งาน `ResourceHandler` แบบกำหนดเองเพื่อให้รูปภาพ, CSS หรือสคริปต์ถูกบรรจุอย่างถูกต้อง +* กำหนดค่า `HTMLSaveOptions` เพื่อส่งออกเป็นไฟล์ ZIP +* ตรวจสอบว่า `output.zip` ที่ได้มีไฟล์ที่คาดหวังอยู่ + +**ข้อกำหนดเบื้องต้น** + +* .NET 6.0 หรือใหม่กว่า (โค้ดนี้ยังทำงานกับ .NET Core 3.1+ ด้วย) +* สำเนาไลเซนส์ของ **Aspose.HTML for .NET** – เวอร์ชันทดลองฟรีใช้สำหรับการประเมิน +* Visual Studio 2022 หรือ IDE C# ใด ๆ ที่คุณชอบ + +--- + +## ขั้นตอนที่ 1: ติดตั้งแพคเกจ Aspose.HTML NuGet + +Open your project folder in a terminal and run: + +```bash +dotnet add package Aspose.HTML +``` + +แพคเกจนี้จะเพิ่มเนมสเปซ `Aspose.Html` ซึ่งมีคลาสที่คุณต้องการเพื่อ **บันทึก HTML เป็น ZIP** + +--- + +## ขั้นตอนที่ 2: กำหนดตัวจัดการทรัพยากรแบบกำหนดเอง + +When Aspose.HTML saves a document to a ZIP archive it asks a `ResourceHandler` for each external resource (images, fonts, CSS). Providing a handler lets you control what goes into the archive. The following handler returns an empty stream for any requested resource, but you can extend it to read real files. + +เมื่อ Aspose.HTML บันทึกเอกสารเป็นไฟล์ ZIP มันจะเรียก `ResourceHandler` สำหรับทรัพยากรภายนอกแต่ละรายการ (รูปภาพ, ฟอนต์, CSS) การให้ตัวจัดการช่วยให้คุณควบคุมสิ่งที่บรรจุในไฟล์ ZIP ตัวจัดการต่อไปนี้จะคืนค่า stream ว่างสำหรับทรัพยากรใด ๆ ที่ร้องขอ, แต่คุณสามารถขยายเพื่ออ่านไฟล์จริงได้ + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**ทำไมต้องมีตัวจัดการ** – หากไม่มี, Aspose.HTML จะฝังเฉพาะ markup ของ HTML เท่านั้นและละเว้นไฟล์ภายนอก ทำให้หน้าเว็บเสียหายเมื่อแตกไฟล์ ZIP การทำ `HandleResource` จะทำให้ไฟล์เก็บที่สร้างขึ้นทำงานได้อย่างสมบูรณ์ + +--- + +## ขั้นตอนที่ 3: สร้างเอกสาร HTML + +You can load HTML from a string, a file path, or a `Stream`. Here we use a simple string that contains a heading. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +If you prefer to load from a file, replace the constructor with: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## ขั้นตอนที่ 4: กำหนดค่า save options เพื่อใช้ตัวจัดการแบบกำหนดเอง + +`HTMLSaveOptions` lets you specify the output format. Setting its `ResourceHandler` property tells Aspose.HTML to invoke `MyHandler` for each external reference. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +You can also adjust the `CompressionLevel` if you need a smaller archive: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## ขั้นตอนที่ 5: บันทึกเอกสารเป็นไฟล์ ZIP + +Now write the HTML (and any resources) into a ZIP file. The `FileStream` points to the destination path; Aspose.HTML automatically creates the archive structure. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### ผลลัพธ์ที่คาดหวัง + +After the code runs, `output.zip` will contain: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Open the ZIP, extract `index.html`, and double‑click it in a browser. You should see the “Hello, World!” heading, confirming that you have successfully **converted HTML to ZIP file**. + +--- + +## การปรับใช้ทั่วไปและกรณีขอบ + +| สถานการณ์ | วิธีปรับโค้ด | +|-----------|-----------------------| +| **ฝังรูปภาพจริง** | ใน `MyHandler.HandleResource` ให้อ่านไฟล์รูปภาพจากดิสก์และคืนค่า `FileStream` ของมัน | +| **หลายหน้า HTML** | สร้างอินสแตนซ์ `HTMLDocument` แยกกันและเรียก `doc.Save` สำหรับแต่ละอันโดยใช้ `HTMLSaveOptions` เดียวกัน | +| **โครงสร้างโฟลเดอร์แบบกำหนดเอง** | ตั้งค่า `saveOptions.PreserveEmbeddedResources = true` และควบคุมโฟลเดอร์ผลลัพธ์ผ่าน `ResourceHandler` | +| **สตริง HTML ขนาดใหญ่** | ใช้ `MemoryStream` สำหรับ HTML ต้นฉบับเพื่อหลีกเลี่ยงการโหลดสตริงทั้งหมดเข้าสู่หน่วยความจำ | +| **ZIP ที่มีการป้องกันด้วยรหัสผ่าน** | Aspose.HTML ไม่เข้ารหัส ZIP โดยตรง; ให้ห่อ `FileStream` ด้วยไลบรารี ZIP ของบุคคลที่สามหลังจากบันทึก | + +**เคล็ดลับ:** ควรทำการ dispose `HTMLDocument` และสตรีมใด ๆ ด้วยคำสั่ง `using` เพื่อปล่อยทรัพยากรที่ไม่ได้จัดการโดยเร็ว + +--- + +## ตัวอย่างเต็มที่สามารถรันได้ + +Below is the complete program you can copy, paste, and run. It demonstrates the entire **save HTML as ZIP** workflow from start to finish. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Run the program (`dotnet run` if you created a console project). When it finishes, you’ll see a confirmation message with the path to `output.zip`. + +--- + +## ตรวจสอบการแปลง + +1. ไปที่โฟลเดอร์ `output` ที่โปรแกรมสร้างขึ้น +2. คลิกขวาที่ `output.zip` → **Extract All…** +3. เปิดไฟล์ `index.html` ที่แตกออกในเบราว์เซอร์ใดก็ได้ +4. คุณควรเห็นหัวข้อ **Hello, World!** + +If the page loads without missing images or CSS, you have successfully **converted HTML to ZIP file**. + +--- + +## การแก้ไขปัญหาที่พบบ่อย + +* **ไฟล์ ZIP ว่าง** – ตรวจสอบให้แน่ใจว่า `doc.Save` ถูกเรียก *หลังจาก* ที่คุณกำหนด `ResourceHandler`. ตัวจัดการต้องไม่เป็น null เพื่อให้การแปลงเกิดขึ้น +* **ทรัพยากรหาย** – ขยาย `MyHandler` เพื่อค้นหาไฟล์บนดิสก์หรือในฐานข้อมูล คืนค่า `FileStream` ที่ชี้ไปยังทรัพยากรจริง +* **ข้อผิดพลาดเรื่องสิทธิ์** – ตรวจสอบว่าแอปพลิเคชันมีสิทธิ์เขียนในไดเรกทอรีเป้าหมาย ใช้ `Directory.CreateDirectory` เพื่อให้แน่ใจว่าโฟลเดอร์มีอยู่ +* **ไฟล์เก็บขนาดใหญ่ใช้เวลานาน** – เพิ่ม `CompressionLevel` เป็น `CompressionLevel.Fastest` เพื่อเร่งการประมวลผลแม้ว่าจะทำให้ไฟล์ใหญ่ขึ้น + +--- + +## ขั้นตอนต่อไป + +Now that you can **save HTML as ZIP**, you might explore: + +* **ฝัง CSS และ JavaScript** – เพิ่มไฟล์เหล่านั้นลงใน ZIP โดยคืนค่า stream ที่เหมาะสมใน `MyHandler` +* **สร้าง PDF จาก HTML เดียวกัน** – ใช้ `HTMLSaveOptions` ร่วมกับ `PdfSaveOptions` เพื่อส่งออกเป็น PDF ควบคู่กัน +* **ประมวลผลเป็นชุด** – วนลูปผ่านคอลเลกชันของสตริงหรือไฟล์ HTML และสร้าง ZIP แยกสำหรับแต่ละรายการ + +ส่วนขยายเหล่านี้ช่วยให้คุณสร้าง pipeline การสร้างเอกสารที่แข็งแรงซึ่งรองรับทั้งสถานการณ์เว็บและออฟไลน์ + +--- + +## สรุป + +You have learned how to **save HTML as ZIP** in C# with Aspose.HTML, covering everything from installing the library to writing a custom `ResourceHandler` and verifying the output. By following the steps above you can reliably **convert HTML to ZIP file**, package resources, and deliver portable web content from any .NET application. Happy coding! + +## คุณควรเรียนรู้อะไรต่อไป? + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [วิธีบีบอัด HTML ใน C# – บันทึก HTML เป็น Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [สร้างไฟล์ zip C# – คู่มือขั้นตอนต่อขั้นตอนเพื่อบีบอัด HTML ในหน่วยความจำ](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [ตัวจัดการทรัพยากรแบบกำหนดเองใน C# – การสอนแปลง HTML เป็น ZIP](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/turkish/net/html-extensions-and-conversions/_index.md b/html/turkish/net/html-extensions-and-conversions/_index.md index 6e7cfa27eb..319c63d342 100644 --- a/html/turkish/net/html-extensions-and-conversions/_index.md +++ b/html/turkish/net/html-extensions-and-conversions/_index.md @@ -79,7 +79,8 @@ C# ve Aspose.HTML kullanarak HTML'yi PDF'ye dönüştürün ve ZIP arşiviyle ka ### [C# ile HTML'yi ZIP'e Kaydet – Tam Kılavuz](./save-html-to-zip-in-c-complete-guide/) Aspose.HTML for .NET kullanarak HTML dosyasını ZIP arşivine kaydetmeyi adım adım öğrenin. ### [Tek dosya HTML – Web sayfasını C#'ta tek HTML dosyası olarak kaydet](./single-file-html-save-a-web-page-as-one-html-file-in-c/) -Aspose.HTML for .NET ile C#'ta bir web sayfasını tek HTML dosyası olarak kaydedin. Adım adım kılavuz ve örnek kodlar. +### [C#'ta Aspose.HTML kullanarak HTML'yi ZIP olarak kaydet](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Aspose.HTML for .NET ile HTML dosyalarını ZIP arşivine kaydetmeyi adım adım öğrenin. {{< /blocks/products/pf/tutorial-page-section >}} @@ -92,4 +93,4 @@ Aspose.HTML for .NET ile HTML'yi PDF'ye tam adım‑adım dönüştürün. Ayrı ### [C# ile Zip Dosyası Oluşturma – Bellekte HTML'yi Zip'lemek için Adım Adım Kılavuz](./create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) C# kullanarak bellek içindeki HTML içeriğini zip dosyasına dönüştürmeyi adım adım öğrenin. ### [Aspose.HTML ile .NET'te HTML'yi ZIP'e dönüştürün](./convert-html-to-zip-in-c-complete-guide/) -Aspose.HTML for .NET kullanarak HTML'yi ZIP arşivine dönüştürün. Adım adım kılavuz ve özelleştirilebilir seçenekler. +Aspose.HTML for .NET kullanarak HTML'yi ZIP arşivine dönüştürün. Adım adım kılavuz ve özelleştirilebilir seçenekler. \ No newline at end of file diff --git a/html/turkish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/turkish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..98c7629b79 --- /dev/null +++ b/html/turkish/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,303 @@ +--- +category: general +date: 2026-09-26 +description: Aspose.HTML ile C#’ta HTML’yi ZIP olarak kaydetmeyi öğrenin. Bu adım + adım kılavuz, HTML’yi çevrim dışı dağıtım için ZIP dosyasına dönüştürmeyi de gösterir. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: tr +lastmod: 2026-09-26 +og_description: C# ile Aspose.HTML kullanarak HTML'yi ZIP olarak kaydedin. Bu öğreticiyi + izleyerek HTML'yi ZIP dosyasına dönüştürün, kaynakları yönetin ve taşınabilir bir + arşiv oluşturun. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: HTML'yi C#'ta ZIP olarak kaydet – tam Aspose.HTML rehberi +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Aspose.HTML kullanarak C#'de HTML'yi ZIP olarak nasıl kaydedilir +url: /tr/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# ile Aspose.HTML kullanarak HTML'yi ZIP olarak kaydetme + +Bir .NET uygulamasında **HTML'yi ZIP olarak kaydetmeniz** gerekiyorsa, bu kılavuz size tam bir çözüm sunar. HTML'yi ZIP dosyasına nasıl dönüştüreceğinizi, kaynakları nasıl gömeceğinizi ve arşivi sadece birkaç satır C# kodu ile diske nasıl yazacağınızı göreceksiniz. + +HTML'yi ZIP olarak kaydetmek, bağımsız bir web sayfasını dağıtmak, bir e-postada ön izleme eklemek veya oluşturulan raporları arşivlemek istediğinizde faydalıdır. Yaklaşım, herhangi bir HTML dizesi veya dosyasıyla çalışır ve yalnızca Aspose.HTML kütüphanesini gerektirir. + +Bu öğreticide şunları yapacaksınız: + +* Bir dizeden veya mevcut bir dosyadan `HTMLDocument` oluşturun. +* Görsellerin, CSS'in veya betiklerin doğru paketlenmesi için özel bir `ResourceHandler` uygulayın. +* `HTMLSaveOptions`'ı yapılandırarak çıktıyı bir ZIP arşivine yönlendirin. +* Oluşan `output.zip` dosyasının beklenen dosyaları içerdiğini doğrulayın. + +**Önkoşullar** + +* .NET 6.0 veya daha yenisi (kod .NET Core 3.1+ ile de çalışır). +* **Aspose.HTML for .NET**'in lisanslı bir kopyası – ücretsiz deneme sürümü değerlendirme için çalışır. +* Visual Studio 2022 veya tercih ettiğiniz herhangi bir C# IDE. + +--- + +## Adım 1: Aspose.HTML NuGet paketini kurun + +Proje klasörünüzü bir terminalde açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.HTML +``` + +Paket, **HTML'yi ZIP olarak kaydetmek** için ihtiyaç duyduğunuz sınıfları içeren `Aspose.Html` ad alanını ekler. + +--- + +## Adım 2: Özel bir kaynak işleyici tanımlayın + +Aspose.HTML bir belgeyi ZIP arşivine kaydederken her dış kaynağa (görseller, yazı tipleri, CSS) bir `ResourceHandler` sorar. Bir işleyici sağlamak, arşive nelerin konulacağını kontrol etmenizi sağlar. Aşağıdaki işleyici, istenen herhangi bir kaynak için boş bir akış döndürür; ancak gerçek dosyaları okumak için genişletebilirsiniz. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Neden bir işleyici önemlidir** – İşleyici olmadan Aspose.HTML yalnızca HTML işaretlemesini gömer ve dış dosyaları yok sayar; bu da ZIP açıldığında bozuk bir sayfaya yol açar. `HandleResource`'u uygulayarak oluşturulan arşivin tam işlevsel olmasını sağlarsınız. + +--- + +## Adım 3: HTML belgesini oluşturun + +HTML'yi bir dizeden, dosya yolundan veya bir `Stream`'den yükleyebilirsiniz. Burada başlık içeren basit bir dize kullanıyoruz. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Dosyadan yüklemeyi tercih ediyorsanız, yapıcıyı şu şekilde değiştirin: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Adım 4: Özel işleyiciyi kullanacak şekilde kaydetme seçeneklerini yapılandırın + +`HTMLSaveOptions` çıktının formatını belirlemenizi sağlar. `ResourceHandler` özelliğini ayarlamak, Aspose.HTML'in her dış referans için `MyHandler`'ı çağırmasını söyler. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Daha küçük bir arşiv istiyorsanız `CompressionLevel`'ı da ayarlayabilirsiniz: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Adım 5: Belgeyi bir ZIP arşivine kaydedin + +Şimdi HTML'yi (ve varsa kaynakları) bir ZIP dosyasına yazın. `FileStream` hedef yolu gösterir; Aspose.HTML otomatik olarak arşiv yapısını oluşturur. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Beklenen sonuç + +Kod çalıştıktan sonra `output.zip` şunları içerecek: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +ZIP'i açın, `index.html` dosyasını çıkarın ve tarayıcıda çift tıklayın. “Hello, World!” başlığını görmelisiniz; bu da **HTML'yi ZIP dosyasına başarıyla dönüştürdüğünüzü** doğrular. + +--- + +## Yaygın varyasyonlar ve kenar durumları + +| Durum | Kodu nasıl uyarlamalısınız | +|-----------|-----------------------| +| **Gerçek görselleri gömme** | `MyHandler.HandleResource` içinde görsel dosyasını diskten okuyup `FileStream` olarak döndürün. | +| **Birden fazla HTML sayfası** | Ayrı `HTMLDocument` örnekleri oluşturup her biri için aynı `HTMLSaveOptions` ile `doc.Save` çağırın. | +| **Özel klasör yapısı** | `saveOptions.PreserveEmbeddedResources = true` ayarlayın ve `ResourceHandler` ile çıktı klasörünü kontrol edin. | +| **Büyük HTML dizesi** | Kaynak HTML için `MemoryStream` kullanarak tüm dizeyi belleğe yüklemekten kaçının. | +| **Şifre korumalı ZIP** | Aspose.HTML ZIP'leri doğrudan şifrelemez; kaydetme sonrası `FileStream`'i üçüncü taraf bir ZIP kütüphanesi ile sarmalayın. | + +**İpucu:** `HTMLDocument` ve tüm akışları `using` ifadeleriyle her zaman serbest bırakın; böylece yönetilmeyen kaynaklar zamanında temizlenir. + +--- + +## Tam, çalıştırılabilir örnek + +Aşağıda kopyalayıp yapıştırıp çalıştırabileceğiniz tam program yer alıyor. **HTML'yi ZIP olarak kaydetme** iş akışının baştan sona tüm adımlarını gösterir. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Programı çalıştırın (`dotnet run` bir konsol projesi oluşturduysanız). Bittiğinde `output.zip` yolunu gösteren bir onay mesajı göreceksiniz. + +--- + +## Dönüşümü doğrulama + +1. Program tarafından oluşturulan `output` klasörüne gidin. +2. `output.zip`'e sağ tıklayın → **Extract All…**. +3. Çıkarılan `index.html` dosyasını herhangi bir tarayıcıda açın. +4. **Hello, World!** başlığını görmelisiniz. + +Sayfa eksik görsel veya CSS olmadan yükleniyorsa, **HTML'yi ZIP dosyasına başarıyla dönüştürdünüz** demektir. + +--- + +## Yaygın sorunların giderilmesi + +* **Boş ZIP dosyası** – `ResourceHandler`'ı atadıktan *sonra* `doc.Save` çağrıldığından emin olun. Dönüşümün gerçekleşmesi için handler null olmamalıdır. +* **Eksik kaynaklar** – `MyHandler`'ı diskte veya bir veritabanında dosyaları bulacak şekilde genişletin. Gerçek kaynağa işaret eden bir `FileStream` döndürün. +* **İzin hataları** – Uygulamanın hedef dizine yazma izni olduğundan emin olun. Klasörün var olduğundan emin olmak için `Directory.CreateDirectory` kullanın. +* **Büyük arşivler uzun sürer** – İşlem süresini hızlandırmak için `CompressionLevel`'ı `CompressionLevel.Fastest` olarak artırın, ancak dosya daha büyük olur. + +--- + +## Sonraki adımlar + +Artık **HTML'yi ZIP olarak kaydedebildiğinize** göre şu konuları keşfedebilirsiniz: + +* **CSS ve JavaScript gömme** – `MyHandler` içinde uygun akışları döndürerek ZIP'e ekleyin. +* **Aynı HTML'den PDF oluşturma** – Yan yana PDF dışa aktarımı için `HTMLSaveOptions` ile `PdfSaveOptions` kullanın. +* **Toplu işleme** – HTML dizesi veya dosyalar koleksiyonunu döngüye alarak her biri için ayrı bir ZIP oluşturun. + +Bu genişletmeler, hem web hem de çevrim dışı senaryolara hizmet veren sağlam belge‑oluşturma boru hatları oluşturmanızı sağlar. + +--- + +## Sonuç + +Aspose.HTML ile C#'ta **HTML'yi ZIP olarak kaydetme** konusunu, kütüphaneyi kurmaktan özel bir `ResourceHandler` yazmaya ve çıktıyı doğrulamaya kadar her şeyi kapsayacak şekilde öğrendiniz. Yukarıdaki adımları izleyerek **HTML'yi ZIP dosyasına güvenilir bir şekilde dönüştürebilir**, kaynakları paketleyebilir ve herhangi bir .NET uygulamasından taşınabilir web içeriği sunabilirsiniz. Kodlamanın tadını çıkarın! + +## Bir sonraki öğrenmeniz gerekenler + +Aşağıdaki öğreticiler, bu kılavuzda gösterilen tekniklere dayanarak yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olacak tam çalışan kod örnekleri ve adım adım açıklamalar içerir. + +- [C#'ta HTML'yi Zipleme – HTML'yi Zip Olarak Kaydet](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [C# ile zip dosyası oluşturma – Bellekte HTML'yi Zipleme Adım Adım Kılavuzu](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [C#'ta Özel Kaynak İşleyici – HTML'yi ZIP'e Dönüştürme Eğitimi](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/vietnamese/net/html-extensions-and-conversions/_index.md b/html/vietnamese/net/html-extensions-and-conversions/_index.md index 1abd7338cd..8ec2c36c14 100644 --- a/html/vietnamese/net/html-extensions-and-conversions/_index.md +++ b/html/vietnamese/net/html-extensions-and-conversions/_index.md @@ -80,17 +80,15 @@ Tạo PDF từ HTML trong .NET bằng C#. Hướng dẫn chi tiết từng bư ### [Tạo PDF từ HTML với Aspose.HTML – Hướng dẫn từng bước](./create-pdf-from-html-with-aspose-html-step-by-step-guide/) Hướng dẫn chi tiết cách tạo PDF từ HTML trong .NET bằng Aspose.HTML, kèm ví dụ mã và các tùy chọn cấu hình. ### [Lưu HTML dưới dạng ZIP – Hướng dẫn C# hoàn chỉnh](./save-html-as-zip-complete-c-tutorial/) -Hướng dẫn chi tiết cách lưu tài liệu HTML thành tệp ZIP bằng Aspose.HTML cho .NET với C#. +Hướng dẫn chi tiết cách nén HTML thành tệp Zip bằng C# và Aspose.HTML, kèm ví dụ mã và các tùy chọn cấu hình. +### [Cách lưu HTML thành ZIP trong C# bằng Aspose.HTML](./how-to-save-html-as-zip-in-c-using-aspose-html/) +Hướng dẫn chi tiết cách lưu tài liệu HTML vào tệp ZIP trong C# bằng Aspose.HTML, bao gồm các bước cấu hình và ví dụ mã. ### [Lưu HTML thành ZIP trong C# – Ví dụ Toàn bộ trong Bộ nhớ](./save-html-to-zip-in-c-complete-in-memory-example/) Hướng dẫn lưu tài liệu HTML vào tệp ZIP trong C# bằng Aspose.HTML, sử dụng bộ nhớ tạm và không tạo file tạm trên đĩa. ### [Trình xử lý tài nguyên tùy chỉnh trong C# – Chuyển đổi HTML thành tệp ZIP từ bộ nhớ](./custom-resource-handler-in-c-convert-html-to-zip-archive-fro/) Hướng dẫn tạo trình xử lý tài nguyên tùy chỉnh trong C# để chuyển đổi HTML thành tệp ZIP trực tiếp trong bộ nhớ. ### [Xử lý tài nguyên tùy chỉnh trong C# – Hướng dẫn chuyển đổi HTML sang ZIP](./custom-resource-handler-in-c-convert-html-to-zip-tutorial/) Hướng dẫn chi tiết cách sử dụng Custom Resource Handler trong C# để chuyển đổi HTML thành tệp ZIP bằng Aspose.HTML. -### [Chuyển đổi HTML sang PDF với Aspose.HTML – Hướng dẫn chi tiết từng bước](./convert-html-to-pdf-with-aspose-html-full-step-by-step-guide/) -Chuyển đổi HTML sang PDF nhanh chóng với Aspose.HTML cho .NET. Hướng dẫn chi tiết từng bước giúp bạn thực hiện dễ dàng. -### [Tạo tệp zip C# – Hướng dẫn từng bước để nén HTML trong bộ nhớ](./create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) -Hướng dẫn chi tiết cách tạo file zip trong C# để nén HTML trực tiếp trong bộ nhớ. ### [Chuyển đổi HTML sang ZIP trong C# – Hướng dẫn toàn diện](./convert-html-to-zip-in-c-complete-guide/) Hướng dẫn chi tiết cách chuyển đổi tài liệu HTML thành file ZIP trong C# bằng Aspose.HTML, bao gồm các bước và tùy chọn cấu hình. ### [Cách Nén HTML trong C# – Hướng Dẫn Chi Tiết Từng Bước](./how-to-zip-html-in-c-complete-step-by-step-guide/) diff --git a/html/vietnamese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md b/html/vietnamese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md new file mode 100644 index 0000000000..e11bcb1e37 --- /dev/null +++ b/html/vietnamese/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/_index.md @@ -0,0 +1,304 @@ +--- +category: general +date: 2026-09-26 +description: Tìm hiểu cách lưu HTML dưới dạng ZIP trong C# với Aspose.HTML. Hướng + dẫn từng bước này cũng chỉ cách chuyển đổi HTML thành tệp ZIP để phân phối ngoại + tuyến. +draft: false +images: +- PLACEHOLDER_URL/og-image.png +keywords: +- save html as zip +- convert html to zip file +language: vi +lastmod: 2026-09-26 +og_description: Lưu HTML dưới dạng ZIP trong C# với Aspose.HTML. Thực hiện theo hướng + dẫn này để chuyển đổi HTML thành tệp ZIP, xử lý các tài nguyên và tạo một kho lưu + trữ di động. +og_image_alt: Illustration of the save HTML as ZIP workflow in C# +og_title: Lưu HTML dưới dạng ZIP trong C# – hướng dẫn đầy đủ Aspose.HTML +schemas: +- author: Aspose + dateModified: '2026-09-26' + description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + headline: How to save HTML as ZIP in C# using Aspose.HTML + type: TechArticle +- description: Learn how to save HTML as ZIP in C# with Aspose.HTML. This step‑by‑step + guide also shows how to convert HTML to ZIP file for offline distribution. + name: How to save HTML as ZIP in C# using Aspose.HTML + steps: + - name: Navigate to the `output` folder created by the program. + text: Navigate to the `output` folder created by the program. + - name: Right‑click `output.zip` → **Extract All…**. + text: Right‑click `output.zip` → **Extract All…**. + - name: Open the extracted `index.html` in any browser. + text: Open the extracted `index.html` in any browser. + - name: You should see the heading **Hello, World!**. + text: You should see the heading **Hello, World!**. + type: HowTo +tags: +- Aspose.HTML +- C# +- HTML processing +- ZIP archive +title: Cách lưu HTML dưới dạng ZIP trong C# bằng Aspose.HTML +url: /vi/net/html-extensions-and-conversions/how-to-save-html-as-zip-in-c-using-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách lưu HTML dưới dạng ZIP trong C# bằng Aspose.HTML + +Nếu bạn cần **lưu HTML dưới dạng ZIP** trong một ứng dụng .NET, hướng dẫn này sẽ cung cấp giải pháp hoàn chỉnh. Bạn sẽ thấy cách chuyển đổi HTML thành tệp ZIP, nhúng các tài nguyên, và ghi lưu trữ ra đĩa chỉ với vài dòng mã C#. + +Lưu HTML dưới dạng ZIP hữu ích khi bạn muốn phân phối một trang web tự chứa, nhúng bản xem trước trong email, hoặc lưu trữ các báo cáo được tạo. Cách tiếp cận này hoạt động với bất kỳ chuỗi HTML hoặc tệp HTML nào, và chỉ yêu cầu thư viện Aspose.HTML. + +Trong tutorial này bạn sẽ: + +* Tạo một `HTMLDocument` từ chuỗi hoặc tệp hiện có. +* Triển khai một `ResourceHandler` tùy chỉnh để hình ảnh, CSS, hoặc script được đóng gói đúng cách. +* Cấu hình `HTMLSaveOptions` để chỉ định đầu ra vào một kho lưu trữ ZIP. +* Xác minh `output.zip` tạo ra chứa các tệp mong đợi. + +**Yêu cầu trước** + +* .NET 6.0 hoặc cao hơn (mã cũng hoạt động với .NET Core 3.1+). +* Bản sao có giấy phép của **Aspose.HTML for .NET** – bản dùng thử miễn phí đủ cho việc đánh giá. +* Visual Studio 2022 hoặc bất kỳ IDE C# nào bạn thích. + +--- + +## Bước 1: Cài đặt gói NuGet Aspose.HTML + +Mở thư mục dự án của bạn trong terminal và chạy: + +```bash +dotnet add package Aspose.HTML +``` + +Gói này sẽ thêm namespace `Aspose.Html`, chứa các lớp cần thiết để **lưu HTML dưới dạng ZIP**. + +--- + +## Bước 2: Định nghĩa một trình xử lý tài nguyên tùy chỉnh + +Khi Aspose.HTML lưu tài liệu vào kho ZIP, nó sẽ gọi một `ResourceHandler` cho mỗi tài nguyên bên ngoài (hình ảnh, phông chữ, CSS). Cung cấp một trình xử lý cho phép bạn kiểm soát những gì sẽ được đưa vào kho. Trình xử lý dưới đây trả về một stream rỗng cho bất kỳ tài nguyên nào được yêu cầu, nhưng bạn có thể mở rộng để đọc các tệp thực tế. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +/// +/// Supplies resources during the HTML‑to‑ZIP conversion. +/// +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // For demonstration we return an empty stream. + // Replace this with actual file loading logic if needed. + return new MemoryStream(); + } +} +``` + +**Tại sao cần trình xử lý** – Nếu không có nó, Aspose.HTML sẽ chỉ nhúng markup HTML và bỏ qua các tệp bên ngoài, dẫn đến trang bị hỏng khi ZIP được giải nén. Bằng cách triển khai `HandleResource`, bạn đảm bảo kho tạo ra hoạt động đầy đủ. + +--- + +## Bước 3: Tạo tài liệu HTML + +Bạn có thể tải HTML từ một chuỗi, đường dẫn tệp, hoặc một `Stream`. Ở đây chúng ta dùng một chuỗi đơn giản chứa tiêu đề. + +```csharp +using Aspose.Html; + +// Create a document from an HTML string. +var htmlContent = "

Hello, World!

"; +var doc = new HTMLDocument(htmlContent); +``` + +Nếu bạn muốn tải từ tệp, thay thế constructor bằng: + +```csharp +var doc = new HTMLDocument(@"C:\path\to\your\page.html"); +``` + +--- + +## Bước 4: Cấu hình tùy chọn lưu để sử dụng trình xử lý tùy chỉnh + +`HTMLSaveOptions` cho phép bạn chỉ định định dạng đầu ra. Đặt thuộc tính `ResourceHandler` sẽ khiến Aspose.HTML gọi `MyHandler` cho mỗi tham chiếu bên ngoài. + +```csharp +var saveOptions = new HTMLSaveOptions +{ + // The handler defined in Step 2 will supply resources. + ResourceHandler = new MyHandler() +}; +``` + +Bạn cũng có thể điều chỉnh `CompressionLevel` nếu cần một kho nén nhỏ hơn: + +```csharp +saveOptions.CompressionLevel = CompressionLevel.High; +``` + +--- + +## Bước 5: Lưu tài liệu vào kho ZIP + +Bây giờ ghi HTML (và bất kỳ tài nguyên nào) vào tệp ZIP. `FileStream` chỉ tới đường dẫn đích; Aspose.HTML sẽ tự động tạo cấu trúc kho. + +```csharp +using System.IO; + +// Ensure the output directory exists. +var outputDir = Path.Combine(Directory.GetCurrentDirectory(), "output"); +Directory.CreateDirectory(outputDir); + +// The ZIP file that will contain the HTML page and resources. +var zipPath = Path.Combine(outputDir, "output.zip"); + +using (var zipStream = new FileStream(zipPath, FileMode.Create)) +{ + // This call performs the conversion: HTML → ZIP. + doc.Save(zipStream, saveOptions); +} +``` + +### Kết quả mong đợi + +Sau khi chạy mã, `output.zip` sẽ chứa: + +``` +output.zip +└─ index.html // The saved HTML page + (optional) resources/… // Empty folders if your handler added them +``` + +Mở ZIP, giải nén `index.html`, và nhấp đúp vào trong trình duyệt. Bạn sẽ thấy tiêu đề “Hello, World!” xác nhận rằng bạn đã **chuyển đổi HTML thành tệp ZIP** thành công. + +--- + +## Các biến thể phổ biến và trường hợp đặc biệt + +| Tình huống | Cách điều chỉnh mã | +|-----------|--------------------| +| **Nhúng hình ảnh thực** | Trong `MyHandler.HandleResource`, đọc tệp hình ảnh từ đĩa và trả về `FileStream` của nó. | +| **Nhiều trang HTML** | Tạo các instance `HTMLDocument` riêng biệt và gọi `doc.Save` cho mỗi trang, sử dụng cùng một `HTMLSaveOptions`. | +| **Cấu trúc thư mục tùy chỉnh** | Đặt `saveOptions.PreserveEmbeddedResources = true` và kiểm soát thư mục đầu ra qua `ResourceHandler`. | +| **Chuỗi HTML lớn** | Sử dụng `MemoryStream` cho HTML nguồn để tránh tải toàn bộ chuỗi vào bộ nhớ. | +| **ZIP có mật khẩu** | Aspose.HTML không mã hoá ZIP trực tiếp; hãy bọc `FileStream` bằng thư viện ZIP bên thứ ba sau khi lưu. | + +**Mẹo chuyên nghiệp:** Luôn giải phóng `HTMLDocument` và bất kỳ stream nào bằng câu lệnh `using` để giải phóng tài nguyên không quản lý kịp thời. + +--- + +## Ví dụ đầy đủ, có thể chạy ngay + +Dưới đây là chương trình hoàn chỉnh bạn có thể sao chép, dán và chạy. Nó minh họa toàn bộ quy trình **lưu HTML dưới dạng ZIP** từ đầu đến cuối. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) + { + // Return an empty stream for demo purposes. + // Replace with real resource loading if needed. + return new MemoryStream(); + } +} + +class Program +{ + static void Main() + { + // Step 1: Prepare HTML content. + var html = "

Hello, World!

"; + var doc = new HTMLDocument(html); + + // Step 2: Set up save options with the custom handler. + var options = new HTMLSaveOptions + { + ResourceHandler = new MyHandler(), + CompressionLevel = CompressionLevel.High + }; + + // Step 3: Define output path. + var outputFolder = Path.Combine(Directory.GetCurrentDirectory(), "output"); + Directory.CreateDirectory(outputFolder); + var zipFile = Path.Combine(outputFolder, "output.zip"); + + // Step 4: Save the document as a ZIP archive. + using (var zipStream = new FileStream(zipFile, FileMode.Create)) + { + doc.Save(zipStream, options); + } + + Console.WriteLine($"HTML has been saved as ZIP at: {zipFile}"); + } +} +``` + +Chạy chương trình (`dotnet run` nếu bạn tạo dự án console). Khi hoàn thành, bạn sẽ thấy thông báo xác nhận cùng đường dẫn tới `output.zip`. + +--- + +## Xác minh quá trình chuyển đổi + +1. Điều hướng tới thư mục `output` được chương trình tạo ra. +2. Nhấp chuột phải `output.zip` → **Extract All…**. +3. Mở `index.html` đã giải nén trong bất kỳ trình duyệt nào. +4. Bạn sẽ thấy tiêu đề **Hello, World!**. + +Nếu trang tải mà không thiếu hình ảnh hay CSS, bạn đã **chuyển đổi HTML thành tệp ZIP** thành công. + +--- + +## Khắc phục các vấn đề thường gặp + +* **ZIP rỗng** – Đảm bảo `doc.Save` được gọi *sau* khi bạn gán `ResourceHandler`. Trình xử lý phải không null để quá trình chuyển đổi diễn ra. +* **Thiếu tài nguyên** – Mở rộng `MyHandler` để tìm tệp trên đĩa hoặc trong cơ sở dữ liệu. Trả về một `FileStream` trỏ tới tài nguyên thực tế. +* **Lỗi quyền truy cập** – Kiểm tra ứng dụng có quyền ghi vào thư mục đích. Dùng `Directory.CreateDirectory` để chắc chắn thư mục tồn tại. +* **Kho lớn mất thời gian** – Tăng `CompressionLevel` lên `CompressionLevel.Fastest` để tăng tốc xử lý, mặc dù kích thước tệp sẽ lớn hơn. + +--- + +## Bước tiếp theo + +Bây giờ bạn đã có thể **lưu HTML dưới dạng ZIP**, hãy khám phá: + +* **Nhúng CSS và JavaScript** – Thêm chúng vào ZIP bằng cách trả về các stream thích hợp trong `MyHandler`. +* **Tạo PDF từ cùng HTML** – Sử dụng `HTMLSaveOptions` kết hợp với `PdfSaveOptions` để xuất PDF song song. +* **Xử lý hàng loạt** – Lặp qua một tập hợp các chuỗi hoặc tệp HTML và tạo một ZIP riêng cho mỗi mục. + +Các mở rộng này cho phép bạn xây dựng quy trình tạo tài liệu mạnh mẽ, phục vụ cả kịch bản web và ngoại tuyến. + +--- + +## Kết luận + +Bạn đã học cách **lưu HTML dưới dạng ZIP** trong C# với Aspose.HTML, bao gồm việc cài đặt thư viện, viết `ResourceHandler` tùy chỉnh và xác minh đầu ra. Bằng cách làm theo các bước trên, bạn có thể đáng tin cậy **chuyển đổi HTML thành tệp ZIP**, đóng gói tài nguyên và cung cấp nội dung web di động từ bất kỳ ứng dụng .NET nào. Chúc bạn lập trình vui vẻ! + +## Bạn nên học gì tiếp theo? + +Các tutorial sau đây liên quan chặt chẽ và mở rộng các kỹ thuật đã trình bày trong hướng dẫn này. Mỗi tài nguyên đều bao gồm mã mẫu đầy đủ và giải thích từng bước để giúp bạn nắm vững các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [How to Zip HTML in C# – Save HTML to Zip](/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-save-html-to-zip/) +- [Create zip file C# – Step‑by‑Step Guide to Zip HTML in Memory](/html/english/net/html-extensions-and-conversions/create-zip-file-c-step-by-step-guide-to-zip-html-in-memory/) +- [Custom Resource Handler in C# – Convert HTML to ZIP Tutorial](/html/english/net/html-extensions-and-conversions/custom-resource-handler-in-c-convert-html-to-zip-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file