diff --git a/html/arabic/net/generate-jpg-and-png-images/_index.md b/html/arabic/net/generate-jpg-and-png-images/_index.md index 432f80cdc..3acf09470 100644 --- a/html/arabic/net/generate-jpg-and-png-images/_index.md +++ b/html/arabic/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,8 @@ Aspose.HTML for .NET هي مكتبة قوية تتيح للمطورين إنشا تعلم كيفية تمكين مضاد التعرج عند تحويل ملفات DOCX إلى صور PNG أو JPG باستخدام Aspose.HTML. ### [تحويل docx إلى png – إنشاء أرشيف zip في C# – دليل تعليمي](./convert-docx-to-png-create-zip-archive-c-tutorial/) تعلم كيفية تحويل ملفات docx إلى صور PNG وإنشاء أرشيف ZIP باستخدام C# و Aspose.HTML. +### [إنشاء مستند HTML C# – تحويل إلى PNG بجودة عالية](./create-html-document-c-render-to-png-with-high-quality-outpu/) +تعلم كيفية إنشاء مستند HTML باستخدام C# وتحويله إلى صورة PNG بجودة عالية باستخدام Aspose.HTML. ## خاتمة diff --git a/html/arabic/net/generate-jpg-and-png-images/create-html-document-c-render-to-png-with-high-quality-outpu/_index.md b/html/arabic/net/generate-jpg-and-png-images/create-html-document-c-render-to-png-with-high-quality-outpu/_index.md new file mode 100644 index 000000000..3456e2496 --- /dev/null +++ b/html/arabic/net/generate-jpg-and-png-images/create-html-document-c-render-to-png-with-high-quality-outpu/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-20 +description: إنشاء مستند HTML باستخدام C# وتحويل HTML إلى PNG في دقائق. تعلم كيفية + تحويل HTML إلى صورة، حفظ HTML كملف PNG، وإنشاء PNG عالي الجودة باستخدام Aspose.HTML. +draft: false +keywords: +- create html document c# +- render html to png +- convert html to image +- save html as png +- generate high quality png +language: ar +og_description: إنشاء مستند HTML باستخدام C# وتحويل HTML إلى PNG بسرعة. دليل خطوة + بخطوة لتحويل HTML إلى صورة، حفظ HTML كملف PNG، وإنشاء PNG عالي الجودة. +og_title: إنشاء مستند HTML C# – تحويل إلى PNG بجودة عالية +tags: +- Aspose.HTML +- C# +- Image Rendering +title: إنشاء مستند HTML باستخدام C# – تحويل إلى PNG بجودة عالية +url: /ar/net/generate-jpg-and-png-images/create-html-document-c-render-to-png-with-high-quality-outpu/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء مستند HTML C# – التحويل إلى PNG بجودة عالية + +هل احتجت يومًا إلى **create HTML document C#** والحصول فورًا على صورة PNG مثالية؟ لست وحدك—المطورون الذين يبنون معاينات البريد الإلكتروني، صورًا مصغرة للتقارير، أو خطوط أنابيب PDF‑first يواجهون هذه المشكلة باستمرار. الخبر السار هو أنه باستخدام Aspose.HTML يمكنك تحويل HTML إلى صورة ببضع أسطر، وستحصل على **high quality PNG** في كل مرة. + +في هذا الدرس سنستعرض العملية بالكامل: من بناء مقطع HTML بسيط في C# إلى ضبط مضاد التعرج (antialiasing) والتلميح (hinting)، ثم حفظ النتيجة كملف PNG. في النهاية ستعرف كيف **render HTML to PNG**، **convert HTML to image**، و**save HTML as PNG** دون الاعتماد على خدمات طرف ثالث أو حيل سطر الأوامر المعقدة. + +## المتطلبات المسبقة + +- .NET 6+ (أي بيئة تشغيل .NET حديثة تعمل) +- حزمة NuGet Aspose.HTML for .NET (`Aspose.Html`) – تثبيت عبر `dotnet add package Aspose.Html` +- مجلد لديك صلاحية كتابة فيه (سنسميه `YOUR_DIRECTORY`) + +لا توجد SDKs إضافية أو مكتبات أصلية مطلوبة؛ Aspose.HTML يضم كل ما تحتاجه. + +## الخطوة 1: إنشاء مستند HTML في C# + +الأول الذي نحتاجه هو كائن `HTMLDocument` يحمل الشيفرة التي نريد تحويلها. فكر فيه كفتح تبويب متصفح فارغ وكتابة HTML مباشرةً. + +```csharp +using Aspose.Html; +using Aspose.Html.Drawing; + +// Step 1 – build a tiny HTML snippet +HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" +); +``` + +*لماذا هذا مهم:* بإنشاء المستند في الذاكرة نتجنب تكلفة إدخال/إخراج الملفات ونحافظ على سرعة الخط الأنابيب بالكامل. علامة `` هي مجرد عنصر نائب—you can replace it with any valid HTML, including CSS, images, or even JavaScript (as long as it’s supported by Aspose.HTML). + +## الخطوة 2: تعريف خط غامق‑مائل باستخدام WebFontStyle + +إذا أردت نصًا واضحًا ومصممًا، عليك إخبار المُحَوِّل أي خط وأي نمط يستخدم. `FontInfo` يتيح لك دمج أعلام `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*لماذا هذا مهم:* استخدام `WebFontStyle.Bold | WebFontStyle.Italic` يضمن أن النص سيظهر تمامًا كـ “Hello world” بخط غامق‑مائل، وهو أمر حاسم عندما تقوم لاحقًا **generate high quality png** للعلامة التجارية أو نماذج واجهة المستخدم. + +## الخطوة 3: تطبيق الخط على الفقرة + +الآن نربط `FontInfo` بالعنصر الفقري الأول. هذا يشبه ما تقوم به في أدوات مطوري المتصفح. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*نصيحة احترافية:* إذا كان للمستند عناصر متعددة، يمكنك استعراض شجرة DOM (`htmlDoc.QuerySelectorAll`) وتعيين الخطوط بشكل انتقائي. + +## الخطوة 4: تمكين مضاد التعرج للحصول على مخرجات نقطية أكثر سلاسة + +مضاد التعرج (Antialiasing) يُنعّم حواف النصوص والأشكال، مما يمنع ظهور بكسلات متعرجة. إنه ضروري عندما تهدف إلى **render HTML to PNG** للاستخدام المهني. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## الخطوة 5: تفعيل التلميح للحصول على نص أكثر حدة + +التلميح (Hinting) يضبط مخططات الحروف لتتماشى مع شبكة البكسل، وهو مفيد خصوصًا عند الأحجام الصغيرة للخط. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## الخطوة 6: التحويل وحفظ ملف PNG + +أخيرًا نسلم كل شيء إلى `ImageRenderer`. الطريقة تستقبل المستند، المسار الهدف، وخيارات التحويل التي بنيناها. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +عند انتهاء الشيفرة، ستجد `output.png` داخل `YOUR_DIRECTORY`. افتحه وسترى الفقرة “Hello world” بخط Arial غامق‑مائل، مُنعَّم ومُلميح—**high quality PNG** جاهز للنشرات الإخبارية، الصور المصغرة، أو أي عملية لاحقة. + + + +*لماذا هذا يعمل:* `ImageRenderer` يختصر عناء تخطيط الصفحات، تحليل CSS، والرستر، موفرًا تجربة **convert html to image** حقيقية دون أدوات خارجية. + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل جاهز للنسخ واللصق. يتجميع مع .NET 6 وينتج PNG في خطوة واحدة. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**الناتج المتوقع:** ملف باسم `output.png` يعرض الجملة **Hello world** بخط Arial غامق‑مائل، حواف ناعمة، ولا توجد عيوب بصرية. + +## الأسئلة الشائعة والحالات الخاصة + +| السؤال | الجواب | +|----------|--------| +| *هل يمكنني تحويل موقع ويب كامل الصفحة؟* | نعم—فقط حمّل العنوان URL باستخدام `new HTMLDocument("https://example.com")` بدلاً من سلسلة نصية ثابتة. | +| *ماذا عن CSS أو الصور الخارجية؟* | تأكد من أنها قابلة للوصول (عناوين URL مطلقة أو مدمجة بصيغة base‑64). Aspose.HTML يتبع عمليات إعادة التوجيه ويمكنه تحميل الموارد البعيدة. | +| *هل يجب عليّ تحرير الكائنات؟* | كائن `HTMLDocument` يطبق `IDisposable`. احفظه داخل كتلة `using` في الكود الإنتاجي لتحرير الموارد الأصلية بسرعة. | +| *كيف أغيّر صيغة الصورة؟* | مرّر امتداد ملف مختلف (`output.jpg`, `output.tiff`) إلى `Save`؛ المُحَوِّل يختار المشفر المناسب تلقائيًا. | +| *ماذا لو احتجت خلفية شفافة؟* | عيّن `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` قبل التحويل. | + +## نصائح للحصول على PNG بجودة أعلى + +1. **زيادة DPI** – عيّن `imageOptions.Resolution = 300` للحصول على أصول جاهزة للطباعة. +2. **تحديد خلفية صريحة** – خلفية صلبة تتجنب مشاكل الشفافية غير المقصودة. +3. **استخدام خطوط ويب آمنة** – إذا لم يتوفر الخط على الجهاز الهدف، قم بدمجه عبر `@font-face` داخل HTML. + +## الخطوات التالية + +الآن بعد أن أتقنت **create html document c#** ويمكنك **render html to png**، فكر في استكشاف: + +- **التحويل الجماعي** – كرّر العملية على مجموعة من سلاسل HTML لإنتاج معرض من PNGs. +- **تحويل إلى PDF** – استبدل `ImageRenderer` بـ `PdfRenderer` للحصول على ملفات PDF من نفس مصدر HTML. +- **البيانات الديناميكية** – أدخل محتوى مستند إلى JSON داخل HTML قبل التحويل، مثالي لتوليد التقارير. + +لا تتردد في تجربة أنماط CSS مختلفة، قماش (canvas) أكبر، أو حتى رسومات SVG. ستبقى الأنابيب نفسها، وستتولى Aspose.HTML كل الأعمال الشاقة. + +--- + +*برمجة سعيدة! إذا واجهت أي صعوبات، اترك تعليقًا أدناه وسنساعدك في حل المشكلة معًا.* + +{{< /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/arabic/net/html-extensions-and-conversions/_index.md b/html/arabic/net/html-extensions-and-conversions/_index.md index 980eb7013..5004237c8 100644 --- a/html/arabic/net/html-extensions-and-conversions/_index.md +++ b/html/arabic/net/html-extensions-and-conversions/_index.md @@ -67,12 +67,16 @@ url: /ar/net/html-extensions-and-conversions/ تعرف على كيفية تحويل HTML إلى TIFF باستخدام Aspose.HTML لـ .NET. اتبع دليلنا خطوة بخطوة لتحسين محتوى الويب بكفاءة. ### [تحويل HTML إلى XPS في .NET باستخدام Aspose.HTML](./convert-html-to-xps/) اكتشف قوة Aspose.HTML لـ .NET: تحويل HTML إلى XPS بسهولة. المتطلبات الأساسية، ودليل خطوة بخطوة، والأسئلة الشائعة متضمنة. +### [إنشاء أرشيف HTML من DOCX – دليل خطوة بخطوة](./create-html-archive-from-docx-step-by-step-guide/) +تعلم كيفية تحويل مستند DOCX إلى أرشيف HTML باستخدام Aspose.HTML خطوة بخطوة. ### [كيفية ضغط HTML في C# – حفظ HTML إلى ملف Zip](./how-to-zip-html-in-c-save-html-to-zip/) تعلم كيفية ضغط ملفات HTML وحفظها كملف Zip باستخدام C# ومكتبة Aspose.HTML. ### [حفظ HTML كملف ZIP – دليل C# كامل](./save-html-as-zip-complete-c-tutorial/) تعلم كيفية حفظ مستند HTML كملف ZIP باستخدام Aspose.HTML في C# خطوة بخطوة. ### [حفظ HTML إلى ZIP في C# – مثال كامل في الذاكرة](./save-html-to-zip-in-c-complete-in-memory-example/) تعلم كيفية حفظ مستند HTML كملف ZIP في الذاكرة باستخدام C# ومكتبة Aspose.HTML. +### [كيفية ضغط HTML في C# – تصدير صفحة الويب إلى ملف ZIP باستخدام Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +اكتشف طريقة تصدير صفحة ويب كاملة إلى ملف ZIP باستخدام C# ومكتبة Aspose.HTML. ## خاتمة diff --git a/html/arabic/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/arabic/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..cb268ccaa --- /dev/null +++ b/html/arabic/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: إنشاء أرشيف HTML من DOCX وتوليد ملف ZIP من مستند Word في C#. تعلم الكود + الكامل، لماذا يعمل، والمشكلات الشائعة. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: ar +og_description: إنشاء أرشيف HTML من ملف DOCX وتوليد ملف ZIP من مستند Word باستخدام + Aspose.Words. الكود الكامل، الشروحات، والنصائح. +og_title: إنشاء أرشيف HTML من DOCX – دورة C# كاملة +tags: +- Aspose.Words +- C# +- Document Processing +title: إنشاء أرشيف HTML من DOCX – دليل خطوة بخطوة +url: /ar/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء أرشيف HTML من DOCX – دليل C# الكامل + +هل احتجت يومًا إلى **إنشاء أرشيف HTML من DOCX** لكنك لم تكن متأكدًا من كيفية تجميع الملفات الناتجة في حزمة واحدة؟ لست وحدك. سواءً كنت تبني ميزة معاينة ويب أو تصدر مستندات للاستخدام دون اتصال، فإن تحويل ملف Word إلى ملف ZIP HTML مستقل هو طلب شائع. + +في هذا الدليل سنستعرض الخطوات الدقيقة **لإنشاء ملف ZIP من مستند Word** باستخدام Aspose.Words for .NET، وسنشرح “السبب” وراء كل سطر حتى تتمكن من تعديل الحل ليتناسب مع مشاريعك الخاصة. + +--- + +## ما ستحتاجه + +قبل أن نبدأ، تأكد من وجود ما يلي: + +- **Aspose.Words for .NET** (أحدث نسخة مستقرة، مثلاً 24.10). يمكنك الحصول عليها عبر NuGet: `Install-Package Aspose.Words`. +- مشروع **.NET 6+** من نوع console أو web – أي بيئة C# ستفي بالغرض. +- ملف Word إدخال (`input.docx`) موجود في مجلد يمكنك التحكم فيه. +- معرفة أساسية بـ C# – لا شيء معقد، فقط القدرة على تشغيل تطبيق console. + +هذا كل شيء. لا مكتبات إضافية، ولا حيل سطر أوامر معقدة. جاهز؟ لنبدأ. + +--- + +## الخطوة 1 – تحميل ملف DOCX المصدر إلى كائن Document + +أولاً نحتاج إلى قراءة ملف Word. Aspose.Words ي abstracts تنسيق الملف، ويعطيك كائن `Document` يمكنك العمل معه بغض النظر عما إذا كان المصدر DOCX أو DOC أو حتى ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**لماذا هذا مهم:** تحميل الملف مرة واحدة في البداية يحافظ على استهلاك الذاكرة بشكل متوقع ويسمح لك بإعادة استخدام نسخة `doc` لتصدير صيغ متعددة لاحقًا (PDF، PNG، إلخ). إذا كان الملف كبيرًا، فإن Aspose.Words يبث البيانات بكفاءة، لذا لا داعي للقلق بشأن تعطل الذاكرة. + +--- + +## الخطوة 2 – تكوين خيارات حفظ HTML مع معالجة الموارد الافتراضية + +عند التصدير إلى HTML، يقوم Aspose.Words بإنشاء ملف `.html` بالإضافة إلى مجلد من الموارد (صور، CSS، خطوط). بشكل افتراضي تُكتب هذه الموارد إلى نظام الملفات، لكن يمكننا إخبار المكتبة بالحفاظ على كل شيء في الذاكرة باستخدام `ResourceHandler`. هذه هي المفتاح لإنشاء **أرشيف HTML من DOCX** يمكننا ضغطه لاحقًا. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**لماذا نستخدم `ResourceHandler`؟** إنه يزيل الحاجة إلى مجلد مؤقت، مما يعني أنك لن تترك ملفات متبقية على القرص. يقوم المعالج بتخزين كل مورد مُولد كـ `MemoryStream`، والذي يمكننا بعد ذلك إدخاله مباشرةً في أرشيف ZIP – مثالي لخدمات الويب التي تحتاج إلى إرجاع حزمة تحميل واحدة. + +--- + +## الخطوة 3 – حفظ المستند وموارده في أرشيف ZIP + +الآن يحدث السحر. نطلب من Aspose.Words حفظ المستند باستخدام الخيارات التي أنشأناها، ثم نقوم بضغط كل شيء. يستخدم الكود أدناه `System.IO.Compression` لإنشاء ملف `result.zip` النهائي. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**لماذا هذا يعمل:** `doc.Save(htmlOptions)` يُطلق عملية توليد ملف HTML وكل الأصول المرتبطة، والتي يلتقطها `ResourceHandler` في الذاكرة. ثم تقوم حلقة `foreach` بالتكرار على كل إدخال مُلتقط، وتكتبها داخل `ZipArchive`. النتيجة هي ملف `result.zip` واحد يحتوي على `document.html` بالإضافة إلى أي صور أو CSS أو خطوط ضرورية لتقديم نسخة دقيقة من DOCX الأصلي. + +--- + +## الاختلافات الشائعة وحالات الحافة + +### 1. تخصيص اسم ملف HTML + +إذا أردت أن يكون لصفحة HTML اسم محدد (مثلاً `preview.html`)، اضبط `htmlOptions.HtmlVersion = HtmlVersion.Html5;` وأعد تسمية الإدخال عند إضافته إلى ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. معالجة المستندات الكبيرة جدًا + +للمستندات التي يزيد حجمها عن 100 ميغابايت، فكر في بث ZIP مباشرةً إلى تدفق الاستجابة (في ASP.NET) بدلاً من كتابته إلى القرص أولاً. استبدل `FileStream` بتدفق جسم الاستجابة، وسيظل الكود كما هو. + +### 3. استبعاد موارد معينة + +إذا لم تكن بحاجة إلى الصور (ربما تريد فقط HTML نصي)، اضبط `htmlOptions.ExportImagesAsBase64 = true;` أو عطل تصدير الصور تمامًا باستخدام `htmlOptions.ExportImages = false`. سيحتوي `ResourceHandler` حينها على إدخالات أقل، مما يجعل ZIP أصغر. + +### 4. إضافة ملف Manifest + +بعض المستهلكين يتوقعون وجود `manifest.json` يصف محتويات الأرشيف. يمكنك إنشائه في الوقت الفعلي: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## نصائح احترافية وملاحظات + +- **نصيحة احترافية:** احرص دائمًا على إغلاق كائنات `Document` و `ZipArchive` باستخدام كتل `using`. هذا يحرر الموارد غير المُدارة ويتجنب تسرب مقابض الملفات. +- **احذر من:** إذا شغلت الكود عدة مرات على نفس `result.zip`، سيتم استبدال الملف. أضف طابعًا زمنيًا إلى اسم الملف إذا كنت بحاجة إلى أرشيفات فريدة. +- **نصيحة أداء:** `ResourceHandler` يخزن كل شيء في الذاكرة، وهو مناسب لمعظم الملفات (< 20 ميغابايت). للوثائق الضخمة، انتقل إلى `FileSystemStorage` لكتابة الموارد المؤقتة إلى القرص قبل الضغط. +- **ملاحظة توافق:** HTML المُولد متوافق مع HTML5 ويعمل عبر المتصفحات الحديثة. قد تحتاج إصدارات IE القديمة إلى وسم meta للتماشي، ويمكنك حقنه عبر `htmlOptions.PrependMetaTag`. + +--- + +## النتيجة المتوقعة + +بعد تشغيل البرنامج، ستجد `result.zip` في `YOUR_DIRECTORY`. افتح الـ ZIP – يجب أن ترى: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +افتح `document.html` في أي متصفح وسترى نسخة بصرية دقيقة من `input.docx`. لا صور مفقودة، ولا روابط مكسورة – الأرشيف مستقل تمامًا. + +--- + + + +*نص بديل للصورة: "مخطط يوضح كيفية إنشاء أرشيف HTML من DOCX وتوليد ملف ZIP من مستند Word."* + +--- + +## الخاتمة + +لقد غطينا الآن العملية الكاملة **لإنشاء أرشيف HTML من DOCX** و**إنشاء ملف ZIP من مستند Word** باستخدام Aspose.Words في C#. دليلنا أرانا عبر تحميل المصدر، تكوين معالجة الموارد في الذاكرة، وتعبئة كل شيء في أرشيف ZIP جاهز للتنزيل أو المعالجة الإضافية. + +الآن يمكنك دمج هذا المقتطف في تطبيقات أكبر—واجهات برمجة تطبيقات الويب، خدمات الخلفية، أو حتى أدوات سطح المكتب. بعد ذلك، جرّب تعديل CSS مخصص، تضمين الخطوط، أو إضافة ملف JSON Manifest لتكاملات أكثر غنى. + +إذا واجهت أي صعوبات أو كان لديك أفكار لتوسعات، اترك تعليقًا أدناه. Happy coding! + +{{< /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/arabic/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/arabic/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..7808b504c --- /dev/null +++ b/html/arabic/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-20 +description: كيفية ضغط HTML في C# باستخدام Aspose.HTML – تعلم كيفية تصدير صفحة الويب، + تنزيل موارد الصفحة، وحفظ HTML كملف zip بسرعة. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: ar +og_description: كيفية ضغط HTML في C# باستخدام Aspose.HTML. يوضح لك هذا الدليل كيفية + تصدير موارد صفحة الويب وحفظ HTML كملف zip في بضع خطوات سهلة. +og_title: كيفية ضغط HTML في C# – تصدير صفحة الويب إلى ملف ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: كيفية ضغط HTML في C# – تصدير صفحة الويب إلى ملف ZIP باستخدام Aspose.HTML +url: /ar/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية ضغط HTML في C# – تصدير صفحة الويب إلى ZIP باستخدام Aspose.HTML + +هل تساءلت يومًا **كيفية ضغط HTML** مباشرةً من تطبيق C# الخاص بك؟ لست وحدك. في العديد من المشاريع نحتاج إلى **تصدير صفحة الويب**، وجمع كل صورة، وCSS، وscript، ثم تجميعها في أرشيف واحد للاستخدام دون اتصال أو للتوزيع. + +في هذا الدليل سنستعرض مثالًا كاملاً قابلاً للتنفيذ يوضح بالضبط **كيفية ضغط HTML** باستخدام مكتبة Aspose.HTML. بنهاية الشرح ستتمكن من **تنزيل موارد صفحة الويب**، تخزينها في الذاكرة، و**حفظ HTML كملف zip** ببضع أسطر من الشيفرة فقط. لا أدوات خارجية، لا معالجة يدوية للملفات—فقط أتمتة برمجية نظيفة. + +## المتطلبات المسبقة + +| المتطلب | لماذا يهم | +|-------------|----------------| +| .NET 6.0 أو أحدث (أو .NET Framework 4.6+) | يدعم Aspose.HTML كلاهما، لكن أحدث بيئة تشغيل تمنحك أداءً أفضل. | +| Visual Studio 2022 (أو أي بيئة تطوير C#) | محرر مريح يساعدك على اكتشاف أخطاء الصياغة بسرعة. | +| حزمة Aspose.HTML for .NET عبر NuGet | المكتبة توفر الفئات `HTMLDocument` و `HTMLSaveOptions` و `ResourceHandler` التي سنستخدمها. | +| اتصال بالإنترنت (للعنوان المستهدف) | سنقوم بتحميل صفحة حية (`https://example.com`) لتوضيح **download webpage resources**. | + +يمكنك إضافة حزمة Aspose.HTML عبر وحدة تحكم NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +هذا كل شيء—لا حاجة لأي تكوين إضافي. + +## كيفية ضغط HTML – تنفيذ خطوة بخطوة + +نقسم العملية إلى أربع خطوات منطقية. كل خطوة تُشرح، ثم يتبعها الشيفرة الدقيقة التي يمكنك نسخها ولصقها. + +> **نصيحة احترافية:** احتفظ بالكود في مكتبة فئات منفصلة إذا كنت تخطط لإعادة استخدام المنطق عبر مشاريع متعددة. هذا يجعل الاختبار وإدارة الإصدارات سهلًا. + +### الخطوة 1: إنشاء معالج موارد مخصص + +الأول الذي نحتاجه هو طريقة لاعتراض كل مورد خارجي (صور، CSS، JS) يطلبه المتصفح. يتيح لنا Aspose.HTML توصيل `ResourceHandler`. في مثالنا سنخزن كل مورد في `MemoryStream`، لكن يمكنك بسهولة استبداله بتخزين على نظام الملفات أو سحابة. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*为什么这很重要:* 通过在内存中创建文档,我们避免了文件 I/O 开销,并保持整个流水线的高速。`` 标签仅是占位符——你可以将其替换为任何有效的 HTML,包括 CSS、图像,甚至 JavaScript(只要 Aspose.HTML 支持)。 + +## 步骤 2:使用 WebFontStyle 定义粗斜体字体 + +如果你想要清晰、样式化的文字,需要告诉渲染器使用哪种字体和样式。`FontInfo` 允许你组合 `WebFontStyle` 标志。 + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*为什么这很重要:* 使用 `WebFontStyle.Bold | WebFontStyle.Italic` 可确保文本呈现为粗斜体的 “Hello world”,这在后续为品牌或 UI 原型**generate high quality png** 时至关重要。 + +## 步骤 3:将字体应用于段落 + +现在我们将 `FontInfo` 附加到第一个段落元素。这与在浏览器的 DevTools 中的操作相同。 + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*小技巧:* 如果文档中有多个元素,你可以遍历 DOM 树(`htmlDoc.QuerySelectorAll`)并有选择地分配字体。 + +## 步骤 4:启用抗锯齿以获得更平滑的光栅输出 + +抗锯齿可以平滑文字和形状的边缘,防止出现锯齿像素。当你旨在**render HTML to PNG**用于专业用途时,这是必不可少的。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## 步骤 5:开启 Hinting 以获得更锐利的文字 + +Hinting 会调整字形轮廓以对齐像素网格,尤其在小字号时非常有用。 + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## 步骤 6:渲染并保存 PNG 文件 + +最后,我们将所有内容交给 `ImageRenderer`。该方法接受文档、目标路径以及我们构建的渲染选项。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +代码执行完毕后,你会在 `YOUR_DIRECTORY` 中看到 `output.png`。打开它,你应该会看到使用粗斜体 Arial 的 “Hello world” 段落,已完美抗锯齿和 Hinting——一个**high quality PNG**,可用于新闻通讯、缩略图或任何后续流程。 + + + +*为什么这有效:* `ImageRenderer` 抽象了布局、CSS 解析和光栅化的繁重工作,提供了真正的**convert html to image**体验,无需外部工具。 + +## 完整工作示例 + +下面是完整的、可直接复制粘贴的程序。它在 .NET 6 下编译,并一次性生成 PNG。 + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**预期输出:** 一个名为 `output.png` 的文件,显示粗斜体 Arial 的句子 **Hello world**,边缘平滑且无视觉伪影。 + +## 常见问题与边缘情况 + +| Question | Answer | +|----------|--------| +| *我可以渲染完整页面的网站吗?* | 可以——只需使用 `new HTMLDocument("https://example.com")` 加载 URL,而不是字符串字面量。 | +| *外部 CSS 或图像怎么办?* | 确保它们可访问(使用绝对 URL 或嵌入的 base‑64)。Aspose.HTML 会遵循重定向并能够加载远程资源。 | +| *我需要释放对象吗?* | `HTMLDocument` 实现了 `IDisposable`。在生产代码中将其放入 `using` 块,以便及时释放本机资源。 | +| *如何更改图像格式?* | 向 `Save` 传递不同的文件扩展名(`output.jpg`、`output.tiff`),渲染器会选择相应的编码器。 | +| *如果需要透明背景怎么办?* | 在渲染之前设置 `imageOptions.BackgroundColor = System.Drawing.Color.Transparent`。 | + +## 提升 PNG 质量的技巧 + +1. **提升 DPI** – 将 `imageOptions.Resolution = 300` 设置为打印级资产。 +2. **显式设置背景** – 实心背景可避免意外的透明问题。 +3. **使用网页安全字体** – 如果目标机器缺少字体,可通过 HTML 中的 `@font-face` 嵌入。 + +## 下一步 + +既然你已经掌握了**create html document c#**并能够**render html to png**,可以考虑进一步探索: + +- **批量渲染** – 对 HTML 字符串集合进行循环,以生成 PNG 画廊。 +- **PDF 转换** – 将 `ImageRenderer` 替换为 `PdfRenderer`,即可从相同的 HTML 源获取 PDF。 +- **动态数据** – 在渲染前将基于 JSON 的内容注入 HTML,非常适合报告生成。 + +随意尝试不同的 CSS 样式、更大的画布,甚至 SVG 图形。整个流程保持不变,Aspose.HTML 将处理繁重的工作。 + +--- + +*祝编码愉快!如果遇到任何问题,请在下方留言,我们一起排查。* + +{{< /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 a6c24babf..93debe2a5 100644 --- a/html/chinese/net/html-extensions-and-conversions/_index.md +++ b/html/chinese/net/html-extensions-and-conversions/_index.md @@ -65,15 +65,18 @@ Aspose.HTML for .NET 不仅仅是一个库;它是 Web 开发领域的变革者 探索 Aspose.HTML for .NET 的强大功能:轻松将 HTML 转换为 XPS。包含先决条件、分步指南和常见问题解答。 ### [如何在 C# 中压缩 HTML – 将 HTML 保存为 Zip](./how-to-zip-html-in-c-save-html-to-zip/) 使用 Aspose.HTML for .NET 在 C# 中将 HTML 打包并保存为 Zip 文件的分步教程。 +### [如何在 C# 中将 HTML 打包为 ZIP – 使用 Aspose.HTML 导出网页为 ZIP](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +使用 Aspose.HTML for .NET 在 C# 中将网页内容压缩为 ZIP 文件的完整步骤指南。 ### [使用 Aspose.HTML 在 .NET 中创建带样式文本的 HTML 文档并导出为 PDF – 完整指南](./create-html-document-with-styled-text-and-export-to-pdf-full/) 本完整指南展示如何使用 Aspose.HTML for .NET 创建带样式的 HTML 文档并将其导出为 PDF,包含详细步骤和代码示例。 ### [使用 Aspose.HTML 在 C# 中将 HTML 创建为 PDF – 完整指南](./create-pdf-from-html-c-step-by-step-guide/) 使用 Aspose.HTML for .NET 在 C# 中将 HTML 转换为 PDF 的完整分步指南,涵盖代码示例和最佳实践。 ### [使用 Aspose.HTML 在 .NET 中将 HTML 保存为 ZIP – 完整的 C# 教程](./save-html-as-zip-complete-c-tutorial/) 使用 Aspose.HTML for .NET 将 HTML 内容打包为 ZIP 文件的完整 C# 示例,包含代码演示和关键步骤。 - ### [在 C# 中将 HTML 保存为 ZIP – 完整内存示例](./save-html-to-zip-in-c-complete-in-memory-example/) 演示如何使用 Aspose.HTML for .NET 在 C# 中将 HTML 内容压缩为 ZIP 文件,完整的内存操作示例。 +### [从 DOCX 创建 HTML 存档 – 步骤指南](./create-html-archive-from-docx-step-by-step-guide/) +使用 Aspose.HTML for .NET 将 DOCX 文档转换为 HTML 存档的完整分步指南。 ## 结论 diff --git a/html/chinese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/chinese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..926782378 --- /dev/null +++ b/html/chinese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-20 +description: 在 C# 中将 DOCX 创建为 HTML 存档并生成 Word 文档的 ZIP 文件。学习完整代码、工作原理以及常见陷阱。 +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: zh +og_description: 使用 Aspose.Words 将 DOCX 创建为 HTML 存档并生成 Word 文档的 ZIP 文件。完整代码、说明和技巧。 +og_title: 从 DOCX 创建 HTML 归档 – 完整 C# 教程 +tags: +- Aspose.Words +- C# +- Document Processing +title: 从 DOCX 创建 HTML 存档 – 步骤指南 +url: /zh/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 创建 HTML archive from DOCX – 完整 C# 教程 + +是否曾经需要 **创建 HTML archive from DOCX**,但不确定如何将生成的文件打包成一个单一的包?你并不是唯一遇到这种情况的人。无论是构建网页预览功能,还是导出文档供离线使用,将 Word 文件转换为自包含的 HTML ZIP 是一个常见需求。 + +在本指南中,我们将逐步演示如何使用 Aspose.Words for .NET **从 Word 文档生成 ZIP 文件**,并解释每行代码背后的 “为什么”,以便你能够将该方案迁移到自己的项目中。 + +--- + +## 需要的准备 + +在开始之前,请确保你拥有: + +- **Aspose.Words for .NET**(最新稳定版,例如 24.10)。可通过 NuGet 获取:`Install-Package Aspose.Words`。 +- 一个 **.NET 6+** 控制台或 Web 项目——任何 C# 环境均可。 +- 一个位于你可控制文件夹中的输入 Word 文件(`input.docx`)。 +- 基础的 C# 知识——不需要高级技巧,只要能运行控制台应用即可。 + +就这些。无需额外库,也不需要繁琐的命令行技巧。准备好了吗?让我们开始吧。 + +--- + +## 第一步 – 将源 DOCX 加载为 Document 对象 + +首先需要读取 Word 文件。Aspose.Words 抽象了文件格式,为你提供一个 `Document` 对象,无论源文件是 DOCX、DOC 还是 ODT,都可以使用。 + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**为什么这样做很重要:** 在代码开头一次性加载文件可以让内存使用保持可预测,并且可以在后续(如 PDF、PNG 等)多种导出格式中复用 `doc` 实例。如果文件很大,Aspose.Words 会高效地流式读取数据,避免出现内存溢出。 + +--- + +## 第二步 – 使用默认资源处理配置 HTML 保存选项 + +导出为 HTML 时,Aspose.Words 不仅会生成 `.html` 文件,还会生成一个资源文件夹(图片、CSS、字体等)。默认情况下这些资源会写入磁盘,但我们可以通过 `ResourceHandler` 让库将所有内容保存在内存中。这是实现 **HTML archive from DOCX** 并随后压缩的关键。 + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**为何使用 `ResourceHandler`?** 它抽象掉了临时文件夹,意味着不会在磁盘留下零散文件。该处理器会将每个生成的资源保存为 `MemoryStream`,随后可以直接写入 ZIP 包——这对需要返回单一可下载包的 Web 服务尤为适合。 + +--- + +## 第三步 – 将文档及其资源保存到 ZIP 包中 + +现在魔法出现了。我们让 Aspose.Words 使用前面构建的选项保存文档,然后将所有内容压缩。下面的代码使用 `System.IO.Compression` 创建最终的 `result.zip`。 + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**为何这样可行:** `doc.Save(htmlOptions)` 会触发 HTML 文件及所有相关资产的生成,`ResourceHandler` 会在内存中捕获这些资源。随后 `foreach` 循环遍历每个捕获的条目,将其写入 `ZipArchive`。最终得到的 `result.zip` 包含 `document.html` 以及渲染原始 DOCX 所需的所有图片、CSS、字体等。 + +--- + +## 常见变体与边缘情况 + +### 1. 自定义 HTML 文件名 + +如果希望 HTML 页面使用特定名称(例如 `preview.html`),可以设置 `htmlOptions.HtmlVersion = HtmlVersion.Html5;` 并在添加到 ZIP 时重命名条目: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. 处理超大文档 + +对于大于 100 MB 的文档,建议直接将 ZIP 流式写入响应流(在 ASP.NET 中),而不是先写入磁盘。只需将 `FileStream` 替换为响应体流,代码保持不变。 + +### 3. 排除特定资源 + +如果不需要图片(比如只想要纯文本 HTML),可以设置 `htmlOptions.ExportImagesAsBase64 = true;` 或者完全禁用图片导出 `htmlOptions.ExportImages = false;`。此时 `ResourceHandler` 中的条目会更少,ZIP 包体积也会更小。 + +### 4. 添加清单文件 + +有些消费者期望在归档中包含描述内容的 `manifest.json`。可以动态生成: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## 专业技巧与注意事项 + +- **专业技巧:** 始终使用 `using` 块释放 `Document` 和 `ZipArchive` 对象。这样可以释放非托管资源,避免文件句柄泄漏。 +- **需留意:** 若多次对同一 `result.zip` 运行代码,文件会被覆盖。若需要唯一的归档,请在文件名中加入时间戳。 +- **性能提示:** `ResourceHandler` 将所有内容保存在内存中,适用于大多数文件(< 20 MB)。对于超大文档,可切换为 `FileSystemStorage`,先将临时资源写入磁盘再进行压缩。 +- **兼容性说明:** 生成的 HTML 符合 HTML5 标准,可在现代浏览器中正常工作。旧版 IE 可能需要兼容性 meta 标签,可通过 `htmlOptions.PrependMetaTag` 注入。 + +--- + +## 预期结果 + +运行程序后,你将在 `YOUR_DIRECTORY` 中看到 `result.zip`。打开 ZIP 包,你应当看到: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +在任意浏览器中打开 `document.html`,即可看到与 `input.docx` 完全一致的视觉效果。没有缺失的图片,也没有破损的链接——归档是真正的自包含。 + +--- + + + +*图片替代文字:“展示如何从 DOCX 创建 HTML archive 并生成 Word 文档的 ZIP 文件的流程图”。* + +--- + +## 结论 + +我们已经完整演示了如何使用 Aspose.Words 在 C# 中 **创建 HTML archive from DOCX** 并 **生成 ZIP 文件**。本教程带你走完了加载源文件、配置内存资源处理以及将所有内容打包成可下载 ZIP 的全过程。 + +现在,你可以将此代码片段嵌入更大的应用——Web API、后台服务,甚至桌面工具。接下来,尝试自定义 CSS、嵌入字体,或为更丰富的集成添加 JSON 清单。 + +如果遇到问题或有扩展想法,欢迎在下方留言。祝编码愉快! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/chinese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..26b4c089e --- /dev/null +++ b/html/chinese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-03-20 +description: 如何在 C# 中使用 Aspose.HTML 将 HTML 压缩为 zip —— 学习如何导出网页、下载网页资源,并快速将 HTML 保存为 + zip。 +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: zh +og_description: 如何在 C# 中使用 Aspose.HTML 将 HTML 压缩为 zip。本教程将向您展示如何导出网页资源并将 HTML 保存为 + zip,仅需几个简单步骤。 +og_title: 如何在 C# 中压缩 HTML – 将网页导出为 ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: 如何在 C# 中压缩 HTML – 使用 Aspose.HTML 将网页导出为 ZIP +url: /zh/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中压缩 HTML – 使用 Aspose.HTML 导出网页为 ZIP + +是否曾想过 **如何在 C# 应用程序中直接压缩 HTML**?你并不孤单。在许多项目中,我们需要 **导出网页** 内容,获取所有图片、CSS 和脚本,然后将它们打包成一个归档,以便离线使用或分发。 + +本指南将逐步演示一个完整且可运行的示例,展示如何使用 Aspose.HTML 库 **压缩 HTML**。完成后,你将能够 **下载网页资源**,将其存储在内存中,并仅用几行代码 **将 HTML 保存为 zip**。无需外部工具,无需手动文件操作——只需简洁的程序化自动化。 + +## 前提条件 + +| 要求 | 为什么重要 | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML 同时支持两者,但最新的运行时可提供更好的性能。 | +| Visual Studio 2022 (or any C# IDE) | 舒适的编辑器有助于快速发现语法错误。 | +| Aspose.HTML for .NET NuGet package | 该库提供我们将使用的 `HTMLDocument`、`HTMLSaveOptions` 和 `ResourceHandler` 类。 | +| Internet access (for the target URL) | 我们将加载一个实时页面(`https://example.com`)来演示 **下载网页资源**。 | + +```powershell +Install-Package Aspose.HTML +``` + +就是这样——无需额外配置。 + +## 如何压缩 HTML – 步骤实现 + +下面我们将过程分为四个逻辑步骤。每一步都有解释,随后附上可直接复制粘贴的完整代码。 + +> **小贴士:** 如果计划在多个项目中复用此逻辑,请将代码放在单独的类库中。这会让测试和版本管理变得轻而易举。 + +### 步骤 1:创建自定义资源处理程序 + +我们首先需要一种方法来拦截页面请求的每个外部资源(图片、CSS、JS)。Aspose.HTML 允许我们插入一个 `ResourceHandler`。在本例中,我们将每个资源存储在 `MemoryStream` 中,但你也可以轻松地改为文件系统存储或云存储桶。 + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Proč je to důležité:* Vytvořením dokumentu v paměti se vyhneme režii souborového I/O a udržíme celý pipeline rychlý. Tag `` je jen zástupný – můžete jej nahradit libovolným platným HTML, včetně CSS, obrázků nebo dokonce JavaScriptu (pokud je podporován Aspose.HTML). + +## Krok 2: Definování tučného‑kurzivního fontu pomocí WebFontStyle + +Pokud chcete ostrý, stylizovaný text, musíte rendereru říci, jaký font a styl použít. `FontInfo` vám umožňuje kombinovat příznaky `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Proč je to důležité:* Použití `WebFontStyle.Bold | WebFontStyle.Italic` zajišťuje, že text vypadá přesně jako „Hello world“ v tučném‑kurzivním stylu, což je klíčové, když později **generate high quality png** pro branding nebo UI mockupy. + +## Krok 3: Aplikace fontu na odstavec + +Nyní přiřadíme `FontInfo` k prvnímu elementu odstavce. To odráží to, co byste dělali v DevTools prohlížeče. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Tip:* Pokud má váš dokument více elementů, můžete projít strom DOM (`htmlDoc.QuerySelectorAll`) a přiřazovat fonty selektivně. + +## Krok 4: Povolení antialiasingu pro hladší rastrový výstup + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Krok 5: Zapnutí hintingu pro ostřejší text + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Krok 6: Renderování a uložení PNG souboru + +Nakonec předáme vše `ImageRenderer`. Metoda přijímá dokument, cílovou cestu a možnosti renderování, které jsme vytvořili. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Po dokončení kódu najdete `output.png` v `YOUR_DIRECTORY`. Otevřete jej a měli byste vidět odstavec „Hello world“ v tučném‑kurzivním Arial, dokonale antialiasovaný a hintovaný — **high quality PNG** připravený pro newslettery, miniatury nebo jakýkoli následný proces. + + + +*Proč to funguje:* `ImageRenderer` abstrahuje těžkou práci s layoutem, parsováním CSS a rasterizací, poskytuje pravou **convert html to image** zkušenost bez externích nástrojů. + +## Kompletní funkční příklad + +Níže je kompletní program připravený ke zkopírování a vložení. Kompiluje se s .NET 6 a vytvoří PNG najednou. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Očekávaný výstup:** Soubor pojmenovaný `output.png`, který zobrazuje větu **Hello world** v tučném‑kurzivním Arial, hladké hrany a bez vizuálních artefaktů. + +## Časté otázky a okrajové případy + +| Question | Answer | +|----------|--------| +| *Mohu renderovat celou webovou stránku?* | Ano — stačí načíst URL pomocí `new HTMLDocument("https://example.com")` místo řetězcového literálu. | +| *Co s externím CSS nebo obrázky?* | Ujistěte se, že jsou dostupné (absolutní URL nebo vložené base‑64). Aspose.HTML následuje přesměrování a může načíst vzdálené zdroje. | +| *Potřebuji uvolňovat objekty?* | `HTMLDocument` implementuje `IDisposable`. Zabalte jej do `using` bloku v produkčním kódu, aby se rychle uvolnily nativní zdroje. | +| *Jak změním formát obrázku?* | Předávejte jinou příponu souboru (`output.jpg`, `output.tiff`) metodě `Save`; renderer vybere odpovídající enkodér. | +| *Co když potřebuji průhledné pozadí?* | Nastavte `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` před renderováním. | + +## Tipy pro generování ještě vyšší kvality PNG + +1. **Zvyšte DPI** – Nastavte `imageOptions.Resolution = 300` pro tiskové materiály. +2. **Explicitně nastavte pozadí** – Pevné pozadí zabraňuje nechtěným problémům s průhledností. +3. **Používejte web‑safe fonty** – Pokud cílový stroj nemá požadovaný font, vložte jej pomocí `@font-face` v HTML. + +## Další kroky + +Nyní, když jste zvládli **create html document c#** a můžete **render html to png**, zvažte prozkoumání: + +- **Dávkové renderování** – Procházet kolekci HTML řetězců a vytvářet galerii PNG. +- **PDF konverze** – Vyměňte `ImageRenderer` za `PdfRenderer` a získáte PDF ze stejného HTML zdroje. +- **Dynamická data** – Vložte obsah řízený JSON do HTML před renderováním, ideální pro generování reportů. + +Neváhejte experimentovat s různými CSS styly, většími plátny nebo dokonce SVG grafikou. Pipeline zůstává stejná a Aspose.HTML se postará o těžkou práci. + +--- + +*Šťastné kódování! Pokud narazíte na problémy, zanechte komentář níže a společně je vyřešíme.* + +{{< /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 dc8f6f072..3358d2a76 100644 --- a/html/czech/net/html-extensions-and-conversions/_index.md +++ b/html/czech/net/html-extensions-and-conversions/_index.md @@ -67,6 +67,8 @@ Naučte se převádět HTML na TIFF pomocí Aspose.HTML pro .NET. Postupujte pod Objevte sílu Aspose.HTML pro .NET: Převeďte HTML na XPS bez námahy. Součástí jsou předpoklady, podrobný průvodce a často kladené otázky. ### [Jak zkomprimovat HTML v C# – Uložit HTML do ZIP](./how-to-zip-html-in-c-save-html-to-zip/) Naučte se, jak pomocí Aspose.HTML pro .NET zabalit HTML soubor do ZIP archivu v C#. +### [Jak zkomprimovat HTML v C# – Exportovat webovou stránku do ZIP pomocí Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Naučte se, jak pomocí Aspose.HTML v C# exportovat webovou stránku do ZIP archivu. ### [Vytvořte HTML dokument se stylovaným textem a exportujte do PDF – Kompletní průvodce](./create-html-document-with-styled-text-and-export-to-pdf-full/) Naučte se vytvořit HTML dokument se stylovaným textem a převést jej do PDF pomocí Aspose.HTML pro .NET. ### [Uložte HTML jako ZIP – Kompletní C# tutoriál](./save-html-as-zip-complete-c-tutorial/) @@ -74,6 +76,9 @@ Naučte se, jak uložit HTML soubor jako ZIP archiv pomocí Aspose.HTML pro .NET ### [Uložte HTML do ZIP v C# – Kompletní příklad v paměti](./save-html-to-zip-in-c-complete-in-memory-example/) Naučte se, jak uložit HTML soubor do ZIP archivu v paměti pomocí Aspose.HTML pro .NET v C#. +### [Vytvořte archiv HTML z DOCX – průvodce krok za krokem](./create-html-archive-from-docx-step-by-step-guide/) +Naučte se, jak pomocí Aspose.HTML v C# vytvořit archiv HTML z dokumentu DOCX pomocí podrobného průvodce krok za krokem. + ## Závěr Závěrem lze říci, že rozšíření a konverze HTML jsou základními prvky moderního vývoje webu. Aspose.HTML for .NET zjednodušuje proces a zpřístupňuje jej vývojářům všech úrovní. Budete-li se řídit našimi návody, budete na dobré cestě stát se zdatným webovým vývojářem se širokou sadou dovedností. diff --git a/html/czech/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/czech/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..8a2c58253 --- /dev/null +++ b/html/czech/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,201 @@ +--- +category: general +date: 2026-03-20 +description: Vytvořte HTML archiv z DOCX a vygenerujte ZIP soubor z Word dokumentu + v C#. Naučte se celý kód, proč funguje, a běžné úskalí. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: cs +og_description: Vytvořte HTML archiv z DOCX a vygenerujte ZIP soubor z Word dokumentu + pomocí Aspose.Words. Kompletní kód, vysvětlení a tipy. +og_title: Vytvořte HTML archiv z DOCX – Kompletní C# tutoriál +tags: +- Aspose.Words +- C# +- Document Processing +title: Vytvořte HTML archiv z DOCX – krok za krokem +url: /cs/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Vytvoření HTML archivu z DOCX – Kompletní C# tutoriál + +Už jste někdy potřebovali **vytvořit HTML archiv z DOCX**, ale nebyli jste si jisti, jak sloučit vzniklé soubory do jednoho balíčku? Nejste v tom sami. Ať už vytváříte funkci webového náhledu nebo exportujete dokumenty pro offline použití, převod souboru Word na samostatný HTML ZIP je běžná potřeba. + +V tomto průvodci projdeme přesně kroky k **vygenerování ZIP souboru z Word dokumentu** pomocí Aspose.Words pro .NET a vysvětlíme „proč“ za každým řádkem, abyste mohli řešení přizpůsobit svým projektům. + +--- + +## Co budete potřebovat + +- **Aspose.Words for .NET** (nejnovější stabilní verze, např. 24.10). Můžete jej získat přes NuGet: `Install-Package Aspose.Words`. +- **.NET 6+** konzolový nebo webový projekt – jakékoli C# prostředí bude vyhovovat. +- Vstupní Word soubor (`input.docx`) umístěný ve složce, kterou ovládáte. +- Základní znalost C# – nic složitého, jen schopnost spustit konzolovou aplikaci. + +To je vše. Žádné další knihovny, žádné složité příkazy v terminálu. Připravení? Pojďme na to. + +--- + +## Krok 1 – Načtení zdrojového DOCX do objektu Document + +Nejprve musíme přečíst Word soubor. Aspose.Words abstrahuje formát souboru a poskytuje vám objekt `Document`, se kterým můžete pracovat bez ohledu na to, zda je zdroj DOCX, DOC nebo dokonce ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Proč je to důležité:** Načtení souboru jednou na začátku udržuje využití paměti předvídatelné a umožňuje vám znovu použít instanci `doc` pro export do různých formátů později (PDF, PNG atd.). Pokud je soubor velký, Aspose.Words data streamuje efektivně, takže se nemusíte obávat pádů kvůli nedostatku paměti. + +--- + +## Krok 2 – Konfigurace HTML Save Options s výchozím Resource Handling + +Při exportu do HTML Aspose.Words vytvoří nejen soubor `.html`, ale i složku se zdroji (obrázky, CSS, fonty). Ve výchozím nastavení jsou tyto zdroje zapisovány do souborového systému, ale můžeme knihovně říct, aby vše držela v paměti pomocí `ResourceHandler`. To je klíč k vytvoření **HTML archivu z DOCX**, který později zabalíme do ZIPu. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Proč použít `ResourceHandler`?** Abstrahuje dočasnou složku, což znamená, že na disku nezůstane žádný zbytečný soubor. Handler ukládá každý vygenerovaný zdroj jako `MemoryStream`, který můžeme přímo vložit do ZIP archivu – ideální pro webové služby, které potřebují vrátit jeden stažitelný balíček. + +--- + +## Krok 3 – Uložení dokumentu a jeho zdrojů do ZIP archivu + +Teď se děje magie. Požádáme Aspose.Words, aby dokument uložil s právě vytvořenými možnostmi, a poté vše zabalíme do ZIPu. Níže uvedený kód používá `System.IO.Compression` k vytvoření finálního `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Proč to funguje:** `doc.Save(htmlOptions)` spustí generování HTML souboru a všech souvisejících aktiv, které `ResourceHandler` zachytí v paměti. Smyčka `foreach` pak projde každou zachycenou položku a zapíše ji do `ZipArchive`. Výsledkem je jediný `result.zip`, který obsahuje `document.html` plus všechny obrázky, CSS nebo fonty potřebné pro věrné zobrazení původního DOCX. + +--- + +## Běžné varianty a okrajové případy + +### 1. Přizpůsobení názvu HTML souboru + +Pokud chcete, aby HTML stránka měla konkrétní název (např. `preview.html`), nastavte `htmlOptions.HtmlVersion = HtmlVersion.Html5;` a při přidávání do ZIP přejmenujte položku: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Zpracování velmi velkých dokumentů + +U dokumentů větších než 100 MB zvažte streamování ZIPu přímo do výstupního proudu odpovědi (v ASP.NET) místo předchozího zápisu na disk. Nahraďte `FileStream` proudem těla odpovědi a kód zůstane stejný. + +### 3. Vyloučení určitých zdrojů + +Pokud nepotřebujete obrázky (například chcete jen čistý textový HTML), nastavte `htmlOptions.ExportImagesAsBase64 = true;` nebo úplně zakážte export obrázků pomocí `htmlOptions.ExportImages = false`. `ResourceHandler` pak bude obsahovat méně položek, což zmenší velikost ZIPu. + +### 4. Přidání souboru manifest + +Někteří uživatelé očekávají `manifest.json` popisující obsah archivu. Můžete jej vytvořit za běhu: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Profesionální tipy a úskalí + +- **Pro tip:** Vždy uvolňujte objekty `Document` a `ZipArchive` pomocí `using` bloků. Uvolní to neřízené prostředky a zabrání únikům souborových handle. +- **Dejte si pozor na:** Pokud spustíte kód vícekrát proti stejnému `result.zip`, soubor bude přepsán. Přidejte časové razítko do názvu souboru, pokud potřebujete unikátní archivy. +- **Tip pro výkon:** `ResourceHandler` ukládá vše do paměti, což je v pořádku pro většinu souborů (< 20 MB). Pro masivní dokumenty přepněte na `FileSystemStorage`, který před zabalením zapíše dočasné zdroje na disk. +- **Poznámka o kompatibilitě:** Vygenerované HTML je kompatibilní s HTML5 a funguje ve všech moderních prohlížečích. Starší verze IE mohou vyžadovat meta tag kompatibility, který můžete vložit pomocí `htmlOptions.PrependMetaTag`. + +--- + +## Očekávaný výsledek + +Po spuštění programu najdete `result.zip` ve `YOUR_DIRECTORY`. Otevřete ZIP – měli byste vidět: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Otevřete `document.html` v libovolném prohlížeči a uvidíte věrnou vizuální repliku `input.docx`. Žádné chybějící obrázky, žádné nefunkční odkazy – archiv je skutečně samostatný. + + + +*Text obrázku: "Diagram ukazující, jak vytvořit HTML archiv z DOCX a vygenerovat ZIP soubor z Word dokumentu."* + +--- + +## Závěr + +Právě jsme prošli kompletním procesem **vytvoření HTML archivu z DOCX** a **vygenerování ZIP souboru z Word dokumentu** pomocí Aspose.Words v C#. Tutoriál vás provedl načtením zdroje, konfigurací zpracování zdrojů v paměti a zabalením všeho do ZIP archivu připraveného ke stažení nebo dalšímu zpracování. + +Nyní můžete tento úryvek vložit do větších aplikací – webových API, background služeb nebo dokonce desktopových nástrojů. Dále můžete experimentovat s vlastním CSS, vkládáním fontů nebo přidáním JSON manifestu pro bohatší integrace. + +Pokud narazíte na problémy nebo máte nápady na rozšíření, zanechte komentář níže. Šťastné kódování! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/czech/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..3cf860ed1 --- /dev/null +++ b/html/czech/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-03-20 +description: Jak zkomprimovat HTML v C# pomocí Aspose.HTML – naučte se, jak exportovat + webovou stránku, stáhnout její zdroje a rychle uložit HTML jako zip. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: cs +og_description: Jak zkomprimovat HTML v C# pomocí Aspose.HTML. Tento tutoriál vám + ukáže, jak exportovat zdroje webové stránky a uložit HTML jako zip během několika + jednoduchých kroků. +og_title: Jak zkomprimovat HTML v C# – Exportovat webovou stránku do ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Jak zkomprimovat HTML v C# – Exportovat webovou stránku do ZIP pomocí Aspose.HTML +url: /cs/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak zkomprimovat HTML v C# – Exportovat webovou stránku do ZIP pomocí Aspose.HTML + +Už jste se někdy zamýšleli **jak zkomprimovat HTML** přímo z vaší C# aplikace? Nejste v tom sami. V mnoha projektech potřebujeme **exportovat webovou stránku** a získat každý obrázek, CSS a skript, a poté je zabalit do jednoho archivu pro offline použití nebo distribuci. + +V tomto průvodci projdeme kompletním, spustitelným příkladem, který přesně ukazuje **jak zkomprimovat HTML** pomocí knihovny Aspose.HTML. Na konci budete schopni **stáhnout zdroje webové stránky**, uložit je do paměti a **uložit HTML jako zip** pomocí několika řádků kódu. Žádné externí nástroje, žádné ruční manipulace se soubory – jen čistá programová automatizace. + +## Předpoklady + +| Požadavek | Proč je důležitý | +|-------------|----------------| +| .NET 6.0 nebo novější (nebo .NET Framework 4.6+) | Aspose.HTML podporuje oba, ale nejnovější runtime poskytuje lepší výkon. | +| Visual Studio 2022 (nebo jakékoli C# IDE) | Pohodlný editor vám pomůže rychle odhalit syntaktické chyby. | +| NuGet balíček Aspose.HTML pro .NET | Knihovna poskytuje třídy `HTMLDocument`, `HTMLSaveOptions` a `ResourceHandler`, které použijeme. | +| Přístup k internetu (pro cílovou URL) | Načteme živou stránku (`https://example.com`) k demonstraci **stažení zdrojů webové stránky**. | + +Balíček Aspose.HTML můžete přidat pomocí konzole NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +A to je vše—žádná další konfigurace není potřeba. + +## Jak zkomprimovat HTML – Krok za krokem implementace + +Níže rozdělíme proces do čtyř logických kroků. Každý krok je vysvětlen a následně je uveden přesný kód, který můžete zkopírovat‑vložit. + +> **Pro tip:** Uchovávejte kód v samostatné knihovně tříd, pokud plánujete logiku znovu použít v několika projektech. Usnadní to testování a verzování. + +### Krok 1: Vytvořit vlastní Resource Handler + +První věc, kterou potřebujeme, je způsob, jak zachytit každý externí zdroj (obrázky, CSS, JS), který stránka požaduje. Aspose.HTML nám umožňuje připojit `ResourceHandler`. V našem případě budeme ukládat každý zdroj do `MemoryStream`, ale můžete to snadno vyměnit za úložiště v souborovém systému nebo cloudový bucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Waarom dit belangrijk is:* Door het document in het geheugen te maken vermijden we bestand‑I/O‑overhead en blijft de hele pijplijn snel. Het ``‑element is slechts een placeholder – je kunt het vervangen door elke geldige HTML, inclusief CSS, afbeeldingen of zelfs JavaScript (zolang het door Aspose.HTML wordt ondersteund). + +## Stap 2: Definieer een vet‑cursief lettertype met WebFontStyle + +Als je scherpe, gestileerde tekst wilt, moet je de renderer vertellen welk lettertype en welke stijl te gebruiken. `FontInfo` laat je `WebFontStyle`‑vlaggen combineren. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Waarom dit belangrijk is:* Het gebruik van `WebFontStyle.Bold | WebFontStyle.Italic` zorgt ervoor dat de tekst er precies uitziet als “Hello world” in vet‑cursief, wat cruciaal is wanneer je later een **hoogwaardige PNG genereert** voor branding of UI‑mockups. + +## Stap 3: Pas het lettertype toe op de alinea + +Nu koppelen we de `FontInfo` aan het eerste alinea‑element. Dit is vergelijkbaar met wat je in de DevTools van een browser zou doen. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro‑tip:* Als je document meerdere elementen bevat, kun je de DOM‑boom doorlopen (`htmlDoc.QuerySelectorAll`) en lettertypen selectief toewijzen. + +## Stap 4: Schakel antialiasing in voor vloeiender rasteroutput + +Antialiasing verzacht de randen van tekst en vormen, waardoor gekartelde pixels worden voorkomen. Het is onmisbaar wanneer je **HTML naar PNG rendert** voor professioneel gebruik. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Stap 5: Zet hinting aan voor scherpere tekst + +Hinting past de glyph‑contouren aan zodat ze op het pixelraster uitlijnen, wat vooral nuttig is bij kleine lettergroottes. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Stap 6: Renderen en de PNG‑file opslaan + +Tot slot geven we alles door aan `ImageRenderer`. De methode neemt het document, het doelpad en de render‑opties die we hebben opgebouwd. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Wanneer de code klaar is, vind je `output.png` in `YOUR_DIRECTORY`. Open het bestand en je zou de “Hello world” alinea in vet‑cursief Arial moeten zien, perfect antialiased en ge‑hint – een **PNG van hoge kwaliteit** klaar voor nieuwsbrieven, miniaturen of elke downstream‑procedure. + + + +*Waarom dit werkt:* `ImageRenderer` neemt het zware werk van layout, CSS‑parsing en rasterisatie uit handen, en levert een echte **convert html to image**‑ervaring zonder externe tools. + +## Volledig werkend voorbeeld + +Hieronder staat het complete, kant‑klaar‑te‑kopiëren programma. Het compileert met .NET 6 en produceert de PNG in één stap. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Verwacht resultaat:** Een bestand genaamd `output.png` dat de zin **Hello world** weergeeft in vet‑cursief Arial, met zachte randen en zonder visuele artefacten. + +## Veelgestelde vragen & randgevallen + +| Vraag | Antwoord | +|----------|--------| +| *Kan ik een volledige website renderen?* | Ja – laad de URL met `new HTMLDocument("https://example.com")` in plaats van een string‑literal. | +| *Wat als er externe CSS of afbeeldingen zijn?* | Zorg dat ze bereikbaar zijn (absolute URL’s of embedded base‑64). Aspose.HTML volgt redirects en kan externe resources laden. | +| *Moet ik objecten vrijgeven?* | `HTMLDocument` implementeert `IDisposable`. Plaats het in een `using`‑block in productcode om native resources tijdig vrij te geven. | +| *Hoe wijzig ik het afbeeldingsformaat?* | Geef een andere bestandsextensie (`output.jpg`, `output.tiff`) door aan `Save`; de renderer kiest de juiste encoder. | +| *Wat als ik een transparante achtergrond nodig heb?* | Stel `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` in vóór het renderen. | + +## Tips voor nog hogere PNG‑kwaliteit + +1. **Verhoog DPI** – Stel `imageOptions.Resolution = 300` in voor print‑klare assets. +2. **Stel expliciet een achtergrond in** – Een solide achtergrond voorkomt onverwachte transparantie‑problemen. +3. **Gebruik web‑veilige lettertypen** – Als de doelmachine een lettertype mist, embed het via `@font-face` in de HTML. + +## Volgende stappen + +Nu je **create html document c#** onder de knie hebt en **html to png kunt renderen**, kun je verder gaan met: + +- **Batch‑renderen** – Loop over een collectie HTML‑strings om een galerij van PNG’s te maken. +- **PDF‑conversie** – Vervang `ImageRenderer` door `PdfRenderer` om PDF’s te krijgen vanuit dezelfde HTML‑bron. +- **Dynamische data** – Voeg JSON‑gedreven inhoud toe aan de HTML vóór het renderen, perfect voor rapportgeneratie. + +Voel je vrij om te experimenteren met verschillende CSS‑stijlen, grotere canvassen of zelfs SVG‑graphics. De pijplijn blijft hetzelfde, en Aspose.HTML neemt het zware werk uit handen. + +--- + +*Happy coding! Als je ergens vastloopt, laat dan een reactie achter en we lossen het samen op.* + +{{< /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 fd924a78c..74d6f2423 100644 --- a/html/dutch/net/html-extensions-and-conversions/_index.md +++ b/html/dutch/net/html-extensions-and-conversions/_index.md @@ -48,7 +48,7 @@ Leer hoe u EPUB naar XPS converteert in .NET met Aspose.HTML voor .NET. Volg onz ### [Converteer HTML naar BMP in .NET met Aspose.HTML](./convert-html-to-bmp/) Leer hoe u HTML naar BMP converteert in .NET met Aspose.HTML voor .NET. Uitgebreide handleiding voor webontwikkelaars voor het benutten van Aspose.HTML voor .NET. ### [Converteer HTML naar DOC en DOCX in .NET met Aspose.HTML](./convert-html-to-doc-docx/) -Leer hoe u de kracht van Aspose.HTML voor .NET kunt benutten in deze stapsgewijze handleiding. Converteer moeiteloos HTML naar DOCX en breng uw .NET-projecten naar een hoger niveau. Ga vandaag nog aan de slag! +Leer de kracht van Aspose.HTML voor .NET kunt benutten in deze stapsgewijze handleiding. Converteer moeiteloos HTML naar DOCX en breng uw .NET-projecten naar een hoger niveau. Ga vandaag nog aan de slag! ### [Converteer HTML naar GIF in .NET met Aspose.HTML](./convert-html-to-gif/) Ontdek de kracht van Aspose.HTML voor .NET: een stapsgewijze handleiding voor het converteren van HTML naar GIF. Vereisten, codevoorbeelden, FAQ's en meer! Optimaliseer uw HTML-manipulatie met Aspose.HTML. ### [Converteer HTML naar JPEG in .NET met Aspose.HTML](./convert-html-to-jpeg/) @@ -65,13 +65,17 @@ Leer hoe u HTML naar TIFF converteert met Aspose.HTML voor .NET. Volg onze staps Ontdek de kracht van Aspose.HTML voor .NET: Converteer HTML moeiteloos naar XPS. Vereisten, stapsgewijze handleiding en veelgestelde vragen inbegrepen. ### [HTML zippen in C# – HTML opslaan in zip](./how-to-zip-html-in-c-save-html-to-zip/) Leer hoe u HTML-bestanden comprimeert naar een zip‑archief met C# en Aspose.HTML voor .NET. +### [HTML zippen in C# – Webpagina exporteren naar ZIP met Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Leer hoe u een HTML-pagina comprimeert en opslaat als ZIP‑bestand met C# en Aspose.HTML. ### [Maak HTML-document met opgemaakte tekst en exporteer naar PDF – Volledige gids](./create-html-document-with-styled-text-and-export-to-pdf-full/) Leer hoe u een HTML-document met opgemaakte tekst maakt en deze volledig naar PDF exporteert met Aspose.HTML voor .NET. ### [Maak PDF van HTML – C# Stapsgewijze handleiding](./create-pdf-from-html-c-step-by-step-guide/) Leer hoe u met Aspose.HTML voor .NET PDF's genereert vanuit HTML met een duidelijke C# stap‑voor‑stap handleiding. ### [HTML opslaan als ZIP – Complete C#-tutorial](./save-html-as-zip-complete-c-tutorial/) ### [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#. +### [HTML-archief maken van DOCX – Stapsgewijze handleiding](./create-html-archive-from-docx-step-by-step-guide/) +Leer hoe u een HTML-archief maakt vanuit een DOCX-bestand met Aspose.HTML voor .NET. Volg de stapsgewijze handleiding. ## Conclusie diff --git a/html/dutch/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/dutch/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..51695b8c6 --- /dev/null +++ b/html/dutch/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-03-20 +description: Maak een HTML‑archief van een DOCX en genereer een ZIP‑bestand van een + Word‑document in C#. Leer de volledige code, waarom het werkt en veelvoorkomende + valkuilen. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: nl +og_description: Maak een HTML-archief van DOCX en genereer een ZIP-bestand van een + Word-document met Aspose.Words. Volledige code, uitleg en tips. +og_title: Maak een HTML-archief van DOCX – Complete C#-tutorial +tags: +- Aspose.Words +- C# +- Document Processing +title: HTML‑archief maken van DOCX – Stapsgewijze handleiding +url: /nl/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML‑archief maken van DOCX – Complete C#‑tutorial + +Heb je ooit **een HTML‑archief van DOCX moeten maken** maar wist je niet hoe je de resulterende bestanden in één pakket kon bundelen? Je bent niet de enige. Of je nu een web‑preview‑functie bouwt of documenten exporteert voor offline gebruik, een Word‑bestand omzetten naar een zelfstandige HTML‑ZIP is een veelvoorkomende eis. + +In deze gids lopen we stap voor stap door hoe je **een ZIP‑bestand genereert van een Word‑document** met Aspose.Words voor .NET, en leggen we het “waarom” achter elke regel uit zodat je de oplossing kunt aanpassen aan je eigen projecten. + +--- + +## Wat je nodig hebt + +Voordat we beginnen, zorg dat je het volgende hebt: + +- **Aspose.Words voor .NET** (de nieuwste stabiele versie, bijv. 24.10). Je kunt het via NuGet ophalen: `Install-Package Aspose.Words`. +- Een **.NET 6+** console‑ of webproject – elke C#‑omgeving volstaat. +- Een invoer‑Word‑bestand (`input.docx`) in een map die je beheert. +- Basiskennis van C# – niets bijzonders, alleen het vermogen om een console‑applicatie uit te voeren. + +Dat is alles. Geen extra bibliotheken, geen ingewikkelde command‑line‑trucs. Klaar? Laten we beginnen. + +--- + +## Stap 1 – Laad de bron‑DOCX in een Document‑object + +Eerst moeten we het Word‑bestand lezen. Aspose.Words abstraheert het bestandsformaat en geeft je een `Document`‑object waarmee je kunt werken, ongeacht of de bron DOCX, DOC of zelfs ODT is. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Waarom dit belangrijk is:** Het bestand één keer aan het begin laden houdt het geheugenverbruik voorspelbaar en stelt je in staat om de `doc`‑instantie later opnieuw te gebruiken voor meerdere exportformaten (PDF, PNG, enz.). Als het bestand groot is, streamt Aspose.Words de data efficiënt, zodat je je geen zorgen hoeft te maken over out‑of‑memory‑crashes. + +--- + +## Stap 2 – Configureer HTML‑opslaan‑opties met standaard resource‑afhandeling + +Wanneer je exporteert naar HTML, maakt Aspose.Words niet alleen een `.html`‑bestand, maar ook een map met resources (afbeeldingen, CSS, fonts). Standaard worden die resources naar het bestandssysteem geschreven, maar we kunnen de bibliotheek vertellen alles in het geheugen te houden met een `ResourceHandler`. Dit is de sleutel om een **HTML‑archief van DOCX** te maken dat we later kunnen zippen. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Waarom `ResourceHandler` gebruiken?** Het abstraheert de tijdelijke map, zodat je geen losse bestanden op schijf achterlaat. De handler slaat elke gegenereerde resource op als een `MemoryStream`, die we later rechtstreeks in een ZIP‑archief kunnen stoppen – perfect voor webservices die één downloadbaar pakket moeten retourneren. + +--- + +## Stap 3 – Sla het document en de resources op in een ZIP‑archief + +Nu gebeurt de magie. We vragen Aspose.Words het document op te slaan met de opties die we zojuist hebben gebouwd, en vervolgens zippen we alles. De code hieronder gebruikt `System.IO.Compression` om het uiteindelijke `result.zip` te maken. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Waarom dit werkt:** `doc.Save(htmlOptions)` triggert de generatie van het HTML‑bestand en alle gerelateerde assets, die de `ResourceHandler` in het geheugen opvangt. De `foreach`‑lus doorloopt vervolgens elke vastgelegde entry en schrijft deze naar de `ZipArchive`. Het resultaat is één `result.zip` dat `document.html` bevat plus eventuele afbeeldingen, CSS of fonts die nodig zijn voor een getrouwe weergave van de oorspronkelijke DOCX. + +--- + +## Veelvoorkomende variaties & randgevallen + +### 1. De HTML‑bestandsnaam aanpassen + +Wil je dat de HTML‑pagina een specifieke naam krijgt (bijv. `preview.html`), stel dan `htmlOptions.HtmlVersion = HtmlVersion.Html5;` in en hernoem de entry bij het toevoegen aan de ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Zeer grote documenten verwerken + +Voor documenten groter dan 100 MB kun je overwegen de ZIP direct naar de response‑stream (in ASP.NET) te streamen in plaats van eerst naar schijf te schrijven. Vervang de `FileStream` door de response‑body‑stream, en de code blijft hetzelfde. + +### 3. Bepaalde resources uitsluiten + +Als je geen afbeeldingen nodig hebt (bijvoorbeeld je wilt alleen platte‑tekst‑HTML), stel dan `htmlOptions.ExportImagesAsBase64 = true;` in of schakel afbeeldingsexport volledig uit met `htmlOptions.ExportImages = false`. De `ResourceHandler` bevat dan minder entries, waardoor de ZIP kleiner wordt. + +### 4. Een manifest‑bestand toevoegen + +Sommige consumenten verwachten een `manifest.json` die de inhoud van het archief beschrijft. Je kunt dit on‑the‑fly aanmaken: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Pro‑tips & valkuilen + +- **Pro‑tip:** Dispose altijd `Document`‑ en `ZipArchive`‑objecten met `using`‑blokken. Dit vrijgeeft unmanaged resources en voorkomt file‑handle‑lekkages. +- **Let op:** Als je de code meerdere keren uitvoert tegen dezelfde `result.zip`, wordt het bestand overschreven. Voeg een tijdstempel toe aan de bestandsnaam als je unieke archieven nodig hebt. +- **Performance‑tip:** De `ResourceHandler` slaat alles in het geheugen op, wat prima is voor de meeste bestanden (< 20 MB). Voor enorme documenten kun je overschakelen naar `FileSystemStorage` om tijdelijke resources eerst naar schijf te schrijven vóór het zippen. +- **Compatibiliteits‑opmerking:** Het gegenereerde HTML is HTML5‑conform en werkt in moderne browsers. Oudere IE‑versies hebben mogelijk een compatibiliteits‑meta‑tag nodig, die je kunt injecteren via `htmlOptions.PrependMetaTag`. + +--- + +## Verwacht resultaat + +Na het uitvoeren van het programma vind je `result.zip` in `YOUR_DIRECTORY`. Open de ZIP – je zou moeten zien: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Open `document.html` in een willekeurige browser en je ziet een getrouwe visuele replica van `input.docx`. Geen ontbrekende afbeeldingen, geen kapotte links – het archief is echt zelf‑voorzienend. + +--- + + + +*Afbeeldings‑alt‑tekst: "Diagram dat laat zien hoe je een HTML‑archief van DOCX maakt en een ZIP‑bestand genereert van een Word‑document."* + +--- + +## Conclusie + +We hebben zojuist het volledige proces behandeld om **een HTML‑archief van DOCX te maken** en **een ZIP‑bestand van een Word‑document te genereren** met Aspose.Words in C#. De tutorial heeft je stap voor stap geleid door het laden van de bron, het configureren van in‑memory resource‑afhandeling, en het verpakken van alles in een zip‑archief klaar voor download of verdere verwerking. + +Nu kun je dit fragment in grotere toepassingen integreren – web‑API’s, achtergrondservices of zelfs desktop‑tools. Probeer vervolgens te experimenteren met aangepaste CSS, het insluiten van fonts, of het toevoegen van een JSON‑manifest voor rijkere integraties. + +Als je tegen problemen aanloopt of ideeën hebt voor uitbreidingen, laat dan een reactie achter hieronder. Veel programmeerplezier! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/dutch/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..7285538b9 --- /dev/null +++ b/html/dutch/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-03-20 +description: Hoe HTML te zippen in C# met Aspose.HTML – leer hoe je een webpagina + exporteert, webpagina‑bronnen downloadt en HTML snel als zip opslaat. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: nl +og_description: Hoe HTML zippen in C# met Aspose.HTML. Deze tutorial laat zien hoe + je webpagina‑resources exporteert en HTML opslaat als zip in een paar eenvoudige + stappen. +og_title: Hoe HTML zippen in C# – Webpagina exporteren naar ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Hoe HTML zippen in C# – Webpagina exporteren naar ZIP met Aspose.HTML +url: /nl/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe HTML zippen in C# – Webpagina exporteren naar ZIP met Aspose.HTML + +Heb je je ooit afgevraagd **hoe je HTML kunt zippen** rechtstreeks vanuit je C#-applicatie? Je bent niet de enige. In veel projecten moeten we **webpagina**-inhoud exporteren, elke afbeelding, CSS en script ophalen, en deze vervolgens bundelen in één archief voor offline gebruik of distributie. + +In deze gids lopen we een volledig, uitvoerbaar voorbeeld door dat precies laat zien **hoe je HTML kunt zippen** met de Aspose.HTML-bibliotheek. Aan het einde kun je **webpagina‑bronnen downloaden**, ze in het geheugen opslaan, en **HTML opslaan als zip** met slechts een paar regels code. Geen externe tools, geen handmatig bestanden verplaatsen—gewoon schone, programmatiche automatisering. + +## Vereisten + +| Vereiste | Waarom het belangrijk is | +|-------------|----------------| +| .NET 6.0 of later (of .NET Framework 4.6+) | Aspose.HTML ondersteunt beide, maar de nieuwste runtime geeft je betere prestaties. | +| Visual Studio 2022 (of elke C# IDE) | Een comfortabele editor helpt je syntaxfouten snel te vinden. | +| Aspose.HTML for .NET NuGet-pakket | De bibliotheek levert de `HTMLDocument`, `HTMLSaveOptions` en `ResourceHandler` klassen die we gaan gebruiken. | +| Internettoegang (voor de doel-URL) | We zullen een live pagina (`https://example.com`) laden om **download webpage resources** te demonstreren. | + +Je kunt het Aspose.HTML-pakket toevoegen via de NuGet-console: + +```powershell +Install-Package Aspose.HTML +``` + +Dat is alles—geen extra configuratie nodig. + +## Hoe HTML zippen – Stapsgewijze implementatie + +Hieronder splitsen we het proces op in vier logische stappen. Elke stap wordt uitgelegd, gevolgd door de exacte code die je kunt copy‑paste. + +> **Pro tip:** Houd de code in een aparte class library als je de logica in meerdere projecten wilt hergebruiken. Het maakt testen en versiebeheer een fluitje van een cent. + +### Stap 1: Maak een aangepaste Resource Handler + +Het eerste wat we nodig hebben is een manier om elke externe bron (afbeeldingen, CSS, JS) die de pagina opvraagt, te onderscheppen. Aspose.HTML laat ons een `ResourceHandler` injecteren. In ons geval slaan we elke bron op in een `MemoryStream`, maar je kunt dit gemakkelijk vervangen door opslag op het bestandssysteem of een cloud‑bucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Why this matters:* By creating the document in memory we avoid file‑I/O overhead and keep the whole pipeline fast. The `` tag is just a placeholder—you can replace it with any valid HTML, including CSS, images, or even JavaScript (as long as it’s supported by Aspose.HTML). + +## Step 2: Define a Bold‑Italic Font with WebFontStyle + +If you want crisp, stylized text, you have to tell the renderer which font and style to use. `FontInfo` lets you combine `WebFontStyle` flags. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Why this matters:* Using `WebFontStyle.Bold | WebFontStyle.Italic` ensures the text looks exactly like “Hello world” in bold‑italic, which is crucial when you later **generate high quality png** for branding or UI mockups. + +## Step 3: Apply the Font to the Paragraph + +Now we attach the `FontInfo` to the first paragraph element. This mirrors what you’d do in a browser’s DevTools. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* If your document has multiple elements, you can walk the DOM tree (`htmlDoc.QuerySelectorAll`) and assign fonts selectively. + +## Step 4: Enable Antialiasing for Smoother Raster Output + +Antialiasing smooths the edges of text and shapes, preventing jagged pixels. It’s a must‑have when you aim to **render HTML to PNG** for professional use. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Step 5: Turn On Hinting for Sharper Text + +Hinting adjusts glyph outlines to align with the pixel grid, which is especially useful at small font sizes. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Step 6: Render and Save the PNG File + +Finally we hand everything over to `ImageRenderer`. The method takes the document, the target path, and the rendering options we built. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +When the code finishes, you’ll find `output.png` in `YOUR_DIRECTORY`. Open it and you should see the “Hello world” paragraph in bold‑italic Arial, perfectly antialiased and hinted—a **high quality PNG** ready for newsletters, thumbnails, or any downstream process. + + + +*Why this works:* `ImageRenderer` abstracts away the heavy lifting of layout, CSS parsing, and rasterization, delivering a true **convert html to image** experience without external tools. + +## Full Working Example + +Below is the complete, copy‑paste‑ready program. It compiles with .NET 6 and produces the PNG in one go. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Expected output:** A file named `output.png` that displays the sentence **Hello world** in bold‑italic Arial, smooth edges, and no visual artifacts. + +## Common Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| *Can I render a full‑page website?* | Yes—just load the URL with `new HTMLDocument("https://example.com")` instead of a string literal. | +| *What about external CSS or images?* | Ensure they’re reachable (absolute URLs or embedded base‑64). Aspose.HTML follows redirects and can load remote resources. | +| *Do I need to dispose objects?* | The `HTMLDocument` implements `IDisposable`. Wrap it in a `using` block for production code to free native resources promptly. | +| *How do I change image format?* | Pass a different file extension (`output.jpg`, `output.tiff`) to `Save`; the renderer picks the appropriate encoder. | +| *What if I need a transparent background?* | Set `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` before rendering. | + +## Tips for Generating Even Higher‑Quality PNGs + +1. **Increase DPI** – Set `imageOptions.Resolution = 300` for print‑ready assets. +2. **Explicitly set background** – A solid background avoids unintended transparency issues. +3. **Use web‑safe fonts** – If the target machine lacks a font, embed it via `@font-face` in the HTML. + +## Next Steps + +Now that you’ve mastered **create html document c#** and can **render html to png**, consider exploring: + +- **Batch rendering** – Loop over a collection of HTML strings to produce a gallery of PNGs. +- **PDF conversion** – Swap `ImageRenderer` for `PdfRenderer` to get PDFs from the same HTML source. +- **Dynamic data** – Inject JSON‑driven content into the HTML before rendering, perfect for report generation. + +Feel free to experiment with different CSS styles, larger canvases, or even SVG graphics. The pipeline stays the same, and Aspose.HTML will take care of the heavy lifting. + +--- + +*Happy coding! If you ran into any snags, drop a comment below and we’ll troubleshoot together.* + +{{< /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 a50bc9ccb..44f2e91d8 100644 --- a/html/english/net/html-extensions-and-conversions/_index.md +++ b/html/english/net/html-extensions-and-conversions/_index.md @@ -67,8 +67,12 @@ Learn how to convert HTML to TIFF with Aspose.HTML for .NET. Follow our step-by- 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. +### [How to Zip HTML in C# – Export Webpage to ZIP with Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Learn how to export a webpage to a ZIP archive in C# using Aspose.HTML with a detailed step-by-step guide. ### [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. +### [Create HTML archive from DOCX – Step‑by‑Step Guide](./create-html-archive-from-docx-step-by-step-guide/) +Learn how to generate an HTML archive from a DOCX file using Aspose.HTML for .NET. Follow the step‑by‑step guide with code samples. ### [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. ### [Convert EPUB to Image in .NET with Aspose.HTML](./convert-epub-to-image/) diff --git a/html/english/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/english/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..495a46ed0 --- /dev/null +++ b/html/english/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: Create HTML archive from DOCX and generate ZIP file from Word document + in C#. Learn the full code, why it works, and common pitfalls. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: en +og_description: Create HTML archive from DOCX and generate ZIP file from Word document + using Aspose.Words. Full code, explanations, and tips. +og_title: Create HTML archive from DOCX – Complete C# Tutorial +tags: +- Aspose.Words +- C# +- Document Processing +title: Create HTML archive from DOCX – Step‑by‑Step Guide +url: /net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Create HTML archive from DOCX – Complete C# Tutorial + +Ever needed to **create HTML archive from DOCX** but weren't sure how to bundle the resulting files into a single package? You're not the only one. Whether you're building a web preview feature or exporting documents for offline use, turning a Word file into a self‑contained HTML ZIP is a common requirement. + +In this guide we’ll walk through the exact steps to **generate a ZIP file from a Word document** using Aspose.Words for .NET, and we’ll explain the “why” behind each line so you can adapt the solution to your own projects. + +--- + +## What You’ll Need + +Before we dive in, make sure you have: + +- **Aspose.Words for .NET** (the latest stable version, e.g., 24.10). You can grab it via NuGet: `Install-Package Aspose.Words`. +- A **.NET 6+** console or web project – any C# environment will do. +- An input Word file (`input.docx`) sitting in a folder you control. +- Basic C# knowledge – nothing fancy, just the ability to run a console app. + +That’s it. No extra libraries, no fiddly command‑line tricks. Ready? Let’s get started. + +--- + +## Step 1 – Load the Source DOCX into a Document Object + +First we need to read the Word file. Aspose.Words abstracts the file format, giving you a `Document` object that you can work with regardless of whether the source is DOCX, DOC, or even ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Why this matters:** Loading the file once at the top keeps memory usage predictable and lets you reuse the `doc` instance for multiple export formats later on (PDF, PNG, etc.). If the file is huge, Aspose.Words streams the data efficiently, so you don’t have to worry about out‑of‑memory crashes. + +--- + +## Step 2 – Configure HTML Save Options with Default Resource Handling + +When you export to HTML, Aspose.Words creates not only an `.html` file but also a folder of resources (images, CSS, fonts). By default those resources are written to the file system, but we can tell the library to keep everything in memory using a `ResourceHandler`. This is the key to creating a **HTML archive from DOCX** that we can later zip. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Why use `ResourceHandler`?** It abstracts away the temporary folder, meaning you won’t leave stray files on disk. The handler stores each generated resource as a `MemoryStream`, which we can later feed straight into a ZIP archive – perfect for web services that need to return a single downloadable package. + +--- + +## Step 3 – Save the Document and Its Resources into a ZIP Archive + +Now the magic happens. We ask Aspose.Words to save the document with the options we just built, then we zip everything up. The code below uses `System.IO.Compression` to create the final `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Why this works:** `doc.Save(htmlOptions)` triggers the generation of the HTML file and all related assets, which the `ResourceHandler` captures in memory. The `foreach` loop then iterates over each captured entry, writing it into the `ZipArchive`. The result is a single `result.zip` that contains `document.html` plus any images, CSS, or fonts required for a faithful rendering of the original DOCX. + +--- + +## Common Variations & Edge Cases + +### 1. Customizing the HTML File Name + +If you want the HTML page to have a specific name (e.g., `preview.html`), set `htmlOptions.HtmlVersion = HtmlVersion.Html5;` and rename the entry when adding it to the ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Handling Very Large Documents + +For documents larger than 100 MB, consider streaming the ZIP directly to the response stream (in ASP.NET) instead of writing to disk first. Replace the `FileStream` with the response body stream, and the code remains the same. + +### 3. Excluding Certain Resources + +If you don’t need images (perhaps you only want plain text HTML), set `htmlOptions.ExportImagesAsBase64 = true;` or disable image export entirely with `htmlOptions.ExportImages = false`. The `ResourceHandler` will then contain fewer entries, making the ZIP smaller. + +### 4. Adding a Manifest File + +Some consumers expect a `manifest.json` describing the archive contents. You can create it on the fly: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Pro Tips & Gotchas + +- **Pro tip:** Always dispose of `Document` and `ZipArchive` objects with `using` blocks. It frees unmanaged resources and avoids file‑handle leaks. +- **Watch out for:** If you run the code multiple times against the same `result.zip`, the file will be overwritten. Add a timestamp to the file name if you need unique archives. +- **Performance tip:** The `ResourceHandler` stores everything in memory, which is fine for most files (< 20 MB). For massive docs, switch to `FileSystemStorage` to write temporary resources to disk before zipping. +- **Compatibility note:** The generated HTML is HTML5‑compliant and works across modern browsers. Older IE versions may need a compatibility meta tag, which you can inject via `htmlOptions.PrependMetaTag`. + +--- + +## Expected Result + +After running the program, you’ll find `result.zip` in `YOUR_DIRECTORY`. Open the ZIP – you should see: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Open `document.html` in any browser and you’ll see a faithful visual replica of `input.docx`. No missing images, no broken links – the archive is truly self‑contained. + +--- + + + +*Image alt text: "Diagram illustrating how to create HTML archive from DOCX and generate a ZIP file from a Word document."* + +--- + +## Conclusion + +We’ve just covered the complete process to **create HTML archive from DOCX** and **generate ZIP file from a Word document** with Aspose.Words in C#. The tutorial walked you through loading the source, configuring in‑memory resource handling, and packaging everything into a zip archive ready for download or further processing. + +Now you can embed this snippet into larger applications—web APIs, background services, or even desktop tools. Next, try experimenting with custom CSS, embedding fonts, or adding a JSON manifest for richer integrations. + +If you hit any snags or have ideas for extensions, drop a comment below. Happy coding! + +{{< /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-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..585e03afa --- /dev/null +++ b/html/english/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-20 +description: How to zip HTML in C# using Aspose.HTML – learn how to export webpage, + download webpage resources, and save HTML as zip quickly. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: en +og_description: How to zip HTML in C# with Aspose.HTML. This tutorial shows you how + to export webpage resources and save HTML as zip in a few easy steps. +og_title: How to Zip HTML in C# – Export Webpage to ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: How to Zip HTML in C# – Export Webpage to ZIP with Aspose.HTML +url: /net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Zip HTML in C# – Export Webpage to ZIP with Aspose.HTML + +Ever wondered **how to zip HTML** directly from your C# application? You're not alone. In many projects we need to **export webpage** content, grab every image, CSS, and script, then bundle it into a single archive for offline use or distribution. + +In this guide we’ll walk through a complete, runnable example that shows exactly **how to zip HTML** using the Aspose.HTML library. By the end you’ll be able to **download webpage resources**, store them in memory, and **save HTML as zip** with just a few lines of code. No external tools, no manual file juggling—just clean, programmatic automation. + +## Prerequisites + +Before we dive in, make sure you have the following on hand: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML supports both, but the latest runtime gives you better performance. | +| Visual Studio 2022 (or any C# IDE) | A comfortable editor helps you spot syntax errors quickly. | +| Aspose.HTML for .NET NuGet package | The library provides the `HTMLDocument`, `HTMLSaveOptions`, and `ResourceHandler` classes we’ll use. | +| Internet access (for the target URL) | We’ll be loading a live page (`https://example.com`) to demonstrate **download webpage resources**. | + +You can add the Aspose.HTML package via the NuGet console: + +```powershell +Install-Package Aspose.HTML +``` + +That’s it—no extra configuration needed. + +## How to Zip HTML – Step‑by‑Step Implementation + +Below we break the process into four logical steps. Each step is explained, then followed by the exact code you can copy‑paste. + +> **Pro tip:** Keep the code in a separate class library if you plan to reuse the logic across multiple projects. It makes testing and versioning a breeze. + +### Step 1: Create a Custom Resource Handler + +The first thing we need is a way to intercept every external resource (images, CSS, JS) that the page requests. Aspose.HTML lets us plug in a `ResourceHandler`. In our case we’ll store each resource in a `MemoryStream`, but you could easily swap this for a file‑system storage or a cloud bucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Pourquoi c’est important :* En créant le document en mémoire, nous évitons le surcoût d’E/S de fichiers et maintenons l’ensemble du pipeline rapide. La balise `` n’est qu’un espace réservé—vous pouvez la remplacer par n’importe quel HTML valide, y compris CSS, images ou même JavaScript (tant qu’il est pris en charge par Aspose.HTML). + +## Étape 2 : Définir une police Gras‑Italique avec WebFontStyle + +Si vous voulez un texte net et stylisé, vous devez indiquer au moteur de rendu la police et le style à utiliser. `FontInfo` vous permet de combiner les drapeaux `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Pourquoi c’est important :* Utiliser `WebFontStyle.Bold | WebFontStyle.Italic` garantit que le texte apparaît exactement comme “Hello world” en gras‑italique, ce qui est crucial lorsque vous devez ensuite **generate high quality png** pour le branding ou les maquettes UI. + +## Étape 3 : Appliquer la police au paragraphe + +Nous attachons maintenant le `FontInfo` au premier élément de paragraphe. Cela reflète ce que vous feriez dans les DevTools d’un navigateur. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Astuce :* Si votre document possède plusieurs éléments, vous pouvez parcourir l’arbre DOM (`htmlDoc.QuerySelectorAll`) et attribuer les polices sélectivement. + +## Étape 4 : Activer l’antialiasing pour une sortie raster plus lisse + +L’antialiasing lisse les bords du texte et des formes, évitant les pixels irréguliers. C’est indispensable lorsque vous visez à **render HTML to PNG** pour un usage professionnel. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Étape 5 : Activer le hinting pour un texte plus net + +Le hinting ajuste les contours des glyphes pour les aligner sur la grille de pixels, ce qui est particulièrement utile avec de petites tailles de police. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Étape 6 : Rendre et enregistrer le fichier PNG + +Enfin, nous transmettons tout à `ImageRenderer`. La méthode prend le document, le chemin cible, et les options de rendu que nous avons construites. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Lorsque le code se termine, vous trouverez `output.png` dans `YOUR_DIRECTORY`. Ouvrez-le et vous devriez voir le paragraphe “Hello world” en Arial gras‑italique, parfaitement antialiasé et hinté—un **high quality PNG** prêt pour les newsletters, vignettes, ou tout processus en aval. + + + +*Pourquoi cela fonctionne :* `ImageRenderer` abstrait le travail lourd de mise en page, d’analyse CSS et de rasterisation, offrant une véritable expérience **convert html to image** sans outils externes. + +## Exemple complet fonctionnel + +Ci‑dessous se trouve le programme complet, prêt à copier‑coller. Il se compile avec .NET 6 et produit le PNG en une seule fois. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Sortie attendue :** Un fichier nommé `output.png` qui affiche la phrase **Hello world** en Arial gras‑italique, bords lisses, et aucun artefact visuel. + +## Questions fréquentes & cas limites + +| Question | Answer | +|----------|--------| +| *Puis-je rendre un site web complet ?* | Oui—il suffit de charger l’URL avec `new HTMLDocument("https://example.com")` au lieu d’un littéral de chaîne. | +| *Et les CSS ou images externes ?* | Assurez‑vous qu’ils sont accessibles (URL absolues ou incorporées en base‑64). Aspose.HTML suit les redirections et peut charger les ressources distantes. | +| *Do I need to dispose objects?* | Le `HTMLDocument` implémente `IDisposable`. Enveloppez‑le dans un bloc `using` pour le code de production afin de libérer rapidement les ressources natives. | +| *Comment changer le format d’image ?* | Passez une extension de fichier différente (`output.jpg`, `output.tiff`) à `Save` ; le moteur de rendu choisit l’encodeur approprié. | +| *Et si j’ai besoin d’un arrière‑plan transparent ?* | Définissez `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` avant le rendu. | + +## Conseils pour générer des PNG encore plus haute qualité + +1. **Increase DPI** – Définissez `imageOptions.Resolution = 300` pour des actifs prêts à l’impression. +2. **Explicitly set background** – Un arrière‑plan solide évite les problèmes de transparence inattendus. +3. **Use web‑safe fonts** – Si la machine cible ne possède pas la police, intégrez‑la via `@font-face` dans le HTML. + +## Prochaines étapes + +Maintenant que vous avez maîtrisé **create html document c#** et que vous pouvez **render html to png**, envisagez d’explorer : + +- **Batch rendering** – Parcourez une collection de chaînes HTML pour produire une galerie de PNG. +- **PDF conversion** – Remplacez `ImageRenderer` par `PdfRenderer` pour obtenir des PDF à partir de la même source HTML. +- **Dynamic data** – Injectez du contenu piloté par JSON dans le HTML avant le rendu, parfait pour la génération de rapports. + +N’hésitez pas à expérimenter avec différents styles CSS, des canevas plus grands, ou même des graphiques SVG. Le pipeline reste le même, et Aspose.HTML se chargera du travail lourd. + +--- + +*Bon codage ! Si vous rencontrez des problèmes, laissez un commentaire ci‑dessous et nous les résoudrons ensemble.* + +{{< /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/french/net/html-extensions-and-conversions/_index.md b/html/french/net/html-extensions-and-conversions/_index.md index f4e02735c..e85614080 100644 --- a/html/french/net/html-extensions-and-conversions/_index.md +++ b/html/french/net/html-extensions-and-conversions/_index.md @@ -43,7 +43,7 @@ Convertissez facilement du HTML en PDF avec Aspose.HTML pour .NET. Suivez notre Apprenez à créer un PDF à partir de HTML en C# avec Aspose.HTML, guide complet pas à pas. ### [Créer un document HTML avec du texte stylisé et l'exporter en PDF – Guide complet](./create-html-document-with-styled-text-and-export-to-pdf-full/) Apprenez à créer un document HTML avec du texte formaté et à le convertir en PDF à l'aide d'Aspose.HTML pour .NET. -Convertisez facilement du HTML en PDF avec Aspose.HTML pour .NET. Suivez notre guide étape par étape et exploitez la puissance de la conversion HTML en PDF. +Convertisez facilement du HTML en PDF avec Aspose.HTML pour .NET. Suivez notre guide étape à étape... ### [Convertir EPUB en image dans .NET avec Aspose.HTML](./convert-epub-to-image/) Découvrez comment convertir un EPUB en images à l'aide d'Aspose.HTML pour .NET. Tutoriel étape par étape avec des exemples de code et des options personnalisables. ### [Convertir EPUB en PDF dans .NET avec Aspose.HTML](./convert-epub-to-pdf/) @@ -59,7 +59,7 @@ Découvrez la puissance d'Aspose.HTML pour .NET : un guide étape par étape po ### [Convertir HTML en JPEG dans .NET avec Aspose.HTML](./convert-html-to-jpeg/) Découvrez comment convertir du HTML en JPEG dans .NET avec Aspose.HTML pour .NET. Un guide étape par étape pour exploiter la puissance d'Aspose.HTML pour .NET. Optimisez vos tâches de développement Web sans effort. ### [Convertir HTML en Markdown dans .NET avec Aspose.HTML](./convert-html-to-markdown/) -Découvrez comment convertir du HTML en Markdown dans .NET à l'aide d'Aspose.HTML pour une manipulation efficace du contenu. Bénéficiez de conseils étape par étape pour un processus de conversion fluide. +Découvrez comment convertir du HTML en Markdown dans .NET à l'aide d'Aspose.HTML pour une manipulation efficace du contenu. Bénéficiez de conseils étape à étape pour un processus de conversion fluide. ### [Convertir HTML en MHTML dans .NET avec Aspose.HTML](./convert-html-to-mhtml/) Convertissez du HTML en MHTML dans .NET avec Aspose.HTML - Un guide étape par étape pour un archivage efficace du contenu Web. Découvrez comment utiliser Aspose.HTML pour .NET pour créer des archives MHTML. ### [Convertir HTML en PNG dans .NET avec Aspose.HTML](./convert-html-to-png/) @@ -74,6 +74,10 @@ Apprenez à compresser du HTML en un fichier zip avec C# grâce à notre guide d Apprenez à enregistrer un document HTML dans un fichier ZIP en C# avec Aspose.HTML pour .NET. 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. +### [Comment zipper du HTML en C# – Exporter une page Web en ZIP avec Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Apprenez à compresser une page HTML en fichier ZIP avec C# et Aspose.HTML grâce à ce guide étape par étape. +### [Créer une archive HTML à partir de DOCX – Guide étape par étape](./create-html-archive-from-docx-step-by-step-guide/) +Apprenez à générer une archive HTML à partir d'un fichier DOCX avec Aspose.HTML pour .NET, guide complet pas à pas. ## Conclusion diff --git a/html/french/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/french/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..7a3591ad2 --- /dev/null +++ b/html/french/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-03-20 +description: Créer une archive HTML à partir d’un DOCX et générer un fichier ZIP à + partir d’un document Word en C#. Découvrez le code complet, son fonctionnement et + les pièges courants. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: fr +og_description: Créer une archive HTML à partir d’un DOCX et générer un fichier ZIP + à partir d’un document Word avec Aspose.Words. Code complet, explications et astuces. +og_title: Créer une archive HTML à partir de DOCX – Tutoriel complet C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Créer une archive HTML à partir de DOCX – Guide étape par étape +url: /fr/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Créer une archive HTML à partir de DOCX – Tutoriel complet C# + +Vous avez déjà eu besoin de **créer une archive HTML à partir de DOCX** sans savoir comment regrouper les fichiers générés dans un seul paquet ? Vous n'êtes pas seul. Que vous construisiez une fonction d'aperçu web ou que vous exportiez des documents pour une utilisation hors ligne, transformer un fichier Word en un ZIP HTML autonome est une exigence courante. + +Dans ce guide, nous parcourrons les étapes exactes pour **générer un fichier ZIP à partir d’un document Word** en utilisant Aspose.Words pour .NET, et nous expliquerons le « pourquoi » de chaque ligne afin que vous puissiez adapter la solution à vos propres projets. + +--- + +## Ce dont vous avez besoin + +Avant de commencer, assurez‑vous d’avoir : + +- **Aspose.Words pour .NET** (la dernière version stable, par ex. 24.10). Vous pouvez l’obtenir via NuGet : `Install-Package Aspose.Words`. +- Un projet console ou web **.NET 6+** – tout environnement C# convient. +- Un fichier Word d’entrée (`input.docx`) placé dans un dossier que vous contrôlez. +- Des connaissances de base en C# – rien de sophistiqué, juste la capacité d’exécuter une application console. + +C’est tout. Pas de bibliothèques supplémentaires, pas de astuces compliquées en ligne de commande. Prêt ? C’est parti. + +--- + +## Étape 1 – Charger le DOCX source dans un objet Document + +Tout d’abord, nous devons lire le fichier Word. Aspose.Words abstrait le format de fichier, vous fournissant un objet `Document` avec lequel vous pouvez travailler, que la source soit DOCX, DOC ou même ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Pourquoi c’est important :** Charger le fichier une seule fois au début rend l’utilisation de la mémoire prévisible et vous permet de réutiliser l’instance `doc` pour plusieurs formats d’exportation ultérieurement (PDF, PNG, etc.). Si le fichier est volumineux, Aspose.Words diffuse les données efficacement, vous évitant ainsi les plantages « out‑of‑memory ». + +--- + +## Étape 2 – Configurer les options d’enregistrement HTML avec gestion des ressources par défaut + +Lorsque vous exportez en HTML, Aspose.Words crée non seulement un fichier `.html` mais aussi un dossier de ressources (images, CSS, polices). Par défaut, ces ressources sont écrites sur le système de fichiers, mais nous pouvons demander à la bibliothèque de tout garder en mémoire à l’aide d’un `ResourceHandler`. C’est la clé pour créer une **archive HTML à partir de DOCX** que nous pourrons ensuite zipper. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Pourquoi utiliser `ResourceHandler` ?** Il supprime le besoin d’un dossier temporaire, ce qui signifie que vous ne laisserez aucun fichier résiduel sur le disque. Le gestionnaire stocke chaque ressource générée sous forme de `MemoryStream`, que nous pouvons ensuite injecter directement dans une archive ZIP – idéal pour les services web qui doivent renvoyer un seul paquet téléchargeable. + +--- + +## Étape 3 – Enregistrer le document et ses ressources dans une archive ZIP + +Maintenant, la magie opère. Nous demandons à Aspose.Words d’enregistrer le document avec les options que nous venons de créer, puis nous compressons le tout. Le code ci‑dessous utilise `System.IO.Compression` pour créer le `result.zip` final. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Pourquoi cela fonctionne :** `doc.Save(htmlOptions)` déclenche la génération du fichier HTML et de tous les actifs associés, que le `ResourceHandler` capture en mémoire. La boucle `foreach` parcourt ensuite chaque entrée capturée, l’écrivant dans le `ZipArchive`. Le résultat est un seul `result.zip` contenant `document.html` ainsi que toutes les images, CSS ou polices nécessaires à un rendu fidèle du DOCX d’origine. + +--- + +## Variations courantes et cas limites + +### 1. Personnaliser le nom du fichier HTML + +Si vous souhaitez que la page HTML porte un nom spécifique (par ex. `preview.html`), définissez `htmlOptions.HtmlVersion = HtmlVersion.Html5;` et renommez l’entrée lors de son ajout au ZIP : + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Gestion de documents très volumineux + +Pour des documents supérieurs à 100 Mo, envisagez de diffuser le ZIP directement vers le flux de réponse (dans ASP.NET) au lieu d’écrire d’abord sur le disque. Remplacez le `FileStream` par le flux du corps de réponse, le code restant identique. + +### 3. Exclure certaines ressources + +Si vous n’avez pas besoin d’images (peut‑être que vous ne voulez qu’un HTML texte brut), définissez `htmlOptions.ExportImagesAsBase64 = true;` ou désactivez totalement l’exportation d’images avec `htmlOptions.ExportImages = false`. Le `ResourceHandler` contiendra alors moins d’entrées, rendant le ZIP plus léger. + +### 4. Ajouter un fichier manifeste + +Certains consommateurs attendent un `manifest.json` décrivant le contenu de l’archive. Vous pouvez le créer à la volée : + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Astuces pro et pièges + +- **Astuce pro :** Disposez toujours des objets `Document` et `ZipArchive` avec des blocs `using`. Cela libère les ressources non gérées et évite les fuites de descripteurs de fichiers. +- **Attention :** Si vous exécutez le code plusieurs fois sur le même `result.zip`, le fichier sera écrasé. Ajoutez un horodatage au nom du fichier si vous avez besoin d’archives uniques. +- **Conseil de performance :** Le `ResourceHandler` stocke tout en mémoire, ce qui convient à la plupart des fichiers (< 20 Mo). Pour des documents massifs, passez à `FileSystemStorage` afin d’écrire les ressources temporaires sur le disque avant de les zipper. +- **Note de compatibilité :** Le HTML généré est conforme à HTML5 et fonctionne avec les navigateurs modernes. Les anciennes versions d’IE peuvent nécessiter une balise meta de compatibilité, que vous pouvez injecter via `htmlOptions.PrependMetaTag`. + +--- + +## Résultat attendu + +Après l’exécution du programme, vous trouverez `result.zip` dans `YOUR_DIRECTORY`. Ouvrez le ZIP – vous devriez voir : + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Ouvrez `document.html` dans n’importe quel navigateur et vous verrez une réplique visuelle fidèle de `input.docx`. Aucun image manquante, aucun lien cassé – l’archive est réellement autonome. + +--- + + + +*Texte alternatif de l'image : « Diagramme illustrant comment créer une archive HTML à partir de DOCX et générer un fichier ZIP à partir d'un document Word. »* + +--- + +## Conclusion + +Nous venons de couvrir le processus complet pour **créer une archive HTML à partir de DOCX** et **générer un fichier ZIP à partir d’un document Word** avec Aspose.Words en C#. Le tutoriel vous a guidé à travers le chargement de la source, la configuration de la gestion des ressources en mémoire, et l’empaquetage de tout cela dans une archive zip prête à être téléchargée ou traitée davantage. + +Vous pouvez maintenant intégrer ce fragment dans des applications plus larges — API web, services en arrière‑plan ou même outils de bureau. Ensuite, essayez d’expérimenter avec du CSS personnalisé, l’intégration de polices, ou l’ajout d’un manifeste JSON pour des intégrations plus riches. + +Si vous rencontrez des difficultés ou avez des idées d’extensions, laissez un commentaire ci‑dessous. Bon codage ! + +{{< /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/french/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/french/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..e9510b1f3 --- /dev/null +++ b/html/french/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-03-20 +description: Comment zipper le HTML en C# avec Aspose.HTML – apprenez à exporter une + page Web, télécharger les ressources de la page et enregistrer le HTML en zip rapidement. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: fr +og_description: Comment zipper du HTML en C# avec Aspose.HTML. Ce tutoriel vous montre + comment exporter les ressources d’une page web et enregistrer le HTML en zip en + quelques étapes simples. +og_title: Comment compresser du HTML en C# – Exporter la page Web en ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Comment compresser du HTML en C# – Exporter une page Web en ZIP avec Aspose.HTML +url: /fr/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment compresser HTML en C# – Exporter une page Web en ZIP avec Aspose.HTML + +Vous vous êtes déjà demandé **comment compresser HTML** directement depuis votre application C# ? Vous n'êtes pas seul. Dans de nombreux projets, nous devons **exporter une page Web** le contenu, récupérer chaque image, CSS et script, puis les regrouper dans une archive unique pour une utilisation hors ligne ou une distribution. + +Dans ce guide, nous parcourrons un exemple complet et exécutable qui montre exactement **comment compresser HTML** à l'aide de la bibliothèque Aspose.HTML. À la fin, vous pourrez **télécharger les ressources d'une page Web**, les stocker en mémoire, et **enregistrer HTML en zip** en quelques lignes de code seulement. Aucun outil externe, aucune manipulation manuelle de fichiers — juste une automatisation propre et programmatique. + +## Prérequis + +| Requirement | Pourquoi c'est important | +|-------------|---------------------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML prend en charge les deux, mais le runtime le plus récent offre de meilleures performances. | +| Visual Studio 2022 (or any C# IDE) | Un éditeur confortable vous aide à repérer rapidement les erreurs de syntaxe. | +| Aspose.HTML for .NET NuGet package | La bibliothèque fournit les classes `HTMLDocument`, `HTMLSaveOptions` et `ResourceHandler` que nous utiliserons. | +| Internet access (for the target URL) | Nous chargerons une page en direct (`https://example.com`) pour démontrer **download webpage resources**. | + +Vous pouvez ajouter le package Aspose.HTML via la console NuGet : + +```powershell +Install-Package Aspose.HTML +``` + +C’est tout — aucune configuration supplémentaire requise. + +## Comment compresser HTML – Implémentation étape par étape + +Ci-dessous, nous décomposons le processus en quatre étapes logiques. Chaque étape est expliquée, puis suivie du code exact que vous pouvez copier‑coller. + +> **Astuce :** Conservez le code dans une bibliothèque de classes séparée si vous prévoyez de réutiliser la logique dans plusieurs projets. Cela facilite les tests et la gestion des versions. + +### Étape 1 : Créer un gestionnaire de ressources personnalisé + +La première chose dont nous avons besoin est un moyen d’intercepter chaque ressource externe (images, CSS, JS) que la page demande. Aspose.HTML nous permet d’insérer un `ResourceHandler`. Dans notre cas, nous stockerons chaque ressource dans un `MemoryStream`, mais vous pouvez facilement remplacer cela par un stockage sur le système de fichiers ou un bucket cloud. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Warum das wichtig ist:* Durch das Erstellen des Dokuments im Speicher vermeiden wir Dateizugriffs‑Overhead und halten die gesamte Pipeline schnell. Das ``‑Tag ist nur ein Platzhalter – Sie können es durch beliebiges gültiges HTML ersetzen, inklusive CSS, Bildern oder sogar JavaScript (solange es von Aspose.HTML unterstützt wird). + +## Schritt 2: Eine fett‑kursiv Schriftart mit WebFontStyle definieren + +Wenn Sie scharfen, stilisierten Text wollen, müssen Sie dem Renderer mitteilen, welche Schrift und welchen Stil er verwenden soll. `FontInfo` ermöglicht das Kombinieren von `WebFontStyle`‑Flags. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Warum das wichtig ist:* Die Verwendung von `WebFontStyle.Bold | WebFontStyle.Italic` stellt sicher, dass der Text exakt wie „Hello world“ in fett‑kursiv aussieht – entscheidend, wenn Sie später **hochwertige PNGs erzeugen** für Branding oder UI‑Mockups. + +## Schritt 3: Die Schriftart auf den Absatz anwenden + +Jetzt hängen wir das `FontInfo`‑Objekt an das erste Absatz‑Element. Das entspricht dem, was Sie in den DevTools eines Browsers tun würden. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro‑Tipp:* Wenn Ihr Dokument mehrere Elemente enthält, können Sie den DOM‑Baum (`htmlDoc.QuerySelectorAll`) durchlaufen und Schriften selektiv zuweisen. + +## Schritt 4: Antialiasing für glattere Rasterausgabe aktivieren + +Antialiasing glättet die Kanten von Text und Formen und verhindert gezackte Pixel. Das ist ein Muss, wenn Sie **HTML zu PNG rendern** wollen – professionell. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Schritt 5: Hinting einschalten für schärferen Text + +Hinting passt Glyphen‑Konturen an das Pixel‑Raster an, was besonders bei kleinen Schriftgrößen nützlich ist. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Schritt 6: Rendern und das PNG‑File speichern + +Zum Schluss übergeben wir alles an `ImageRenderer`. Die Methode erhält das Dokument, den Zielpfad und die zuvor erstellten Render‑Optionen. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Wenn der Code fertig ist, finden Sie `output.png` in `YOUR_DIRECTORY`. Öffnen Sie die Datei und Sie sollten den Absatz „Hello world“ in fett‑kursivem Arial sehen, perfekt antialiased und hinted – ein **hochwertiges PNG**, bereit für Newsletter, Thumbnails oder jeden nachgelagerten Prozess. + + + +*Warum das funktioniert:* `ImageRenderer` übernimmt das schwere Heben von Layout, CSS‑Parsing und Rasterisierung und liefert ein echtes **convert html to image**‑Erlebnis ohne externe Werkzeuge. + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie das komplette, sofort einsetzbare Programm. Es kompiliert mit .NET 6 und erzeugt das PNG in einem Schritt. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Erwartetes Ergebnis:** Eine Datei namens `output.png`, die den Satz **Hello world** in fett‑kursivem Arial mit glatten Kanten und ohne visuelle Artefakte anzeigt. + +## Häufige Fragen & Sonderfälle + +| Frage | Antwort | +|----------|--------| +| *Kann ich eine komplette Webseiten‑Seite rendern?* | Ja – laden Sie einfach die URL mit `new HTMLDocument("https://example.com")` anstelle eines String‑Literals. | +| *Wie gehe ich mit externen CSS‑Dateien oder Bildern um?* | Stellen Sie sicher, dass sie erreichbar sind (absolute URLs oder eingebettetes Base‑64). Aspose.HTML folgt Weiterleitungen und kann entfernte Ressourcen laden. | +| *Muss ich Objekte freigeben?* | `HTMLDocument` implementiert `IDisposable`. Packen Sie es in einen `using`‑Block, um native Ressourcen zeitnah freizugeben. | +| *Wie ändere ich das Bildformat?* | Übergeben Sie eine andere Dateierweiterung (`output.jpg`, `output.tiff`) an `Save`; der Renderer wählt den passenden Encoder. | +| *Was, wenn ich einen transparenten Hintergrund brauche?* | Setzen Sie `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` vor dem Rendern. | + +## Tipps für noch hochwertigere PNGs + +1. **DPI erhöhen** – Setzen Sie `imageOptions.Resolution = 300` für druckfertige Assets. +2. **Hintergrund explizit festlegen** – Ein fester Hintergrund verhindert unbeabsichtigte Transparenz‑Probleme. +3. **Web‑sichere Schriften verwenden** – Fehlt die Schrift auf der Zielmaschine, binden Sie sie via `@font-face` im HTML ein. + +## Nächste Schritte + +Jetzt, wo Sie **HTML‑Dokument in C# erstellen** und **HTML zu PNG rendern** beherrschen, können Sie Folgendes erkunden: + +- **Batch‑Rendering** – Durchlaufen Sie eine Sammlung von HTML‑Strings, um eine Galerie von PNGs zu erzeugen. +- **PDF‑Konvertierung** – Ersetzen Sie `ImageRenderer` durch `PdfRenderer`, um PDFs aus derselben HTML‑Quelle zu erhalten. +- **Dynamische Daten** – Injizieren Sie JSON‑gesteuerte Inhalte in das HTML vor dem Rendern – ideal für Berichtserstellung. + +Experimentieren Sie gern mit verschiedenen CSS‑Stilen, größeren Leinwänden oder sogar SVG‑Grafiken. Die Pipeline bleibt gleich, und Aspose.HTML übernimmt das schwere Heben. + +--- + +*Viel Spaß beim Coden! Wenn Sie auf Probleme stoßen, hinterlassen Sie einen Kommentar unten und wir helfen Ihnen weiter.* + +{{< /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 607896d28..265b2fb1b 100644 --- a/html/german/net/html-extensions-and-conversions/_index.md +++ b/html/german/net/html-extensions-and-conversions/_index.md @@ -22,15 +22,15 @@ Bevor wir uns in die Tutorials vertiefen, sollten wir uns kurz ansehen, was Aspo ## HTML-Erweiterungen entmystifiziert -HTML-Erweiterungen sind eine wertvolle Ressource für Entwickler. Sie ermöglichen es Ihnen, die Funktionalität Ihrer Webanwendungen durch Hinzufügen benutzerdefinierter Elemente und Attribute zu erweitern. In dieser Tutorial-Reihe werden wir die verschiedenen HTML-Erweiterungen erkunden, die Aspose.HTML für .NET bietet. Sie erfahren, wie Sie diese Erweiterungen nahtlos in Ihre Projekte integrieren und Ihre Webanwendungen dynamischer und interaktiver gestalten können. +HTML-Erweiterungen sind eine wertvolle Ressource für Entwickler. Sie ermöglichen es Ihnen, die Funktionalität Ihrer Webanwendungen durch Hinzufügen benutzerdefinierter Elemente und Attribute zu erweitern. In dieser Tutorial‑Reihe werden wir die verschiedenen HTML-Erweiterungen erkunden, die Aspose.HTML für .NET bietet. Sie erfahren, wie Sie diese Erweiterungen nahtlos in Ihre Projekte integrieren und Ihre Webanwendungen dynamischer und interaktiver gestalten können. -## Umbau-Tutorials für alle Fälle +## Umbau‑Tutorials für alle Fälle -Bei der Webentwicklung müssen HTML-Dokumente häufig in verschiedene Formate konvertiert werden. Aspose.HTML für .NET vereinfacht diesen Prozess. Unsere Tutorials führen Sie durch die Schritte zur Konvertierung von HTML in PDF, Bildformate und mehr. Egal, ob Sie Berichte erstellen, Inhalte freigeben oder einfach die Benutzererfahrung verbessern möchten, diese Konvertierungs-Tutorials helfen Ihnen dabei. +Bei der Webentwicklung müssen HTML-Dokumente häufig in verschiedene Formate konvertiert werden. Aspose.HTML für .NET vereinfacht diesen Prozess. Unsere Tutorials führen Sie durch die Schritte zur Konvertierung von HTML in PDF, Bildformate und mehr. Egal, ob Sie Berichte erstellen, Inhalte freigeben oder einfach die Benutzererfahrung verbessern möchten, diese Konvertierungs‑Tutorials helfen Ihnen dabei. ## Erste Schritte mit Aspose.HTML -Sind Sie bereit, loszulegen? Die Tutorials von Aspose.HTML für .NET richten sich sowohl an Anfänger als auch an erfahrene Entwickler. Egal, ob Sie neu bei HTML-Erweiterungen und -Konvertierungen sind oder fortgeschrittene Tipps suchen, unsere Schritt-für-Schritt-Anleitungen sind auf Ihre Bedürfnisse zugeschnitten. +Sind Sie bereit, loszulegen? Die Tutorials von Aspose.HTML für .NET richten sich sowohl an Anfänger als auch an erfahrene Entwickler. Egal, ob Sie neu bei HTML-Erweiterungen und -Konvertierungen sind oder fortgeschrittene Tipps suchen, unsere Schritt‑für‑Schritt‑Anleitungen sind auf Ihre Bedürfnisse zugeschnitten. ## Warum Aspose.HTML für .NET? @@ -38,41 +38,49 @@ Aspose.HTML für .NET ist nicht nur eine Bibliothek; es verändert die Welt der ## Tutorials zu HTML-Erweiterungen und -Konvertierungen ### [Konvertieren Sie HTML in .NET in PDF mit Aspose.HTML](./convert-html-to-pdf/) -Konvertieren Sie HTML mühelos in PDF mit Aspose.HTML für .NET. Folgen Sie unserer Schritt-für-Schritt-Anleitung und entfesseln Sie die Leistungsfähigkeit der HTML-zu-PDF-Konvertierung. +Konvertieren Sie HTML mühelos in PDF mit Aspose.HTML für .NET. Folgen Sie unserer Schritt‑für‑Schritt‑Anleitung und entfesseln Sie die Leistungsfähigkeit der HTML‑zu‑PDF‑Konvertierung. ### [Konvertieren Sie EPUB in .NET mit Aspose.HTML in ein Bild](./convert-epub-to-image/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in Bilder konvertieren. Schritt-für-Schritt-Anleitung mit Codebeispielen und anpassbaren Optionen. +Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in Bilder konvertieren. Schritt‑für‑Schritt‑Anleitung mit Codebeispielen und anpassbaren Optionen. ### [Konvertieren Sie EPUB in .NET mit Aspose.HTML in PDF](./convert-epub-to-pdf/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in PDF konvertieren. Diese Schritt-für-Schritt-Anleitung umfasst Anpassungsoptionen, FAQs und mehr für eine nahtlose Dokumentkonvertierung. +Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in PDF konvertieren. Diese Schritt‑für‑Schritt‑Anleitung umfasst Anpassungsoptionen, FAQs und mehr für eine nahtlose Dokumentkonvertierung. ### [Konvertieren Sie EPUB in XPS in .NET mit Aspose.HTML](./convert-epub-to-xps/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in XPS in .NET konvertieren. Folgen Sie unserer Schritt-für-Schritt-Anleitung für mühelose Konvertierungen. +Erfahren Sie, wie Sie mit Aspose.HTML für .NET EPUB in XPS in .NET konvertieren. Folgen Sie unserer Schritt‑für‑Schritt‑Anleitung für mühelose Konvertierungen. ### [Konvertieren Sie HTML in BMP in .NET mit Aspose.HTML](./convert-html-to-bmp/) Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in BMP in .NET konvertieren. Umfassender Leitfaden für Webentwickler zur Nutzung von Aspose.HTML für .NET. ### [Konvertieren Sie HTML in .NET in DOC und DOCX mit Aspose.HTML](./convert-html-to-doc-docx/) -Erfahren Sie in dieser Schritt-für-Schritt-Anleitung, wie Sie die Leistung von Aspose.HTML für .NET nutzen. Konvertieren Sie HTML mühelos in DOCX und verbessern Sie Ihre .NET-Projekte. Legen Sie noch heute los! +Erfahren Sie in dieser Schritt‑für‑Schritt‑Anleitung, wie Sie die Leistung von Aspose.HTML für .NET nutzen. Konvertieren Sie HTML mühelos in DOCX und verbessern Sie Ihre .NET‑Projekte. Legen Sie noch heute los! ### [Konvertieren Sie HTML in GIF in .NET mit Aspose.HTML](./convert-html-to-gif/) -Entdecken Sie die Leistungsfähigkeit von Aspose.HTML für .NET: Eine Schritt-für-Schritt-Anleitung zur Konvertierung von HTML in GIF. Voraussetzungen, Codebeispiele, FAQs und mehr! Optimieren Sie Ihre HTML-Manipulation mit Aspose.HTML. +Entdecken Sie die Leistungsfähigkeit von Aspose.HTML für .NET: Eine Schritt‑für‑Schritt‑Anleitung zur Konvertierung von HTML in GIF. Voraussetzungen, Codebeispiele, FAQs und mehr! Optimieren Sie Ihre HTML‑Manipulation mit Aspose.HTML. ### [Konvertieren Sie HTML in JPEG in .NET mit Aspose.HTML](./convert-html-to-jpeg/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in JPEG in .NET konvertieren. Eine Schritt-für-Schritt-Anleitung zur Nutzung der Leistungsfähigkeit von Aspose.HTML für .NET. Optimieren Sie Ihre Webentwicklungsaufgaben mühelos. +Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in JPEG in .NET konvertieren. Eine Schritt‑für‑Schritt‑Anleitung zur Nutzung der Leistungsfähigkeit von Aspose.HTML für .NET. Optimieren Sie Ihre Webentwicklungsaufgaben mühelos. ### [Konvertieren Sie HTML in .NET in Markdown mit Aspose.HTML](./convert-html-to-markdown/) -Erfahren Sie, wie Sie HTML in .NET mit Aspose.HTML in Markdown konvertieren, um Inhalte effizient zu bearbeiten. Erhalten Sie eine Schritt-für-Schritt-Anleitung für einen nahtlosen Konvertierungsprozess. +Erfahren Sie, wie Sie HTML in .NET mit Aspose.HTML in Markdown konvertieren, um Inhalte effizient zu bearbeiten. Erhalten Sie eine Schritt‑für‑Schritt‑Anleitung für einen nahtlosen Konvertierungsprozess. ### [Konvertieren Sie HTML in MHTML in .NET mit Aspose.HTML](./convert-html-to-mhtml/) -Konvertieren Sie HTML in .NET in MHTML mit Aspose.HTML – Eine Schritt-für-Schritt-Anleitung zum effizienten Archivieren von Webinhalten. Erfahren Sie, wie Sie mit Aspose.HTML für .NET MHTML-Archive erstellen. +Konvertieren Sie HTML in .NET in MHTML mit Aspose.HTML – Eine Schritt‑für‑Schritt‑Anleitung zum effizienten Archivieren von Webinhalten. Erfahren Sie, wie Sie mit Aspose.HTML für .NET MHTML‑Archive erstellen. ### [Konvertieren Sie HTML in PNG in .NET mit Aspose.HTML](./convert-html-to-png/) -Entdecken Sie, wie Sie mit Aspose.HTML für .NET HTML-Dokumente bearbeiten und konvertieren. Schritt-für-Schritt-Anleitung für effektive .NET-Entwicklung. +Entdecken Sie, wie Sie mit Aspose.HTML für .NET HTML‑Dokumente bearbeiten und konvertieren. Schritt‑für‑Schritt‑Anleitung für effektive .NET‑Entwicklung. ### [Konvertieren Sie HTML in TIFF in .NET mit Aspose.HTML](./convert-html-to-tiff/) -Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in TIFF konvertieren. Folgen Sie unserer Schritt-für-Schritt-Anleitung zur effizienten Optimierung von Webinhalten. +Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML in TIFF konvertieren. Folgen Sie unserer Schritt‑für‑Schritt‑Anleitung zur effizienten Optimierung von Webinhalten. ### [Konvertieren Sie HTML in XPS in .NET mit Aspose.HTML](./convert-html-to-xps/) -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. +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. +Erfahren Sie, wie Sie HTML‑Inhalte mit Aspose.HTML für .NET in eine ZIP‑Datei komprimieren und speichern. +### [HTML in C# zippen – Webseite in ZIP exportieren mit Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Erfahren Sie, wie Sie mit Aspose.HTML für .NET eine komplette Webseite in ein ZIP‑Archiv exportieren. +### [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. +### [HTML-Archiv aus DOCX erstellen – Schritt‑für‑Schritt‑Anleitung](./create-html-archive-from-docx-step-by-step-guide/) +Erfahren Sie, wie Sie mit Aspose.HTML für .NET ein HTML‑Archiv aus einer DOCX‑Datei erstellen. Schritt‑für‑Schritt‑Anleitung mit Codebeispielen. ### [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. +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. ### [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. +Speichern Sie HTML‑Inhalte in ein ZIP‑Archiv komplett im Speicher mit Aspose.HTML für .NET. Schritt‑für‑Schritt‑Anleitung. ## Abschluss diff --git a/html/german/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/german/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..0aaeb7486 --- /dev/null +++ b/html/german/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-03-20 +description: Erstelle ein HTML‑Archiv aus DOCX und generiere eine ZIP‑Datei aus einem + Word‑Dokument in C#. Lerne den vollständigen Code, warum er funktioniert, und häufige + Fallstricke. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: de +og_description: Erstelle ein HTML-Archiv aus DOCX und generiere eine ZIP-Datei aus + einem Word-Dokument mit Aspose.Words. Vollständiger Code, Erklärungen und Tipps. +og_title: HTML-Archiv aus DOCX erstellen – Vollständiges C#‑Tutorial +tags: +- Aspose.Words +- C# +- Document Processing +title: HTML‑Archiv aus DOCX erstellen – Schritt‑für‑Schritt‑Anleitung +url: /de/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML‑Archiv aus DOCX erstellen – Komplettes C#‑Tutorial + +Haben Sie jemals **create HTML archive from DOCX** erstellen müssen, waren sich aber nicht sicher, wie Sie die resultierenden Dateien zu einem einzigen Paket bündeln? Sie sind nicht allein. Egal, ob Sie eine Web‑Vorschaufunktion bauen oder Dokumente für die Offline‑Nutzung exportieren – ein Word‑File in ein eigenständiges HTML‑ZIP zu verwandeln, ist ein häufiges Anliegen. + +In diesem Leitfaden gehen wir Schritt für Schritt durch, wie Sie **einen ZIP‑Datei aus einem Word‑Dokument** mit Aspose.Words für .NET erzeugen, und erklären das „Warum“ hinter jeder Zeile, sodass Sie die Lösung an Ihre eigenen Projekte anpassen können. + +--- + +## Was Sie benötigen + +Bevor wir starten, stellen Sie sicher, dass Sie folgendes haben: + +- **Aspose.Words für .NET** (die neueste stabile Version, z. B. 24.10). Sie können es via NuGet holen: `Install-Package Aspose.Words`. +- Ein **.NET 6+** Konsolen‑ oder Web‑Projekt – jede C#‑Umgebung reicht aus. +- Eine Eingabe‑Word‑Datei (`input.docx`) in einem Ordner, den Sie kontrollieren. +- Grundkenntnisse in C# – nichts Besonderes, nur die Fähigkeit, eine Konsolen‑App auszuführen. + +Das war’s. Keine zusätzlichen Bibliotheken, keine kniffligen Befehlszeilen‑Tricks. Bereit? Los geht’s. + +--- + +## Schritt 1 – Laden Sie das Quell‑DOCX in ein Document‑Objekt + +Zuerst müssen wir die Word‑Datei einlesen. Aspose.Words abstrahiert das Dateiformat und liefert Ihnen ein `Document`‑Objekt, mit dem Sie unabhängig davon arbeiten können, ob die Quelle DOCX, DOC oder sogar ODT ist. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Warum das wichtig ist:** Das Laden der Datei einmal zu Beginn hält den Speicherverbrauch vorhersehbar und ermöglicht die Wiederverwendung der `doc`‑Instanz für mehrere Exportformate später (PDF, PNG usw.). Bei sehr großen Dateien streamt Aspose.Words die Daten effizient, sodass Sie sich keine Sorgen über Out‑of‑Memory‑Abstürze machen müssen. + +--- + +## Schritt 2 – HTML‑Speicheroptionen mit Standard‑Ressourcen‑Handling konfigurieren + +Beim Export nach HTML erzeugt Aspose.Words nicht nur eine `.html`‑Datei, sondern auch einen Ordner mit Ressourcen (Bilder, CSS, Fonts). Standardmäßig werden diese Ressourcen auf das Dateisystem geschrieben, aber wir können der Bibliothek sagen, alles im Speicher zu behalten, indem wir einen `ResourceHandler` verwenden. Das ist der Schlüssel, um ein **HTML archive from DOCX** zu erstellen, das wir später zippen können. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Warum `ResourceHandler` verwenden?** Er abstrahiert den temporären Ordner, sodass keine verwaisten Dateien auf der Festplatte zurückbleiben. Der Handler speichert jede erzeugte Ressource als `MemoryStream`, den wir später direkt in ein ZIP‑Archiv einfügen können – ideal für Web‑Services, die ein einziges herunterladbares Paket zurückgeben müssen. + +--- + +## Schritt 3 – Dokument und Ressourcen in ein ZIP‑Archiv speichern + +Jetzt passiert die Magie. Wir lassen Aspose.Words das Dokument mit den gerade erstellten Optionen speichern und zippen anschließend alles. Der untenstehende Code nutzt `System.IO.Compression`, um das finale `result.zip` zu erzeugen. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Warum das funktioniert:** `doc.Save(htmlOptions)` löst die Erzeugung der HTML‑Datei und aller zugehörigen Assets aus, die der `ResourceHandler` im Speicher erfasst. Die `foreach`‑Schleife iteriert dann über jeden erfassten Eintrag und schreibt ihn in das `ZipArchive`. Das Ergebnis ist ein einzelnes `result.zip`, das `document.html` sowie alle benötigten Bilder, CSS‑Dateien oder Fonts für eine getreue Wiedergabe des ursprünglichen DOCX enthält. + +--- + +## Häufige Varianten & Sonderfälle + +### 1. Anpassen des HTML‑Dateinamens + +Wenn Sie der HTML‑Seite einen bestimmten Namen geben möchten (z. B. `preview.html`), setzen Sie `htmlOptions.HtmlVersion = HtmlVersion.Html5;` und benennen den Eintrag beim Hinzufügen zum ZIP um: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Umgang mit sehr großen Dokumenten + +Für Dokumente größer als 100 MB sollten Sie das ZIP‑Archiv direkt in den Response‑Stream (in ASP.NET) streamen, anstatt es zuerst auf die Festplatte zu schreiben. Ersetzen Sie den `FileStream` durch den Response‑Body‑Stream, der Rest bleibt unverändert. + +### 3. Ausschließen bestimmter Ressourcen + +Falls Sie keine Bilder benötigen (vielleicht wollen Sie nur reines Text‑HTML), setzen Sie `htmlOptions.ExportImagesAsBase64 = true;` oder deaktivieren den Bild‑Export komplett mit `htmlOptions.ExportImages = false`. Der `ResourceHandler` enthält dann weniger Einträge, wodurch das ZIP kleiner wird. + +### 4. Hinzufügen einer Manifest‑Datei + +Manche Verbraucher erwarten ein `manifest.json`, das den Inhalt des Archivs beschreibt. Sie können es on‑the‑fly erzeugen: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Pro‑Tipps & Stolperfallen + +- **Pro‑Tipp:** Entsorgen Sie `Document`‑ und `ZipArchive`‑Objekte immer mit `using`‑Blöcken. Das gibt unmanaged Ressourcen frei und verhindert Datei‑Handle‑Lecks. +- **Achten Sie auf:** Wenn Sie den Code mehrfach gegen dasselbe `result.zip` ausführen, wird die Datei überschrieben. Fügen Sie einen Zeitstempel zum Dateinamen hinzu, wenn Sie eindeutige Archive benötigen. +- **Performance‑Tipp:** Der `ResourceHandler` speichert alles im Speicher, was für die meisten Dateien (< 20 MB) ausreichend ist. Bei riesigen Dokumenten wechseln Sie zu `FileSystemStorage`, um temporäre Ressourcen zuerst auf die Festplatte zu schreiben, bevor Sie zippen. +- **Kompatibilitäts‑Hinweis:** Das erzeugte HTML ist HTML5‑konform und funktioniert in modernen Browsern. Ältere IE‑Versionen benötigen evtl. ein Compatibility‑Meta‑Tag, das Sie über `htmlOptions.PrependMetaTag` einfügen können. + +--- + +## Erwartetes Ergebnis + +Nach dem Ausführen des Programms finden Sie `result.zip` in `YOUR_DIRECTORY`. Öffnen Sie das ZIP – Sie sollten sehen: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Öffnen Sie `document.html` in einem beliebigen Browser und Sie erhalten eine getreue visuelle Kopie von `input.docx`. Keine fehlenden Bilder, keine kaputten Links – das Archiv ist wirklich eigenständig. + +--- + + + +*Bild‑Alt‑Text: "Diagramm, das zeigt, wie man ein HTML‑Archiv aus DOCX erstellt und daraus eine ZIP‑Datei aus einem Word‑Dokument generiert."* + +--- + +## Fazit + +Wir haben gerade den kompletten Prozess zum **create HTML archive from DOCX** und zum **generate ZIP file from a Word document** mit Aspose.Words in C# behandelt. Das Tutorial führte Sie durch das Laden der Quelle, die Konfiguration des In‑Memory‑Ressourcen‑Handlings und das Verpacken alles in ein ZIP‑Archiv, das zum Download oder zur Weiterverarbeitung bereitsteht. + +Jetzt können Sie diesen Code‑Snippet in größere Anwendungen einbinden – Web‑APIs, Hintergrund‑Services oder sogar Desktop‑Tools. Als Nächstes experimentieren Sie mit benutzerdefiniertem CSS, dem Einbetten von Fonts oder dem Hinzufügen eines JSON‑Manifests für reichhaltigere Integrationen. + +Wenn Sie auf Probleme stoßen oder Ideen für Erweiterungen haben, hinterlassen Sie einen Kommentar unten. Viel Spaß beim Coden! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/german/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..d18af7409 --- /dev/null +++ b/html/german/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: HTML in C# mit Aspose.HTML zippen – lernen Sie, wie Sie eine Webseite + exportieren, Webseitressourcen herunterladen und HTML schnell als ZIP speichern. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: de +og_description: Wie man HTML in C# mit Aspose.HTML zippt. Dieses Tutorial zeigt Ihnen, + wie Sie Webseitenressourcen exportieren und HTML in wenigen einfachen Schritten + als ZIP speichern. +og_title: Wie man HTML in C# zippt – Webseite in ZIP exportieren +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Wie man HTML in C# zippt – Webseite mit Aspose.HTML in ZIP exportieren +url: /de/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man HTML in C# zippt – Webseite in ZIP exportieren mit Aspose.HTML + +Haben Sie sich jemals gefragt, **wie man HTML** direkt aus Ihrer C#‑Anwendung zippt? Sie sind nicht allein. In vielen Projekten müssen wir **Webseiten**‑Inhalte exportieren, jedes Bild, CSS und Skript erfassen und dann in ein einziges Archiv für die Offline‑Nutzung oder Verteilung bündeln. + +In diesem Leitfaden gehen wir Schritt für Schritt durch ein vollständiges, ausführbares Beispiel, das genau zeigt, **wie man HTML** mit der Aspose.HTML‑Bibliothek zippt. Am Ende können Sie **Webseiten‑Ressourcen herunterladen**, sie im Speicher ablegen und **HTML als ZIP speichern** mit nur wenigen Codezeilen. Keine externen Tools, kein manuelles Dateihandling – nur saubere, programmatische Automatisierung. + +## Voraussetzungen + +Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes zur Hand haben: + +| Anforderung | Warum es wichtig ist | +|-------------|----------------------| +| .NET 6.0 oder später (oder .NET Framework 4.6+) | Aspose.HTML unterstützt beides, aber die neueste Laufzeit bietet bessere Leistung. | +| Visual Studio 2022 (oder jede C#‑IDE) | Ein komfortabler Editor hilft Ihnen, Syntaxfehler schnell zu erkennen. | +| Aspose.HTML for .NET NuGet‑Paket | Die Bibliothek stellt die Klassen `HTMLDocument`, `HTMLSaveOptions` und `ResourceHandler` bereit, die wir verwenden. | +| Internetzugang (für die Ziel‑URL) | Wir werden eine Live‑Seite (`https://example.com`) laden, um **Webseiten‑Ressourcen herunterladen** zu demonstrieren. | + +Sie können das Aspose.HTML‑Paket über die NuGet‑Konsole hinzufügen: + +```powershell +Install-Package Aspose.HTML +``` + +Das war's – keine zusätzliche Konfiguration nötig. + +## Wie man HTML zippt – Schritt‑für‑Schritt‑Implementierung + +Im Folgenden teilen wir den Prozess in vier logische Schritte auf. Jeder Schritt wird erklärt und anschließend mit dem genauen Code versehen, den Sie copy‑paste können. + +> **Pro‑Tipp:** Halten Sie den Code in einer separaten Klassenbibliothek, wenn Sie die Logik in mehreren Projekten wiederverwenden möchten. Das erleichtert Testen und Versionierung enorm. + +### Schritt 1: Erstellen eines benutzerdefinierten Resource Handlers + +Das Erste, was wir benötigen, ist eine Möglichkeit, jede externe Ressource (Bilder, CSS, JS) abzufangen, die die Seite anfordert. Aspose.HTML lässt uns einen `ResourceHandler` einbinden. In unserem Fall speichern wir jede Ressource in einem `MemoryStream`, Sie könnten das jedoch leicht gegen eine Dateisystem‑Speicherung oder einen Cloud‑Bucket austauschen. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Γιατί είναι σημαντικό:* Δημιουργώντας το έγγραφο στη μνήμη αποφεύγουμε το κόστος file‑I/O και διατηρούμε όλη τη διαδικασία γρήγορη. Η ετικέτα `` είναι μόνο ένα placeholder—μπορείτε να την αντικαταστήσετε με οποιοδήποτε έγκυρο HTML, συμπεριλαμβαμένου CSS, εικόνων ή ακόμη και JavaScript (εφόσον υποστηρίζεται από το Aspose.HTML). + +## Βήμα 2: Ορισμός γραμματοσειράς Bold‑Italic με WebFontStyle + +Αν θέλετε καθαρό, στυλιζαρισμένο κείμενο, πρέπει να πείτε στον renderer ποια γραμματοσειρά και στυλ να χρησιμοποιήσει. Το `FontInfo` σας επιτρέπει να συνδυάσετε τις σημαίες `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Γιατί είναι σημαντικό:* Η χρήση του `WebFontStyle.Bold | WebFontStyle.Italic` εξασφαλίζει ότι το κείμενο εμφανίζεται ακριβώς όπως το “Hello world” σε bold‑italic, κάτι που είναι κρίσιμο όταν αργότερα **generate high quality png** για branding ή UI mockups. + +## Βήμα 3: Εφαρμογή της γραμματοσειράς στην παράγραφο + +Τώρα συνδέουμε το `FontInfo` στο πρώτο στοιχείο παραγράφου. Αυτό αντικατοπτρίζει ό,τι θα κάνατε στα DevTools ενός προγράμματος περιήγησης. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Συμβουλή:* Αν το έγγραφό σας έχει πολλά στοιχεία, μπορείτε να περιηγηθείτε στο δέντρο DOM (`htmlDoc.QuerySelectorAll`) και να αναθέσετε γραμματοσειρές επιλεκτικά. + +## Βήμα 4: Ενεργοποίηση Antialiasing για πιο ομαλή raster έξοδο + +Το Antialiasing λειαίνει τις άκρες του κειμένου και των σχημάτων, αποτρέποντας τα σκαλιστά pixel. Είναι απαραίτητο όταν στοχεύετε σε **render HTML to PNG** για επαγγελματική χρήση. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Βήμα 5: Ενεργοποίηση Hinting για πιο οξύ κείμενο + +Το Hinting προσαρμόζει τα περιγράμματα των glyph ώστε να ευθυγραμμίζονται με το pixel grid, κάτι που είναι ιδιαίτερα χρήσιμο σε μικρά μεγέθη γραμματοσειράς. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Βήμα 6: Απόδοση και αποθήκευση του αρχείου PNG + +Τέλος, παραδίδουμε τα πάντα στο `ImageRenderer`. Η μέθοδος παίρνει το έγγραφο, τη διαδρομή προορισμού, και τις επιλογές απόδοσης που δημιουργήσαμε. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Όταν ολοκληρωθεί ο κώδικας, θα βρείτε το `output.png` στο `YOUR_DIRECTORY`. Ανοίξτε το και θα δείτε την παράγραφο “Hello world” σε bold‑italic Arial, τέλεια antialiased και hinted—ένα **high quality PNG** έτοιμο για newsletters, thumbnails, ή οποιαδήποτε επόμενη διαδικασία. + + + +*Γιατί λειτουργεί:* Το `ImageRenderer` αφαιρεί το βαρέως βάρους κομμάτι του layout, της ανάλυσης CSS, και της rasterization, παρέχοντας μια αληθινή εμπειρία **convert html to image** χωρίς εξωτερικά εργαλεία. + +## Πλήρες λειτουργικό παράδειγμα + +Παρακάτω είναι το πλήρες πρόγραμμα, έτοιμο για αντιγραφή‑επικόλληση. Συγκεντρώνεται με .NET 6 και παράγει το PNG σε μία ενέργεια. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Αναμενόμενο αποτέλεσμα:** Ένα αρχείο με όνομα `output.png` που εμφανίζει την πρόταση **Hello world** σε bold‑italic Arial, με ομαλές άκρες και χωρίς οπτικές ατέλειες. + +## Συχνές ερωτήσεις & Ακραίες περιπτώσεις + +| Ερώτηση | Απάντηση | +|----------|--------| +| *Μπορώ να αποδώσω μια πλήρη ιστοσελίδα;* | Ναι—απλώς φορτώστε το URL με `new HTMLDocument("https://example.com")` αντί για κυριολεκτικό string. | +| *Τι γίνεται με εξωτερικό CSS ή εικόνες;* | Βεβαιωθείτε ότι είναι προσβάσιμα (απόλυτα URLs ή ενσωματωμένα base‑64). Το Aspose.HTML ακολουθεί redirects και μπορεί να φορτώσει απομακρυσμένους πόρους. | +| *Πρέπει να απελευθερώσω (dispose) αντικείμενα;* | Το `HTMLDocument` υλοποιεί το `IDisposable`. Τυλίξτε το σε ένα `using` block για κώδικα παραγωγής ώστε να ελευθερώνονται άμεσα οι εγγενείς πόροι. | +| *Πώς αλλάζω τη μορφή της εικόνας;* | Περάστε μια διαφορετική επέκταση αρχείου (`output.jpg`, `output.tiff`) στη μέθοδο `Save`; ο renderer επιλέγει τον κατάλληλο κωδικοποιητή. | +| *Τι γίνεται αν χρειάζομαι διαφανές φόντο;* | Ορίστε `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` πριν από την απόδοση. | + +## Συμβουλές για δημιουργία ακόμη υψηλότερης ποιότητας PNGs + +1. **Αυξήστε το DPI** – Ορίστε `imageOptions.Resolution = 300` για πόρους έτοιμους για εκτύπωση. +2. **Ορίστε ρητά το φόντο** – Ένα στερεό φόντο αποτρέπει ανεπιθύμητα προβλήματα διαφάνειας. +3. **Χρησιμοποιήστε web‑safe γραμματοσειρές** – Αν η μηχανή-στόχος δεν διαθέτει γραμματοσειρά, ενσωματώστε την μέσω `@font-face` στο HTML. + +## Επόμενα βήματα + +Τώρα που έχετε κατακτήσει το **create html document c#** και μπορείτε να **render html to png**, σκεφτείτε να εξερευνήσετε: + +- **Batch rendering** – Επανάληψη πάνω σε μια συλλογή HTML strings για παραγωγή μιας γκαλερί PNG. +- **PDF conversion** – Αντικαταστήστε το `ImageRenderer` με το `PdfRenderer` για λήψη PDF από την ίδια πηγή HTML. +- **Dynamic data** – Ενσωματώστε περιεχόμενο που προέρχεται από JSON στο HTML πριν την απόδοση, ιδανικό για δημιουργία αναφορών. + +Μη διστάσετε να πειραματιστείτε με διαφορετικά στυλ CSS, μεγαλύτερους καμβάδες ή ακόμη και γραφικά SVG. Η αλυσίδα παραμένει η ίδια, και το Aspose.HTML θα αναλάβει το βαρέως βάρους κομμάτι. + +--- + +*Καλό κώδικα! Αν αντιμετωπίσατε προβλήματα, αφήστε ένα σχόλιο παρακάτω και θα τα επιλύσουμε μαζί.* + +{{< /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 013b0ec4b..ece65a3ab 100644 --- a/html/greek/net/html-extensions-and-conversions/_index.md +++ b/html/greek/net/html-extensions-and-conversions/_index.md @@ -67,12 +67,16 @@ url: /el/net/html-extensions-and-conversions/ Ανακαλύψτε τη δύναμη του Aspose.HTML για .NET: Μετατρέψτε HTML σε XPS χωρίς κόπο. Περιλαμβάνονται προαπαιτούμενα, οδηγός βήμα προς βήμα και συχνές ερωτήσεις. ### [Πώς να συμπιέσετε HTML σε C# – Αποθήκευση HTML σε Zip](./how-to-zip-html-in-c-save-html-to-zip/) Μάθετε πώς να συμπιέσετε αρχεία HTML σε αρχείο ZIP χρησιμοποιώντας το Aspose.HTML για .NET σε C#. +### [Πώς να συμπιέσετε HTML σε C# – Εξαγωγή ιστοσελίδας σε ZIP με Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Μάθετε πώς να συμπιέσετε μια ιστοσελίδα HTML σε αρχείο ZIP χρησιμοποιώντας Aspose.HTML σε C#. ### [Δημιουργία εγγράφου HTML με μορφοποιημένο κείμενο και εξαγωγή σε PDF – Πλήρης οδηγός](./create-html-document-with-styled-text-and-export-to-pdf-full/) Μάθετε πώς να δημιουργήσετε ένα έγγραφο HTML με μορφοποιημένο κείμενο και να το εξάγετε σε PDF χρησιμοποιώντας το Aspose.HTML για .NET. ### [Αποθήκευση HTML ως ZIP – Πλήρης Εκπαιδευτικό C#](./save-html-as-zip-complete-c-tutorial/) Μάθετε πώς να αποθηκεύετε HTML σε αρχείο ZIP με C# και Aspose.HTML. ### [Αποθήκευση HTML σε ZIP σε C# – Πλήρες Παράδειγμα Εντός Μνήμης](./save-html-to-zip-in-c-complete-in-memory-example/) Μάθετε πώς να αποθηκεύετε HTML σε αρχείο ZIP με C# χρησιμοποιώντας πλήρες παράδειγμα εντός μνήμης. +### [Δημιουργία αρχείου HTML από DOCX – Οδηγός βήμα‑βήμα](./create-html-archive-from-docx-step-by-step-guide/) +Μάθετε πώς να δημιουργήσετε αρχείο HTML από έγγραφο DOCX χρησιμοποιώντας το Aspose.HTML για .NET, βήμα‑βήμα με παραδείγματα κώδικα. ## Σύναψη diff --git a/html/greek/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/greek/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..d56b63d09 --- /dev/null +++ b/html/greek/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,201 @@ +--- +category: general +date: 2026-03-20 +description: Δημιουργήστε αρχείο HTML από DOCX και δημιουργήστε αρχείο ZIP από έγγραφο + Word σε C#. Μάθετε τον πλήρη κώδικα, γιατί λειτουργεί και τις κοινές παγίδες. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: el +og_description: Δημιουργήστε αρχείο HTML από DOCX και δημιουργήστε αρχείο ZIP από + έγγραφο Word χρησιμοποιώντας το Aspose.Words. Πλήρης κώδικας, εξηγήσεις και συμβουλές. +og_title: Δημιουργία αρχείου HTML από DOCX – Πλήρες σεμινάριο C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Δημιουργία αρχείου HTML από DOCX – Οδηγός βήμα‑προς‑βήμα +url: /el/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Δημιουργία αρχείου HTML από DOCX – Πλήρης Εγχειρίδιο C# Tutorial + +Έχετε ποτέ χρειαστεί να **δημιουργήσετε αρχείο HTML από DOCX** αλλά δεν ήσασταν σίγουροι πώς να συσσωρεύσετε τα παραγόμενα αρχεία σε ένα ενιαίο πακέτο; Δεν είστε οι μόνοι. Είτε δημιουργείτε μια λειτουργία προεπισκόπησης στο web είτε εξάγετε έγγραφα για χρήση εκτός σύνδεσης, η μετατροπή ενός αρχείου Word σε ένα αυτόνομο HTML ZIP είναι μια συχνή απαίτηση. + +Σε αυτόν τον οδηγό θα περάσουμε βήμα‑βήμα τις ακριβείς ενέργειες για **δημιουργία αρχείου ZIP από έγγραφο Word** χρησιμοποιώντας το Aspose.Words for .NET, και θα εξηγήσουμε το «γιατί» πίσω από κάθε γραμμή ώστε να μπορείτε να προσαρμόσετε τη λύση στα δικά σας έργα. + +--- + +## Τι Θα Χρειαστεί + +- **Aspose.Words for .NET** (η τελευταία σταθερή έκδοση, π.χ., 24.10). Μπορείτε να το αποκτήσετε μέσω NuGet: `Install-Package Aspose.Words`. +- Ένα **.NET 6+** console ή web project – οποιοδήποτε περιβάλλον C# αρκεί. +- Ένα αρχείο Word εισόδου (`input.docx`) που βρίσκεται σε φάκελο που ελέγχετε. +- Βασικές γνώσεις C# – τίποτα περίπλοκο, απλώς η δυνατότητα εκτέλεσης μιας εφαρμογής console. + +Αυτό είναι όλο. Χωρίς επιπλέον βιβλιοθήκες, χωρίς περίπλοκες εντολές γραμμής εντολών. Έτοιμοι; Ας ξεκινήσουμε. + +--- + +## Βήμα 1 – Φόρτωση του Πηγαίου DOCX σε Αντικείμενο Document + +Πρώτα πρέπει να διαβάσουμε το αρχείο Word. Το Aspose.Words αφαιρεί την πολυπλοκότητα της μορφής αρχείου, παρέχοντάς σας ένα αντικείμενο `Document` με το οποίο μπορείτε να εργαστείτε ανεξάρτητα από το αν η πηγή είναι DOCX, DOC ή ακόμη και ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Γιατί είναι σημαντικό:** Η φόρτωση του αρχείου μία φορά στην αρχή διατηρεί τη χρήση μνήμης προβλέψιμη και σας επιτρέπει να επαναχρησιμοποιήσετε την παρουσία `doc` για πολλαπλές μορφές εξαγωγής αργότερα (PDF, PNG, κ.λπ.). Αν το αρχείο είναι τεράστιο, το Aspose.Words μεταδίδει τα δεδομένα αποδοτικά, ώστε να μην χρειάζεται να ανησυχείτε για σφάλματα έλλειψης μνήμης. + +--- + +## Βήμα 2 – Διαμόρφωση Επιλογών Αποθήκευσης HTML με Προεπιλεγμένο Χειρισμό Πόρων + +Όταν εξάγετε σε HTML, το Aspose.Words δημιουργεί όχι μόνο ένα αρχείο `.html` αλλά και έναν φάκελο πόρων (εικόνες, CSS, γραμματοσειρές). Από προεπιλογή αυτοί οι πόροι γράφονται στο σύστημα αρχείων, αλλά μπορούμε να πούμε στη βιβλιοθήκη να κρατά όλα στη μνήμη χρησιμοποιώντας ένα `ResourceHandler`. Αυτό είναι το κλειδί για τη δημιουργία ενός **HTML archive from DOCX** που μπορούμε αργότερα να συμπιέσουμε. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Γιατί να χρησιμοποιήσετε `ResourceHandler`;** Απομακρύνει τον προσωρινό φάκελο, πράγμα που σημαίνει ότι δεν θα αφήσετε ανεπιθύμητα αρχεία στο δίσκο. Ο χειριστής αποθηκεύει κάθε παραγόμενο πόρο ως `MemoryStream`, τον οποίο μπορούμε αργότερα να περάσουμε απευθείας σε ένα αρχείο ZIP – ιδανικό για web services που χρειάζονται να επιστρέψουν ένα ενιαίο πακέτο προς λήψη. + +--- + +## Βήμα 3 – Αποθήκευση του Εγγράφου και των Πόρων του σε Αρχείο ZIP + +Τώρα συμβαίνει η μαγεία. Ζητάμε από το Aspose.Words να αποθηκεύσει το έγγραφο με τις επιλογές που μόλις δημιουργήσαμε, και στη συνέχεια το συμπιέζουμε. Ο κώδικας παρακάτω χρησιμοποιεί το `System.IO.Compression` για να δημιουργήσει το τελικό `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Γιατί λειτουργεί:** Η κλήση `doc.Save(htmlOptions)` ενεργοποιεί τη δημιουργία του αρχείου HTML και όλων των σχετικών στοιχείων, τα οποία ο `ResourceHandler` καταγράφει στη μνήμη. Η βρόχος `foreach` στη συνέχεια διατρέχει κάθε καταγεγραμμένη είσοδο, γράφοντάς την στο `ZipArchive`. Το αποτέλεσμα είναι ένα ενιαίο `result.zip` που περιέχει το `document.html` καθώς και τυχόν εικόνες, CSS ή γραμματοσειρές που απαιτούνται για μια ακριβή απόδοση του αρχικού DOCX. + +--- + +## Συνηθισμένες Παραλλαγές & Ακραίες Περιπτώσεις + +### 1. Προσαρμογή του Ονόματος του Αρχείου HTML + +Αν θέλετε η σελίδα HTML να έχει συγκεκριμένο όνομα (π.χ., `preview.html`), ορίστε `htmlOptions.HtmlVersion = HtmlVersion.Html5;` και μετονομάστε την καταχώρηση όταν την προσθέτετε στο ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Διαχείριση Πολύ Μεγάλων Εγγράφων + +Για έγγραφα μεγαλύτερα από 100 MB, σκεφτείτε να μεταφέρετε το ZIP απευθείας στο ρεύμα απόκρισης (σε ASP.NET) αντί να το γράψετε πρώτα στο δίσκο. Αντικαταστήστε το `FileStream` με το ρεύμα σώματος της απόκρισης, και ο κώδικας παραμένει ίδιος. + +### 3. Εξαίρεση Ορισμένων Πόρων + +Αν δεν χρειάζεστε εικόνες (ίσως θέλετε μόνο HTML απλού κειμένου), ορίστε `htmlOptions.ExportImagesAsBase64 = true;` ή απενεργοποιήστε εντελώς την εξαγωγή εικόνων με `htmlOptions.ExportImages = false`. Ο `ResourceHandler` θα περιέχει τότε λιγότερες καταχωρήσεις, κάνοντας το ZIP μικρότερο. + +### 4. Προσθήκη Αρχείου Manifest + +Κάποιοι καταναλωτές αναμένουν ένα `manifest.json` που περιγράφει τα περιεχόμενα του αρχείου. Μπορείτε να το δημιουργήσετε άμεσα: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Συμβουλές & Προβλήματα + +- **Συμβουλή:** Πάντα απελευθερώνετε τα αντικείμενα `Document` και `ZipArchive` με μπλοκ `using`. Απελευθερώνει μη διαχειριζόμενους πόρους και αποτρέπει διαρροές χειριστών αρχείων. +- **Προσοχή:** Αν εκτελέσετε τον κώδικα πολλές φορές πάνω στο ίδιο `result.zip`, το αρχείο θα αντικατασταθεί. Προσθέστε χρονική σήμανση στο όνομα του αρχείου αν χρειάζεστε μοναδικά αρχεία. +- **Συμβουλή απόδοσης:** Ο `ResourceHandler` αποθηκεύει τα πάντα στη μνήμη, κάτι που είναι εντάξει για τα περισσότερα αρχεία (< 20 MB). Για τεράστια έγγραφα, μεταβείτε σε `FileSystemStorage` για να γράψετε προσωρινούς πόρους στο δίσκο πριν τη συμπίεση. +- **Σημείωση συμβατότητας:** Το παραγόμενο HTML είναι συμβατό με HTML5 και λειτουργεί σε σύγχρονα προγράμματα περιήγησης. Παλαιότερες εκδόσεις του IE μπορεί να χρειάζονται ετικέτα meta συμβατότητας, την οποία μπορείτε να εισάγετε μέσω `htmlOptions.PrependMetaTag`. + +--- + +## Αναμενόμενο Αποτέλεσμα + +Μετά την εκτέλεση του προγράμματος, θα βρείτε το `result.zip` στο `YOUR_DIRECTORY`. Ανοίξτε το ZIP – θα πρέπει να δείτε: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Ανοίξτε το `document.html` σε οποιονδήποτε περιηγητή και θα δείτε μια ακριβή οπτική αναπαράσταση του `input.docx`. Χωρίς ελλιπείς εικόνες, χωρίς σπασμένους συνδέσμους – το αρχείο είναι πραγματικά αυτόνομο. + + + +*Κείμενο alt εικόνας: «Διάγραμμα που δείχνει πώς να δημιουργήσετε HTML archive από DOCX και να δημιουργήσετε αρχείο ZIP από έγγραφο Word». * + +--- + +## Συμπέρασμα + +Μόλις καλύψαμε τη πλήρη διαδικασία για **create HTML archive from DOCX** και **generate ZIP file from a Word document** με το Aspose.Words σε C#. Ο οδηγός σας οδήγησε στη φόρτωση της πηγής, στη διαμόρφωση του χειρισμού πόρων στη μνήμη, και στη συσκευασία όλων σε ένα αρχείο zip έτοιμο για λήψη ή περαιτέρω επεξεργασία. + +Τώρα μπορείτε να ενσωματώσετε αυτό το κομμάτι κώδικα σε μεγαλύτερες εφαρμογές—web APIs, υπηρεσίες παρασκηνίου ή ακόμη και εργαλεία επιφάνειας εργασίας. Στη συνέχεια, δοκιμάστε να πειραματιστείτε με προσαρμοσμένο CSS, ενσωμάτωση γραμματοσειρών ή προσθήκη JSON manifest για πιο πλούσιες ενσωματώσεις. + +Αν αντιμετωπίσετε προβλήματα ή έχετε ιδέες για επεκτάσεις, αφήστε ένα σχόλιο παρακάτω. Καλό κώδικα! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/greek/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..f4b4d5cf4 --- /dev/null +++ b/html/greek/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-20 +description: Πώς να συμπιέσετε HTML σε C# χρησιμοποιώντας το Aspose.HTML – μάθετε + πώς να εξάγετε μια ιστοσελίδα, να κατεβάζετε τους πόρους της ιστοσελίδας και να + αποθηκεύετε το HTML ως zip γρήγορα. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: el +og_description: Πώς να συμπιέσετε HTML σε C# με το Aspose.HTML. Αυτό το σεμινάριο + σας δείχνει πώς να εξάγετε τους πόρους της ιστοσελίδας και να αποθηκεύσετε το HTML + ως zip σε λίγα εύκολα βήματα. +og_title: Πώς να συμπιέσετε HTML σε C# – Εξαγωγή ιστοσελίδας σε ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Πώς να συμπιέσετε HTML σε C# – Εξαγωγή ιστοσελίδας σε ZIP με το Aspose.HTML +url: /el/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Συμπιέσετε HTML σε C# – Εξαγωγή Ιστοσελίδας σε ZIP με Aspose.HTML + +Έχετε αναρωτηθεί ποτέ **πώς να συμπιέσετε HTML** απευθείας από την εφαρμογή σας C#; Δεν είστε μόνοι. Σε πολλά έργα χρειάζεται να **εξάγουμε το περιεχόμενο μιας ιστοσελίδας**, να πάρουμε κάθε εικόνα, CSS και script, και στη συνέχεια να τα συσκευάσουμε σε ένα ενιαίο αρχείο για χρήση εκτός σύνδεσης ή διανομή. + +Σε αυτόν τον οδηγό θα περάσουμε βήμα‑βήμα από ένα πλήρες, εκτελέσιμο παράδειγμα που δείχνει ακριβώς **πώς να συμπιέσετε HTML** χρησιμοποιώντας τη βιβλιοθήκη Aspose.HTML. Στο τέλος θα μπορείτε να **κατεβάσετε πόρους ιστοσελίδας**, να τους αποθηκεύσετε στη μνήμη και να **αποθηκεύσετε HTML ως zip** με λίγες μόνο γραμμές κώδικα. Χωρίς εξωτερικά εργαλεία, χωρίς χειροκίνητη διαχείριση αρχείων — μόνο καθαρός, προγραμματιστικός αυτοματισμός. + +## Προαπαιτήσεις + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τα παρακάτω: + +| Απαίτηση | Γιατί είναι σημαντικό | +|----------|------------------------| +| .NET 6.0 ή νεότερο (ή .NET Framework 4.6+) | Το Aspose.HTML υποστηρίζει και τα δύο, αλλά το πιο πρόσφατο runtime προσφέρει καλύτερη απόδοση. | +| Visual Studio 2022 (ή οποιοδήποτε IDE C#) | Ένας άνετος επεξεργαστής σας βοηθά να εντοπίζετε γρήγορα συντακτικά σφάλματα. | +| Aspose.HTML for .NET NuGet package | Η βιβλιοθήκη παρέχει τις κλάσεις `HTMLDocument`, `HTMLSaveOptions` και `ResourceHandler` που θα χρησιμοποιήσουμε. | +| Πρόσβαση στο Internet (για το URL προορισμού) | Θα φορτώσουμε μια ζωντανή σελίδα (`https://example.com`) για να δείξουμε **λήψη πόρων ιστοσελίδας**. | + +Μπορείτε να προσθέσετε το πακέτο Aspose.HTML μέσω του NuGet console: + +```powershell +Install-Package Aspose.HTML +``` + +Αυτό είναι όλο — δεν απαιτείται επιπλέον ρύθμιση. + +## Πώς να Συμπιέσετε HTML – Υλοποίηση Βήμα‑Βήμα + +Παρακάτω χωρίζουμε τη διαδικασία σε τέσσερα λογικά βήματα. Κάθε βήμα εξηγείται και ακολουθείται από τον ακριβή κώδικα που μπορείτε να αντιγράψετε‑επικολλήσετε. + +> **Pro tip:** Κρατήστε τον κώδικα σε ξεχωριστή βιβλιοθήκη κλάσεων αν σκοπεύετε να επαναχρησιμοποιήσετε τη λογική σε πολλά έργα. Κάνει τη δοκιμή και τη διαχείριση εκδόσεων παιχνιδάκι. + +### Βήμα 1: Δημιουργία Προσαρμοσμένου Διαχειριστή Πόρων + +Το πρώτο που χρειαζόμαστε είναι ένας τρόπος να παρεμβαίνουμε σε κάθε εξωτερικό πόρο (εικόνες, CSS, JS) που ζητά η σελίδα. Το Aspose.HTML μας επιτρέπει να συνδέσουμε έναν `ResourceHandler`. Στην περίπτωσή μας θα αποθηκεύουμε κάθε πόρο σε ένα `MemoryStream`, αλλά μπορείτε εύκολα να το αντικαταστήσετε με αποθήκευση στο σύστημα αρχείων ή σε cloud bucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Why this matters:* मेमोरी में डॉक्यूमेंट बनाकर हम फ़ाइल‑I/O ओवरहेड से बचते हैं और पूरी पाइपलाइन तेज़ रहती है। `` टैग सिर्फ एक प्लेसहोल्डर है—आप इसे किसी भी वैध HTML से बदल सकते हैं, जिसमें CSS, इमेजेज, या यहाँ तक कि JavaScript (यदि Aspose.HTML द्वारा सपोर्टेड हो) शामिल हैं। + +## Step 2: Define a Bold‑Italic Font with WebFontStyle + +यदि आप स्पष्ट, स्टाइलिश टेक्स्ट चाहते हैं, तो आपको रेंडरर को बताना होगा कि कौन सा फ़ॉन्ट और स्टाइल उपयोग करना है। `FontInfo` आपको `WebFontStyle` फ़्लैग्स को संयोजित करने देता है। + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Why this matters:* `WebFontStyle.Bold | WebFontStyle.Italic` का उपयोग करने से टेक्स्ट बिल्कुल “Hello world” जैसा बॉल्ड‑इटैलिक दिखेगा, जो ब्रांडिंग या UI मॉकअप के लिए **high quality png** जेनरेट करने में महत्वपूर्ण है। + +## Step 3: Apply the Font to the Paragraph + +अब हम `FontInfo` को पहले पैराग्राफ एलिमेंट पर लागू करते हैं। यह वही है जो आप ब्राउज़र के DevTools में करेंगे। + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* यदि आपके डॉक्यूमेंट में कई एलिमेंट्स हैं, तो आप DOM ट्री (`htmlDoc.QuerySelectorAll`) पर इटररेट करके फ़ॉन्ट को चयनात्मक रूप से असाइन कर सकते हैं। + +## Step 4: Enable Antialiasing for Smoother Raster Output + +एंटीएलियासिंग टेक्स्ट और शैप्स के किनारों को स्मूद करता है, जिससे जगरड पिक्सेल नहीं बनते। यह **render HTML to PNG** करने के लिए प्रोफेशनल उपयोग में अनिवार्य है। + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Step 5: Turn On Hinting for Sharper Text + +हिन्टिंग ग्लिफ़ आउटलाइन को पिक्सेल ग्रिड के साथ संरेखित करता है, जो छोटे फ़ॉन्ट साइज़ पर विशेष रूप से उपयोगी होता है। + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Step 6: Render and Save the PNG File + +अंत में हम सब कुछ `ImageRenderer` को सौंपते हैं। यह मेथड डॉक्यूमेंट, टार्गेट पाथ, और हमने बनाए हुए रेंडरिंग ऑप्शन्स लेता है। + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +जब कोड समाप्त हो जाएगा, तो आपको `output.png` `YOUR_DIRECTORY` में मिलेगा। इसे खोलें और आपको “Hello world” पैराग्राफ बॉल्ड‑इटैलिक Arial में, पूरी तरह एंटीएलियास्ड और हिन्टेड, एक **उच्च गुणवत्ता वाला PNG** दिखेगा, जो न्यूज़लेटर, थंबनेल, या किसी भी डाउनस्ट्रीम प्रोसेस के लिए तैयार है। + + + +*Why this works:* `ImageRenderer` लेआउट, CSS पार्सिंग, और रास्टराइज़ेशन की जटिलता को एब्स्ट्रैक्ट करता है, जिससे बाहरी टूल्स के बिना एक सच्चा **convert html to image** अनुभव मिलता है। + +## Full Working Example + +नीचे पूरा, कॉपी‑पेस्ट‑तैयार प्रोग्राम दिया गया है। यह .NET 6 पर कंपाइल होता है और एक ही बार में PNG बनाता है। + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Expected output:** एक फ़ाइल जिसका नाम `output.png` है और जिसमें वाक्य **Hello world** बॉल्ड‑इटैलिक Arial में, स्मूद एजेज़ और बिना किसी विज़ुअल आर्टिफैक्ट्स के दिखता है। + +## Common Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| *Can I render a full‑page website?* | हाँ—स्ट्रिंग लिटरल की बजाय `new HTMLDocument("https://example.com")` के साथ URL लोड करें। | +| *What about external CSS or images?* | सुनिश्चित करें कि वे पहुँच योग्य हों (एब्सोल्यूट URLs या एम्बेडेड base‑64)। Aspose.HTML रीडायरेक्ट्स फॉलो करता है और रिमोट रिसोर्सेज़ लोड कर सकता है। | +| *Do I need to dispose objects?* | `HTMLDocument` `IDisposable` को इम्प्लीमेंट करता है। प्रोडक्शन कोड में इसे `using` ब्लॉक में रैप करें ताकि नेटिव रिसोर्सेज़ तुरंत फ्री हो जाएँ। | +| *How do I change image format?* | `Save` को अलग फ़ाइल एक्सटेंशन (`output.jpg`, `output.tiff`) दें; रेंडरर उपयुक्त एन्कोडर चुन लेगा। | +| *What if I need a transparent background?* | रेंडरिंग से पहले `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` सेट करें। | + +## Tips for Generating Even Higher‑Quality PNGs + +1. **Increase DPI** – प्रिंट‑रेडी एसेट्स के लिए `imageOptions.Resolution = 300` सेट करें। +2. **Explicitly set background** – एक सॉलिड बैकग्राउंड अनपेक्षित ट्रांसपेरेंसी समस्याओं से बचाता है। +3. **Use web‑safe fonts** – यदि टार्गेट मशीन पर फ़ॉन्ट नहीं है, तो HTML में `@font-face` के माध्यम से इसे एम्बेड करें। + +## Next Steps + +अब जब आप **create html document c#** में माहिर हो गए हैं और **render html to png** कर सकते हैं, तो आगे देखें: + +- **Batch rendering** – HTML स्ट्रिंग्स के कलेक्शन पर लूप चलाकर PNG गैलरी बनाएं। +- **PDF conversion** – वही HTML स्रोत से PDF पाने के लिए `ImageRenderer` की जगह `PdfRenderer` उपयोग करें। +- **Dynamic data** – रेंडरिंग से पहले JSON‑ड्रिवन कंटेंट को HTML में इन्जेक्ट करें, रिपोर्ट जेनरेशन के लिए परफेक्ट। + +विभिन्न CSS स्टाइल्स, बड़े कैनवस, या यहाँ तक कि SVG ग्राफ़िक्स के साथ प्रयोग करने में संकोच न करें। पाइपलाइन वही रहती है, और Aspose.HTML भारी काम संभाल लेगा। + +--- + +*Happy coding! यदि आपको कोई समस्या आती है, तो नीचे कमेंट करें और हम साथ मिलकर ट्रबलशूट करेंगे।* + +{{< /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 45408d5a1..ca1afcd3f 100644 --- a/html/hindi/net/html-extensions-and-conversions/_index.md +++ b/html/hindi/net/html-extensions-and-conversions/_index.md @@ -30,7 +30,7 @@ HTML एक्सटेंशन डेवलपर्स के लिए ए ## Aspose.HTML के साथ आरंभ करें -क्या आप शुरू करने के लिए तैयार हैं? .NET के लिए Aspose.HTML ट्यूटोरियल शुरुआती और अनुभवी डेवलपर्स दोनों के लिए हैं। चाहे आप HTML एक्सटेंशन और रूपांतरणों के लिए नए हों या उन्नत युक्तियों की तलाश कर रहे हों, हमारे चरण-दर-चरण मार्गदर्शिकाएँ आपकी आवश्यकताओं के अनुरूप डिज़ाइन की गई हैं। +क्या आप शुरू करने के लिए तैयार हैं? .NET के लिए Aspose.HTML ट्यूटोरियल शुरुआती और अनुभवी डेवलपर्स दोनों के लिए हैं। चाहे आप HTML एक्सटेंशन और रूपांतरणों के लिए नए हों या उन्नत युक्तियों की तलाश कर रहे हों, हमारे चरण-दर-स्टेप मार्गदर्शिकाएँ आपकी आवश्यकताओं के अनुरूप डिज़ाइन की गई हैं। ## .NET के लिए Aspose.HTML क्यों? @@ -38,48 +38,49 @@ Aspose.HTML for .NET सिर्फ़ एक लाइब्रेरी न ## HTML एक्सटेंशन और रूपांतरण ट्यूटोरियल ### [Aspose.HTML के साथ .NET में HTML को PDF में बदलें](./convert-html-to-pdf/) -.NET के लिए Aspose.HTML के साथ HTML को PDF में आसानी से बदलें। हमारे चरण-दर-चरण गाइड का पालन करें और HTML-से-PDF रूपांतरण की शक्ति को प्राप्त करें। +.NET के लिए Aspose.HTML के साथ HTML को PDF में आसानी से बदलें। हमारे चरण-दर-स्टेप गाइड का पालन करें और HTML-से-PDF रूपांतरण की शक्ति को प्राप्त करें। ### [HTML से PDF बनाएं – C# चरण‑दर‑चरण गाइड](./create-pdf-from-html-c-step-by-step-guide/) C# में Aspose.HTML का उपयोग करके HTML को PDF में बदलने का चरण‑दर‑चरण मार्गदर्शन। ### [Aspose.HTML के साथ .NET में EPUB को छवि में बदलें](./convert-epub-to-image/) -.NET के लिए Aspose.HTML का उपयोग करके EPUB को छवियों में परिवर्तित करना सीखें। कोड उदाहरणों और अनुकूलन योग्य विकल्पों के साथ चरण-दर-चरण ट्यूटोरियल। +.NET के लिए Aspose.HTML का उपयोग करके EPUB को छवियों में परिवर्तित करना सीखें। कोड उदाहरणों और अनुकूलन योग्य विकल्पों के साथ चरण-दर-स्टेप ट्यूटोरियल। ### [Aspose.HTML के साथ .NET में EPUB को PDF में बदलें](./convert-epub-to-pdf/) -जानें कि .NET के लिए Aspose.HTML का उपयोग करके EPUB को PDF में कैसे बदलें। यह चरण-दर-चरण मार्गदर्शिका सहज दस्तावेज़ रूपांतरण के लिए अनुकूलन विकल्प, FAQ और बहुत कुछ शामिल करती है। +जानें कि .NET के लिए Aspose.HTML का उपयोग करके EPUB को PDF में कैसे बदलें। यह चरण-दर-स्टेप मार्गदर्शिका सहज दस्तावेज़ रूपांतरण के लिए अनुकूलन विकल्प, FAQ और बहुत कुछ शामिल करती है। ### [Aspose.HTML के साथ .NET में EPUB को XPS में बदलें](./convert-epub-to-xps/) -.NET के लिए Aspose.HTML का उपयोग करके .NET में EPUB को XPS में कैसे बदलें, यह जानें। सरल रूपांतरण के लिए हमारे चरण-दर-चरण मार्गदर्शिका का पालन करें। +.NET के लिए Aspose.HTML का उपयोग करके .NET में EPUB को XPS में कैसे बदलें, यह जानें। सरल रूपांतरण के लिए हमारे चरण-दर-स्टेप मार्गदर्शिका का पालन करें। ### [Aspose.HTML के साथ .NET में HTML को BMP में बदलें](./convert-html-to-bmp/) .NET के लिए Aspose.HTML का उपयोग करके .NET में HTML को BMP में कैसे बदलें, यह जानें। .NET के लिए Aspose.HTML का लाभ उठाने के लिए वेब डेवलपर्स के लिए व्यापक गाइड। ### [Aspose.HTML के साथ .NET में HTML को DOC और DOCX में बदलें](./convert-html-to-doc-docx/) -इस चरण-दर-चरण मार्गदर्शिका में .NET के लिए Aspose.HTML की शक्ति का उपयोग करना सीखें। HTML को DOCX में आसानी से बदलें और अपने .NET प्रोजेक्ट को बेहतर बनाएँ। आज ही शुरू करें! +इस चरण-दर-स्टेप मार्गदर्शिका में .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 की शक्ति का उपयोग करने के लिए चरण-दर-चरण मार्गदर्शिका। अपने वेब डेवलपमेंट कार्यों को आसानी से अनुकूलित करें। +.NET के लिए Aspose.HTML के साथ .NET में HTML को JPEG में बदलने का तरीका जानें। .NET के लिए Aspose.HTML की शक्ति का उपयोग करने के लिए चरण-दर-स्टेप मार्गदर्शिका। अपने वेब डेवलपमेंट कार्यों को आसानी से अनुकूलित करें। ### [Aspose.HTML के साथ .NET में HTML को Markdown में बदलें](./convert-html-to-markdown/) -कुशल सामग्री हेरफेर के लिए Aspose.HTML का उपयोग करके .NET में HTML को Markdown में परिवर्तित करना सीखें। सहज रूपांतरण प्रक्रिया के लिए चरण-दर-चरण मार्गदर्शन प्राप्त करें। +कुशल सामग्री हेरफेर के लिए Aspose.HTML का उपयोग करके .NET में HTML को Markdown में परिवर्तित करना सीखें। सहज रूपांतरण प्रक्रिया के लिए चरण-दर-स्टेप मार्गदर्शन प्राप्त करें। ### [Aspose.HTML के साथ .NET में HTML को MHTML में बदलें](./convert-html-to-mhtml/) -Aspose.HTML के साथ .NET में HTML को MHTML में बदलें - कुशल वेब सामग्री संग्रह के लिए चरण-दर-चरण मार्गदर्शिका। MHTML संग्रह बनाने के लिए .NET के लिए Aspose.HTML का उपयोग करना सीखें। +Aspose.HTML के साथ .NET में HTML को MHTML में बदलें - कुशल वेब सामग्री संग्रह के लिए चरण-दर-स्टेप मार्गदर्शिका। MHTML संग्रह बनाने के लिए .NET के लिए Aspose.HTML का उपयोग करना सीखें। ### [Aspose.HTML के साथ .NET में HTML को PNG में बदलें](./convert-html-to-png/) -जानें कि HTML दस्तावेज़ों में हेरफेर करने और उन्हें परिवर्तित करने के लिए .NET के लिए Aspose.HTML का उपयोग कैसे करें। प्रभावी .NET विकास के लिए चरण-दर-चरण मार्गदर्शिका। +जानें कि HTML दस्तावेज़ों में हेरफेर करने और उन्हें परिवर्तित करने के लिए .NET के लिए Aspose.HTML का उपयोग कैसे करें। प्रभावी .NET विकास के लिए चरण-दर-स्टेप मार्गदर्शिका। ### [Aspose.HTML के साथ .NET में HTML को TIFF में बदलें](./convert-html-to-tiff/) -.NET के लिए Aspose.HTML के साथ HTML को TIFF में कैसे बदलें, यह जानें। कुशल वेब सामग्री अनुकूलन के लिए हमारे चरण-दर-चरण मार्गदर्शिका का पालन करें। +.NET के लिए Aspose.HTML के साथ HTML को TIFF में कैसे बदलें, यह जानें। कुशल वेब सामग्री अनुकूलन के लिए हमारे चरण-दर-स्टेप मार्गदर्शिका का पालन करें। ### [Aspose.HTML के साथ .NET में HTML को XPS में बदलें](./convert-html-to-xps/) -.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को XPS में आसानी से बदलें। पूर्वापेक्षाएँ, चरण-दर-चरण मार्गदर्शिका और FAQ शामिल हैं। +.NET के लिए Aspose.HTML की शक्ति का पता लगाएं: HTML को XPS में आसानी से बदलें। पूर्वापेक्षाएँ, चरण-दर-स्टेप मार्गदर्शिका और FAQ शामिल हैं। + ### [HTML को ZIP के रूप में सहेजें – पूर्ण C# ट्यूटोरियल](./save-html-as-zip-complete-c-tutorial/) -HTML को ZIP फ़ाइल में सहेजने के चरण-दर-चरण मार्गदर्शन, C# कोड उदाहरण और अनुकूलन विकल्प। +HTML को ZIP फ़ाइल में सहेजने के चरण-दर-स्टेप मार्गदर्शन, C# कोड उदाहरण और अनुकूलन विकल्प। ### [C# में HTML को ज़िप कैसे करें – HTML को ज़िप में सहेजें](./how-to-zip-html-in-c-save-html-to-zip/) .NET के लिए Aspose.HTML का उपयोग करके C# में HTML को ज़िप फ़ाइल में सहेजने का तरीका सीखें। @@ -87,9 +88,16 @@ HTML को ZIP फ़ाइल में सहेजने के चरण- ### [स्टाइल्ड टेक्स्ट के साथ 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 शामिल हैं। + ### [C# में HTML को ZIP में सहेजें – पूर्ण इन‑मेमोरी उदाहरण](./save-html-to-zip-in-c-complete-in-memory-example/) C# में इन‑मेमोरी में HTML को ZIP फ़ाइल में सहेजने का पूरा उदाहरण देखें। +### [C# में HTML को ज़िप कैसे करें – Aspose.HTML के साथ वेबपेज को ZIP में निर्यात करें](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +C# में Aspose.HTML का उपयोग करके वेबपेज को ZIP फ़ाइल में निर्यात करने का चरण‑दर‑स्टेप मार्गदर्शन। + +### [DOCX से HTML आर्काइव बनाएं – चरण‑दर‑चरण गाइड](./create-html-archive-from-docx-step-by-step-guide/) +DOCX फ़ाइल को HTML आर्काइव में बदलने के चरण‑दर‑स्टेप मार्गदर्शन। Aspose.HTML for .NET का उपयोग करके आसान रूपांतरण सीखें। + ## निष्कर्ष निष्कर्ष में, HTML एक्सटेंशन और रूपांतरण आधुनिक वेब विकास के आवश्यक तत्व हैं। .NET के लिए Aspose.HTML प्रक्रिया को सरल बनाता है और इसे सभी स्तरों के डेवलपर्स के लिए सुलभ बनाता है। हमारे ट्यूटोरियल का पालन करके, आप एक व्यापक कौशल सेट के साथ एक कुशल वेब डेवलपर बनने के अपने रास्ते पर अच्छी तरह से आगे बढ़ेंगे। diff --git a/html/hindi/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/hindi/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..ed1da6ba4 --- /dev/null +++ b/html/hindi/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: DOCX से HTML आर्काइव बनाएं और C# में Word दस्तावेज़ से ZIP फ़ाइल उत्पन्न + करें। पूर्ण कोड, इसका काम करने का कारण, और सामान्य समस्याओं के बारे में जानें। +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: hi +og_description: Aspose.Words का उपयोग करके DOCX से HTML आर्काइव बनाएं और Word दस्तावेज़ + से ZIP फ़ाइल उत्पन्न करें। पूर्ण कोड, व्याख्याएँ और टिप्स। +og_title: DOCX से HTML आर्काइव बनाएं – पूर्ण C# ट्यूटोरियल +tags: +- Aspose.Words +- C# +- Document Processing +title: DOCX से HTML आर्काइव बनाएं – चरण-दर-चरण मार्गदर्शिका +url: /hi/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Create HTML archive from DOCX – Complete C# Tutorial + +क्या आपको कभी **DOCX से HTML आर्काइव बनाना** पड़ा है लेकिन यह नहीं पता था कि उत्पन्न फ़ाइलों को एक ही पैकेज में कैसे बंडल किया जाए? आप अकेले नहीं हैं। चाहे आप वेब प्रीव्यू फ़ीचर बना रहे हों या ऑफ़लाइन उपयोग के लिए दस्तावेज़ एक्सपोर्ट कर रहे हों, Word फ़ाइल को एक स्व-निहित HTML ZIP में बदलना एक सामान्य आवश्यकता है। + +इस गाइड में हम **Aspose.Words for .NET** का उपयोग करके **Word दस्तावेज़ से ZIP फ़ाइल जेनरेट करने** के सटीक चरणों को दिखाएंगे, और प्रत्येक लाइन के पीछे का “क्यों” समझाएंगे ताकि आप इस समाधान को अपने प्रोजेक्ट्स में अनुकूलित कर सकें। + +--- + +## What You’ll Need + +शुरू करने से पहले सुनिश्चित करें कि आपके पास है: + +- **Aspose.Words for .NET** (नवीनतम स्थिर संस्करण, उदाहरण : 24.10)। आप इसे NuGet से प्राप्त कर सकते हैं: `Install-Package Aspose.Words`। +- एक **.NET 6+** कंसोल या वेब प्रोजेक्ट – कोई भी C# वातावरण चलेगा। +- एक इनपुट Word फ़ाइल (`input.docx`) जो आपके कंट्रोल में किसी फ़ोल्डर में रखी हो। +- बेसिक C# ज्ञान – कोई खास नहीं, बस एक कंसोल ऐप चलाने की क्षमता। + +बस इतना ही। कोई अतिरिक्त लाइब्रेरी नहीं, कोई जटिल कमांड‑लाइन ट्रिक्स नहीं। तैयार हैं? चलिए शुरू करते हैं। + +--- + +## Step 1 – Load the Source DOCX into a Document Object + +सबसे पहले हमें Word फ़ाइल पढ़नी होगी। Aspose.Words फ़ाइल फ़ॉर्मेट को एब्स्ट्रैक्ट करता है, जिससे आपको एक `Document` ऑब्जेक्ट मिलता है जिससे आप फ़ाइल फ़ॉर्मेट (DOCX, DOC, या ODT) की परवाह किए बिना काम कर सकते हैं। + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Why this matters:** फ़ाइल को ऊपर एक बार लोड करने से मेमोरी उपयोग पूर्वानुमेय रहता है और आप बाद में `doc` इंस्टेंस को कई एक्सपोर्ट फ़ॉर्मेट (PDF, PNG, आदि) के लिए पुन: उपयोग कर सकते हैं। यदि फ़ाइल बड़ी है, तो Aspose.Words डेटा को कुशलता से स्ट्रीम करता है, इसलिए आपको मेमोरी‑ओवरफ़्लो की चिंता नहीं करनी पड़ेगी। + +--- + +## Step 2 – Configure HTML Save Options with Default Resource Handling + +जब आप HTML में एक्सपोर्ट करते हैं, तो Aspose.Words न केवल एक `.html` फ़ाइल बनाता है बल्कि इमेज, CSS, फ़ॉन्ट आदि की एक फ़ोल्डर भी बनाता है। डिफ़ॉल्ट रूप से ये रिसोर्सेज फ़ाइल सिस्टम में लिखे जाते हैं, लेकिन हम लाइब्रेरी को `ResourceHandler` के माध्यम से सब कुछ मेमोरी में रखने के लिए कह सकते हैं। यह **DOCX से HTML आर्काइव** बनाने की कुंजी है, जिसे बाद में ज़िप किया जा सके। + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Why use `ResourceHandler`?** यह अस्थायी फ़ोल्डर को एब्स्ट्रैक्ट कर देता है, जिससे डिस्क पर अनावश्यक फ़ाइलें नहीं बचतीं। हैंडलर प्रत्येक जेनरेटेड रिसोर्स को `MemoryStream` के रूप में स्टोर करता है, जिसे हम बाद में सीधे ZIP आर्काइव में फीड कर सकते हैं – वेब सर्विसेज़ के लिए एक ही डाउनलोडेबल पैकेज लौटाने में यह परफ़ेक्ट है। + +--- + +## Step 3 – Save the Document and Its Resources into a ZIP Archive + +अब जादू होता है। हम Aspose.Words को उन विकल्पों के साथ डॉक्यूमेंट सेव करने के लिए कहते हैं जो हमने अभी बनाए, फिर सब कुछ ज़िप कर देते हैं। नीचे दिया गया कोड `System.IO.Compression` का उपयोग करके अंतिम `result.zip` बनाता है। + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Why this works:** `doc.Save(htmlOptions)` HTML फ़ाइल और सभी संबंधित एसेट्स जेनरेट करता है, जिसे `ResourceHandler` मेमोरी में कैप्चर करता है। `foreach` लूप फिर प्रत्येक कैप्चर की गई एंट्री को `ZipArchive` में लिखता है। परिणामस्वरूप एक सिंगल `result.zip` मिलता है जिसमें `document.html` के साथ सभी इमेज, CSS, या फ़ॉन्ट्स होते हैं, जो मूल DOCX की सटीक रेंडरिंग के लिए आवश्यक हैं। + +--- + +## Common Variations & Edge Cases + +### 1. Customizing the HTML File Name + +यदि आप HTML पेज का नाम विशेष रखना चाहते हैं (जैसे `preview.html`), तो `htmlOptions.HtmlVersion = HtmlVersion.Html5;` सेट करें और ज़िप में जोड़ते समय एंट्री का नाम बदलें: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Handling Very Large Documents + +यदि दस्तावेज़ 100 MB से बड़ा है, तो ZIP को सीधे रिस्पॉन्स स्ट्रीम (ASP.NET में) में स्ट्रीम करने पर विचार करें, डिस्क पर पहले लिखने की बजाय। `FileStream` को रिस्पॉन्स बॉडी स्ट्रीम से बदलें, और कोड वही रहेगा। + +### 3. Excluding Certain Resources + +यदि आपको इमेज की ज़रूरत नहीं है (शायद आप केवल प्लेन‑टेक्स्ट HTML चाहते हैं), तो `htmlOptions.ExportImagesAsBase64 = true;` सेट करें या पूरी तरह इमेज एक्सपोर्ट को डिसेबल करने के लिए `htmlOptions.ExportImages = false;` उपयोग करें। `ResourceHandler` तब कम एंट्रीज़ रखेगा, जिससे ZIP छोटा होगा। + +### 4. Adding a Manifest File + +कुछ कंज्यूमर्स एक `manifest.json` की अपेक्षा करते हैं जो आर्काइव की सामग्री का वर्णन करता है। आप इसे ऑन‑द‑फ़्लाई बना सकते हैं: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Pro Tips & Gotchas + +- **Pro tip:** हमेशा `Document` और `ZipArchive` ऑब्जेक्ट्स को `using` ब्लॉक्स के साथ डिस्पोज़ करें। यह अनमैनेज्ड रिसोर्सेज़ को फ्री करता है और फ़ाइल‑हैंडल लीक से बचाता है। +- **Watch out for:** यदि आप एक ही `result.zip` पर कई बार कोड चलाते हैं, तो फ़ाइल ओवरराइट हो जाएगी। यदि आपको यूनिक आर्काइव चाहिए तो फ़ाइल नाम में टाइमस्टैम्प जोड़ें। +- **Performance tip:** `ResourceHandler` सब कुछ मेमोरी में रखता है, जो अधिकांश फ़ाइलों (< 20 MB) के लिए ठीक है। बहुत बड़े डॉक्यूमेंट्स के लिए `FileSystemStorage` पर स्विच करें ताकि अस्थायी रिसोर्सेज़ डिस्क पर लिखे जाएँ और फिर ज़िप किया जाए। +- **Compatibility note:** जेनरेटेड HTML HTML5‑कम्प्लायंट है और आधुनिक ब्राउज़र्स में काम करता है। पुराने IE वर्ज़न को एक कम्पैटिबिलिटी मेटा टैग की ज़रूरत पड़ सकती है, जिसे आप `htmlOptions.PrependMetaTag` के ज़रिए इंजेक्ट कर सकते हैं। + +--- + +## Expected Result + +प्रोग्राम चलाने के बाद, आपको `YOUR_DIRECTORY` में `result.zip` मिलेगा। ZIP खोलें – आपको यह दिखना चाहिए: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +`document.html` को किसी भी ब्राउज़र में खोलें और आपको `input.docx` की एक सटीक विज़ुअल रेप्लिका दिखेगी। कोई इमेज मिसिंग नहीं, कोई ब्रोकन लिंक नहीं – आर्काइव पूरी तरह से स्व‑निहित है। + +--- + + + +*Image alt text: "DOCX से HTML आर्काइव बनाकर ZIP फ़ाइल बनाने की प्रक्रिया को दर्शाता आरेख"* + +--- + +## Conclusion + +हमने **DOCX से HTML आर्काइव बनाना** और **Word दस्तावेज़ से ZIP फ़ाइल जेनरेट करना** Aspose.Words के साथ C# में पूरी प्रक्रिया को कवर किया। ट्यूटोरियल ने आपको स्रोत लोड करने, इन‑मेमोरी रिसोर्स हैंडलिंग कॉन्फ़िगर करने, और सब कुछ एक डाउनलोडेबल ज़िप आर्काइव में पैकेज करने के चरण दिखाए। + +अब आप इस स्निपेट को बड़े एप्लिकेशन्स—वेब APIs, बैकग्राउंड सर्विसेज़, या डेस्कटॉप टूल्स—में एम्बेड कर सकते हैं। अगला कदम: कस्टम CSS के साथ प्रयोग करें, फ़ॉन्ट एम्बेड करें, या रिच इंटीग्रेशन के लिए JSON मैनिफेस्ट जोड़ें। + +यदि आपको कोई समस्या आती है या आपके पास एक्सटेंशन आइडिया हैं, तो नीचे कमेंट करें। Happy coding! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/hindi/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..8c99003c2 --- /dev/null +++ b/html/hindi/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-20 +description: C# में Aspose.HTML का उपयोग करके HTML को ज़िप कैसे करें – वेबपेज निर्यात + करना, वेबपेज संसाधनों को डाउनलोड करना, और HTML को जल्दी से ज़िप के रूप में सहेजना + सीखें। +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: hi +og_description: C# में Aspose.HTML के साथ HTML को ज़िप कैसे करें। यह ट्यूटोरियल आपको + दिखाता है कि वेबपेज संसाधनों को कैसे निर्यात करें और कुछ आसान चरणों में HTML को + ज़िप के रूप में सहेजें। +og_title: C# में HTML को ज़िप कैसे करें – वेबपेज को ज़िप में निर्यात करें +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: C# में HTML को ज़िप कैसे करें – Aspose.HTML के साथ वेबपेज को ZIP में निर्यात + करें +url: /hi/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में HTML को ज़िप कैसे करें – Aspose.HTML के साथ वेबपेज को ZIP में एक्सपोर्ट करें + +क्या आपने कभी सोचा है **how to zip HTML** को सीधे अपने C# एप्लिकेशन से? आप अकेले नहीं हैं। कई प्रोजेक्ट्स में हमें **export webpage** सामग्री की आवश्यकता होती है, हर इमेज, CSS, और स्क्रिप्ट को पकड़ना, फिर इसे एक सिंगल आर्काइव में बंडल करना होता है ऑफलाइन उपयोग या वितरण के लिए। + +इस गाइड में हम एक पूर्ण, रन करने योग्य उदाहरण के माध्यम से दिखाएंगे कि **how to zip HTML** को Aspose.HTML लाइब्रेरी का उपयोग करके कैसे किया जाता है। अंत तक आप **download webpage resources** को मेमोरी में स्टोर कर पाएँगे, और केवल कुछ लाइनों के कोड से **save HTML as zip** कर पाएँगे। कोई बाहरी टूल नहीं, कोई मैन्युअल फ़ाइल जुगलबंदी नहीं—सिर्फ साफ़, प्रोग्रामेटिक ऑटोमेशन। + +## आवश्यकताएँ + +शुरू करने से पहले सुनिश्चित करें कि आपके पास निम्नलिखित उपलब्ध हैं: + +| आवश्यकता | क्यों महत्वपूर्ण है | +|-------------|----------------| +| .NET 6.0 या बाद का (या .NET Framework 4.6+) | Aspose.HTML दोनों को सपोर्ट करता है, लेकिन नवीनतम रनटाइम बेहतर प्रदर्शन देता है। | +| Visual Studio 2022 (या कोई भी C# IDE) | एक सुविधाजनक एडिटर आपको सिंटैक्स त्रुटियों को जल्दी पहचानने में मदद करता है। | +| Aspose.HTML for .NET NuGet पैकेज | यह लाइब्रेरी `HTMLDocument`, `HTMLSaveOptions`, और `ResourceHandler` क्लासेज़ प्रदान करती है जिन्हें हम उपयोग करेंगे। | +| इंटरनेट एक्सेस (टार्गेट URL के लिए) | हम एक लाइव पेज (`https://example.com`) लोड करेंगे ताकि **download webpage resources** को दर्शाया जा सके। | + +आप NuGet कंसोल के माध्यम से Aspose.HTML पैकेज जोड़ सकते हैं: + +```powershell +Install-Package Aspose.HTML +``` + +बस इतना ही—कोई अतिरिक्त कॉन्फ़िगरेशन आवश्यक नहीं। + +## HTML को ज़िप करने का चरण‑दर‑चरण कार्यान्वयन + +नीचे हम प्रक्रिया को चार तार्किक चरणों में विभाजित करते हैं। प्रत्येक चरण की व्याख्या की गई है, उसके बाद वह सटीक कोड दिया गया है जिसे आप कॉपी‑पेस्ट कर सकते हैं। + +> **Pro tip:** यदि आप लॉजिक को कई प्रोजेक्ट्स में पुन: उपयोग करने की योजना बनाते हैं तो कोड को एक अलग क्लास लाइब्रेरी में रखें। इससे टेस्टिंग और वर्ज़निंग आसान हो जाता है। + +### चरण 1: एक कस्टम रिसोर्स हैंडलर बनाएं + +पहली चीज़ जो हमें चाहिए वह है हर बाहरी रिसोर्स (इमेज, CSS, JS) को इंटरसेप्ट करने का तरीका जो पेज अनुरोध करता है। Aspose.HTML हमें `ResourceHandler` प्लग‑इन करने की अनुमति देता है। हमारे केस में हम प्रत्येक रिसोर्स को `MemoryStream` में स्टोर करेंगे, लेकिन आप इसे आसानी से फ़ाइल‑सिस्टम स्टोरेज या क्लाउड बकेट में बदल सकते हैं। + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Why this matters:* 透過在記憶體中建立文件,我們避免了檔案 I/O 的開銷,讓整個流程保持快速。`` 標籤僅作為佔位符——您可以替換成任何有效的 HTML,包括 CSS、圖片,甚至是 JavaScript(只要 Aspose.HTML 支援即可)。 + +## 步驟 2:使用 WebFontStyle 定義粗斜體字型 + +如果想要字體清晰且具風格,必須告訴渲染器使用哪種字型與樣式。`FontInfo` 允許您組合 `WebFontStyle` 旗標。 + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Why this matters:* 使用 `WebFontStyle.Bold | WebFontStyle.Italic` 可確保文字呈現為粗斜體「Hello world」,這在之後 **generate high quality png** 用於品牌或 UI 模型時相當關鍵。 + +## 步驟 3:將字型套用至段落 + +現在我們把 `FontInfo` 套用到第一個段落元素。這與在瀏覽器的 DevTools 中的操作相同。 + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* 若文件中有多個元素,您可以使用 `htmlDoc.QuerySelectorAll` 遍歷 DOM 樹,並有選擇性地指派字型。 + +## 步驟 4:啟用抗鋸齒以產生更平滑的點陣輸出 + +抗鋸齒會平滑文字與圖形的邊緣,避免出現鋸齒狀像素。這是 **render HTML to PNG** 時的必備設定。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## 步驟 5:開啟 Hinting 以獲得更銳利的文字 + +Hinting 會調整字形輪廓,使其對齊像素格,特別在小字體尺寸時非常有用。 + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## 步驟 6:渲染並儲存 PNG 檔案 + +最後,我們將所有設定交給 `ImageRenderer`。此方法接受文件、目標路徑以及先前建立的渲染選項。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +程式執行完畢後,您會在 `YOUR_DIRECTORY` 中看到 `output.png`。開啟它,您應該會看到「Hello world」段落以粗斜體 Arial 呈現,且已完全抗鋸齒與 hinting——一個 **high quality PNG**,適用於電子報、縮圖或任何後續流程。 + + + +*Why this works:* `ImageRenderer` 把版面配置、CSS 解析與點陣化的繁重工作抽象化,提供真正的 **convert html to image** 體驗,無需外部工具。 + +## 完整範例程式 + +以下是可直接複製貼上的完整程式。它在 .NET 6 下編譯,並一次產生 PNG。 + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Expected output:** 產生一個名為 `output.png` 的檔案,顯示 **Hello world** 以粗斜體 Arial、平滑邊緣且無視覺雜訊。 + +## 常見問題與特殊情況 + +| 問題 | 答案 | +|----------|--------| +| *我可以渲染整頁網站嗎?* | 可以——只要使用 `new HTMLDocument("https://example.com")` 取代字串常值,即可載入完整 URL。 | +| *外部 CSS 或圖片該怎麼處理?* | 確保它們可被存取(使用絕對 URL 或內嵌 base‑64)。Aspose.HTML 會遵循重新導向並載入遠端資源。 | +| *需要手動釋放物件嗎?* | `HTMLDocument` 實作 `IDisposable`。在正式程式碼中建議使用 `using` 區塊,以即時釋放原生資源。 | +| *如何變更圖像格式?* | 在 `Save` 時傳入不同的副檔名(例如 `output.jpg`、`output.tiff`),渲染器會自動選擇相應的編碼器。 | +| *如果需要透明背景該怎麼做?* | 在渲染前設定 `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` 即可。 | + +## 提升 PNG 品質的進階技巧 + +1. **Increase DPI** – 設定 `imageOptions.Resolution = 300` 以產生適合列印的資產。 +2. **Explicitly set background** – 使用實色背景可避免不預期的透明問題。 +3. **Use web‑safe fonts** – 若目標機器缺少字型,可在 HTML 中透過 `@font-face` 內嵌字型。 + +## 後續步驟 + +既然您已掌握 **create html document c#** 並能 **render html to png**,不妨進一步探索: + +- **Batch rendering** – 迭代一系列 HTML 字串,產生 PNG 圖庫。 +- **PDF conversion** – 將 `ImageRenderer` 換成 `PdfRenderer`,即可從相同的 HTML 產生 PDF。 +- **Dynamic data** – 在渲染前將 JSON 驅動的內容注入 HTML,十分適合報表產生。 + +歡迎隨意嘗試不同的 CSS 樣式、更大的畫布,甚至是 SVG 圖形。流程保持不變,Aspose.HTML 會負責所有繁重的工作。 + +--- + +*Happy coding! If you ran into any snags, drop a comment below and we’ll troubleshoot together.* + +{{< /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 3d146ada2..5ef5b4788 100644 --- a/html/hongkong/net/html-extensions-and-conversions/_index.md +++ b/html/hongkong/net/html-extensions-and-conversions/_index.md @@ -73,6 +73,10 @@ Aspose.HTML for .NET 不只是一個函式庫;它還是一個函式庫。它 使用 Aspose.HTML for .NET 將 HTML 文件壓縮為 ZIP 檔案,提供完整的 C# 範例與步驟說明。 ### [在 C# 中將 HTML 儲存為 ZIP – 完整的記憶體內示例](./save-html-to-zip-in-c-complete-in-memory-example/) 示範如何在 C# 中使用 Aspose.HTML 將 HTML 內容直接壓縮成 ZIP 檔案,全部在記憶體中完成。 +### [如何在 C# 中壓縮 HTML – 使用 Aspose.HTML 將網頁匯出為 ZIP](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +使用 Aspose.HTML for .NET 在 C# 中將整個網頁壓縮為 ZIP 檔案,示範完整步驟與程式碼範例。 +### [從 DOCX 建立 HTML 存檔 – 完整步驟指南](./create-html-archive-from-docx-step-by-step-guide/) +使用 Aspose.HTML for .NET,將 DOCX 檔案轉換為 HTML 存檔的完整步驟說明與範例。 ## 結論 diff --git a/html/hongkong/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/hongkong/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..c66116b2f --- /dev/null +++ b/html/hongkong/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-20 +description: 在 C# 中從 DOCX 建立 HTML 壓縮檔,並將 Word 文件產生成 ZIP 檔。了解完整程式碼、運作原理以及常見陷阱。 +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: zh-hant +og_description: 使用 Aspose.Words 從 DOCX 建立 HTML 壓縮檔,並從 Word 文件產生 ZIP 檔案。完整程式碼、說明與技巧。 +og_title: 從 DOCX 產生 HTML 檔案 – 完整 C# 教學 +tags: +- Aspose.Words +- C# +- Document Processing +title: 從 DOCX 建立 HTML 檔案 – 一步一步教學 +url: /zh-hant/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 DOCX 建立 HTML 壓縮檔 – 完整 C# 教學 + +是否曾需要 **從 DOCX 建立 HTML 壓縮檔**,卻不確定要如何把產生的檔案打包成單一檔案?你並不是唯一有此需求的人。無論是要建置網頁預覽功能,或是將文件匯出供離線使用,將 Word 檔案轉換成自包含的 HTML ZIP 是常見需求。 + +在本指南中,我們將一步步說明 **使用 Aspose.Words for .NET 從 Word 文件產生 ZIP 檔** 的完整流程,並解釋每一行程式碼背後的「為什麼」,讓你能將此解決方案套用到自己的專案。 + +--- + +## 需要的前置條件 + +在開始之前,請先確認你已具備: + +- **Aspose.Words for .NET**(最新穩定版,例如 24.10)。可透過 NuGet 取得:`Install-Package Aspose.Words`。 +- **.NET 6+** 的主控台或 Web 專案 – 任何 C# 環境皆可。 +- 一個放在可自行管理資料夾中的 Word 檔(`input.docx`)。 +- 基本的 C# 知識 – 不需要高階技巧,只要能執行主控台應用程式即可。 + +就這些。無需額外函式庫,也不需要繁雜的指令列技巧。準備好了嗎?讓我們開始吧。 + +--- + +## 第一步 – 將來源 DOCX 載入為 Document 物件 + +首先必須讀取 Word 檔。Aspose.Words 會抽象化檔案格式,讓你得到一個 `Document` 物件,無論來源是 DOCX、DOC,甚至 ODT,都可以直接操作。 + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**為什麼這很重要:** 在程式開頭一次載入檔案,可讓記憶體使用量保持可預測,且之後可以重複使用 `doc` 實例來匯出其他格式(PDF、PNG 等)。若檔案很大,Aspose.Words 會有效率地串流資料,避免記憶體不足的崩潰。 + +--- + +## 第二步 – 使用預設資源處理方式設定 HTML 儲存選項 + +匯出為 HTML 時,Aspose.Words 會產生 `.html` 檔案以及一個包含資源(圖片、CSS、字型)的資料夾。預設情況下這些資源會寫入檔案系統,但我們可以透過 `ResourceHandler` 讓程式庫將所有內容保留在記憶體中,這正是稍後壓縮成 **HTML 壓縮檔** 的關鍵。 + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**為什麼要使用 `ResourceHandler`?** 它會抽象掉暫存資料夾,避免在磁碟上留下零碎檔案。此處理器會把每個產生的資源存成 `MemoryStream`,之後即可直接寫入 ZIP 壓縮檔,非常適合需要回傳單一可下載套件的 Web 服務。 + +--- + +## 第三步 – 將文件與資源儲存至 ZIP 壓縮檔 + +現在魔法發生了。我們使用剛才建立的選項讓 Aspose.Words 儲存文件,接著把所有內容壓縮。以下程式碼使用 `System.IO.Compression` 產生最終的 `result.zip`。 + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**為什麼這樣可行:** `doc.Save(htmlOptions)` 會觸發 HTML 檔與所有相關資產的產生,而 `ResourceHandler` 會在記憶體中捕捉這些資源。`foreach` 迴圈隨後將每個捕捉到的條目寫入 `ZipArchive`。最終得到的 `result.zip` 包含 `document.html` 以及所有必要的圖片、CSS、字型,確保能忠實還原原始 DOCX。 + +--- + +## 常見變形與例外情況 + +### 1. 自訂 HTML 檔案名稱 + +若想讓 HTML 頁面使用特定名稱(例如 `preview.html`),可設定 `htmlOptions.HtmlVersion = HtmlVersion.Html5;`,並在加入 ZIP 時重新命名條目: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. 處理極大型文件 + +對於超過 100 MB 的文件,建議直接將 ZIP 串流寫入回應串流(在 ASP.NET 中),而非先寫入磁碟。只要把 `FileStream` 換成回應的 Body Stream,程式碼即可保持不變。 + +### 3. 排除特定資源 + +若不需要圖片(只想要純文字 HTML),可設定 `htmlOptions.ExportImagesAsBase64 = true;`,或完全停用圖片匯出 `htmlOptions.ExportImages = false;`。此時 `ResourceHandler` 內的條目會減少,ZIP 檔也會更小。 + +### 4. 加入 Manifest 檔案 + +有些使用者會期待一個 `manifest.json` 來描述壓縮檔內容。你可以即時產生它: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## 專業提示與常見陷阱 + +- **專業提示:** 使用 `using` 區塊確保 `Document` 與 `ZipArchive` 物件皆被正確釋放,避免未釋放的非受控資源與檔案句柄泄漏。 +- **注意事項:** 若多次執行程式寫入同一個 `result.zip`,檔案會被覆寫。若需要唯一檔名,可在檔名加入時間戳記。 +- **效能提示:** `ResourceHandler` 會把所有內容保存在記憶體中,對大多數檔案(< 20 MB)而言沒問題。若處理極巨檔,改用 `FileSystemStorage`,先把暫存資源寫到磁碟再壓縮。 +- **相容性說明:** 產生的 HTML 為 HTML5 標準,能在現代瀏覽器順利顯示。舊版 IE 可能需要相容性 meta 標籤,可透過 `htmlOptions.PrependMetaTag` 注入。 + +--- + +## 預期結果 + +執行程式後,你會在 `YOUR_DIRECTORY` 中看到 `result.zip`。解壓縮後應看到: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +打開 `document.html`,於任意瀏覽器檢視,即可看到與 `input.docx` 完全相同的視覺呈現。圖片完整、連結不會斷裂——壓縮檔是真正的自包含。 + +--- + + + +*圖片替代文字:「說明如何從 DOCX 建立 HTML 壓縮檔,並將 Word 文件產生 ZIP 檔的流程圖。」* + +--- + +## 結語 + +我們剛剛完整說明了如何使用 Aspose.Words 在 C# 中 **從 DOCX 建立 HTML 壓縮檔** 並 **產生 Word 文件的 ZIP 檔**。本教學帶你走過載入來源、設定記憶體內資源處理,以及將所有內容打包成可下載的 ZIP 壓縮檔。 + +現在,你可以把這段程式碼嵌入更大的應用程式——Web API、背景服務,甚至桌面工具。接下來可以嘗試自訂 CSS、嵌入字型,或加入 JSON manifest 以實作更豐富的整合。 + +如果在實作過程中遇到問題,或有想法想分享,歡迎在下方留言。祝開發順利! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/hongkong/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..b5f73f786 --- /dev/null +++ b/html/hongkong/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-20 +description: 如何在 C# 中使用 Aspose.HTML 壓縮 HTML 為 ZIP – 學習如何匯出網頁、下載網頁資源,並快速將 HTML 儲存為 + ZIP。 +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: zh-hant +og_description: 如何在 C# 中使用 Aspose.HTML 壓縮 HTML 為 zip。此教學將示範如何匯出網頁資源,並將 HTML 以 zip + 格式儲存,只需簡單幾步。 +og_title: 如何在 C# 中壓縮 HTML – 匯出網頁為 ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: 如何在 C# 中壓縮 HTML – 使用 Aspose.HTML 將網頁匯出為 ZIP +url: /zh-hant/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中壓縮 HTML – 使用 Aspose.HTML 匯出網頁為 ZIP + +有沒有想過直接在 C# 應用程式中 **how to zip HTML**?你並不孤單。在許多專案中,我們需要 **export webpage** 內容,取得所有圖片、CSS 與腳本,然後將它們打包成單一壓縮檔,以供離線使用或分發。 + +在本指南中,我們將逐步說明一個完整且可執行的範例,展示如何使用 Aspose.HTML 函式庫 **how to zip HTML**。完成後,你將能夠 **download webpage resources**、將它們儲存在記憶體中,並以少量程式碼 **save HTML as zip**。無需外部工具,無需手動檔案操作——僅靠乾淨的程式化自動化。 + +## 前置條件 + +在深入之前,請確保你已具備以下項目: + +| 需求 | 為何重要 | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML 同時支援兩者,但較新的執行環境可提供更佳效能。 | +| Visual Studio 2022 (or any C# IDE) | 舒適的編輯器能讓你快速發現語法錯誤。 | +| Aspose.HTML for .NET NuGet package | 此函式庫提供我們將使用的 `HTMLDocument`、`HTMLSaveOptions` 與 `ResourceHandler` 類別。 | +| Internet access (for the target URL) | 我們將載入即時頁面 (`https://example.com`) 以示範 **download webpage resources**。 | + +你可以透過 NuGet 主控台加入 Aspose.HTML 套件: + +```powershell +Install-Package Aspose.HTML +``` + +就這樣——不需要額外設定。 + +## 如何壓縮 HTML – 步驟實作 + +以下我們將流程分為四個邏輯步驟。每個步驟都有說明,並附上可直接複製貼上的完整程式碼。 + +> **專業提示**:如果你打算在多個專案中重複使用此邏輯,請將程式碼放在獨立的類別庫中。這樣測試與版本管理會更輕鬆。 + +### 步驟 1:建立自訂資源處理器 + +我們首先需要一個方式來攔截頁面請求的所有外部資源(圖片、CSS、JS)。Aspose.HTML 允許我們插入 `ResourceHandler`。在此範例中,我們會將每個資源儲存於 `MemoryStream`,但你也可以輕鬆改為檔案系統或雲端儲存。 + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Miért fontos:* A dokumentum memóriában történő létrehozásával elkerüljük a fájl‑I/O terhelést, és a teljes csővezeték gyors marad. A `` elem csak egy helyőrző – bármilyen érvényes HTML‑t helyettesíthetsz, beleértve CSS‑t, képeket vagy akár JavaScriptet (amennyiben az Aspose.HTML támogatja). + +## 2. lépés: Félkövér‑dőlt betűtípus definiálása WebFontStyle‑al + +Ha éles, stilizált szöveget szeretnél, meg kell mondanod a renderelőnek, hogy melyik betűtípust és stílust használja. A `FontInfo` lehetővé teszi a `WebFontStyle` zászlók kombinálását. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Miért fontos:* A `WebFontStyle.Bold | WebFontStyle.Italic` használata biztosítja, hogy a szöveg pontosan úgy jelenjen meg, mint a “Hello world” félkövér‑dőlt formában, ami elengedhetetlen, ha később **magas minőségű png‑t generálsz** márka‑ vagy UI‑makettekhez. + +## 3. lépés: A betűtípus alkalmazása a bekezdésre + +Most csatoljuk a `FontInfo`‑t az első bekezdés elemhez. Ez hasonló ahhoz, amit a böngésző DevTools‑jában tennél. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tipp:* Ha a dokumentum több elemet tartalmaz, bejárhatod a DOM‑fát (`htmlDoc.QuerySelectorAll`) és szelektíven rendelhetsz betűtípusokat. + +## 4. lépés: Antialiasing engedélyezése a simább raszter kimenethez + +Az antialiasing kisimítja a szöveg és alakzatok széleit, megakadályozva a lépcsőzetes pixeleket. Elengedhetetlen, ha **HTML‑t PNG‑re renderelsz** professzionális felhasználásra. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## 5. lépés: Hinting bekapcsolása a még élesebb szöveghez + +A hinting a glif kontúrokat a pixelrácshoz igazítja, ami különösen hasznos kis betűméreteknél. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## 6. lépés: Renderelés és PNG fájl mentése + +Végül mindent átadunk az `ImageRenderer`‑nek. A metódus a dokumentumot, a célútvonalat és a korábban épített renderelési beállításokat kapja. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Amikor a kód befejeződik, a `output.png` fájlt a `YOUR_DIRECTORY` mappában találod. Nyisd meg, és látnod kell a “Hello world” bekezdést félkövér‑dőlt Arial betűtípussal, tökéletesen antialiaselt és hintelt – egy **magas minőségű PNG**, amely készen áll hírlevelekhez, bélyegképekhez vagy bármilyen további folyamathoz. + + + +*Miért működik:* Az `ImageRenderer` elrejti a layout, CSS‑elemzés és rasterizálás nehéz részleteit, így valódi **convert html to image** élményt nyújt külső eszközök nélkül. + +## Teljes működő példa + +Az alábbi program teljes, másolás‑beillesztés‑kész. .NET 6‑tal fordítható, és egy lépésben előállítja a PNG‑t. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Várt kimenet:** Egy `output.png` nevű fájl, amely a **Hello world** mondatot jeleníti meg félkövér‑dőlt Arial betűtípussal, sima élekkel és vizuális hibák nélkül. + +## Gyakori kérdések és speciális esetek + +| Kérdés | Válasz | +|----------|--------| +| *Renderelhetek teljes oldalas weboldalt?* | Igen – egyszerűen töltsd be az URL‑t a `new HTMLDocument("https://example.com")` segítségével a karakterlánc helyett. | +| *Mi van a külső CSS‑szel vagy képekkel?* | Győződj meg róla, hogy elérhetők (abszolút URL‑k vagy beágyazott base‑64). Az Aspose.HTML követi az átirányításokat és képes távoli erőforrásokat betölteni. | +| *Szükséges-e az objektumok felszabadítása?* | Az `HTMLDocument` implementálja az `IDisposable` interfészt. Production kódban tedd `using` blokkba, hogy a natív erőforrások időben felszabaduljanak. | +| *Hogyan változtathatom meg a képformátumot?* | Adj meg másik fájlkiterjesztést (`output.jpg`, `output.tiff`) a `Save` hívásnál; a renderelő a megfelelő enkódert választja. | +| *Hogyan kapok átlátszó hátteret?* | Állítsd be `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` értéket a renderelés előtt. | + +## Tippek még magasabb minőségű PNG‑k előállításához + +1. **DPI növelése** – Állítsd `imageOptions.Resolution = 300` értékre, ha nyomtatásra szánt anyagokat készítesz. +2. **Háttér explicit megadása** – Egy szilárd háttér elkerüli a nem kívánt átlátszósági problémákat. +3. **Web‑biztonságos betűtípusok használata** – Ha a célgép nem rendelkezik a betűtípussal, ágyazd be `@font-face`‑vel a HTML‑ben. + +## Következő lépések + +Miután elsajátítottad a **create html document c#** technikát és már **render html to png**-t is tudsz, érdemes továbbfejleszteni: + +- **Kötegelt renderelés** – Iterálj egy HTML‑sztringgyűjteményen, és állíts elő egy PNG galériát. +- **PDF konverzió** – Cseréld le az `ImageRenderer`‑t `PdfRenderer`‑re, és ugyanabból a HTML‑forrásból PDF‑eket kapj. +- **Dinamikus adatok** – Injektálj JSON‑alapú tartalmat a HTML‑be a renderelés előtt, ami tökéletes jelentéskészítéshez. + +Nyugodtan kísérletezz különböző CSS‑stílusokkal, nagyobb vásznakkal vagy akár SVG grafikákkal. A csővezeték ugyanaz marad, és az Aspose.HTML gondoskodik a nehéz munkáról. + +--- + +*Boldog kódolást! Ha bármilyen problémába ütköztél, hagyj kommentet alul, és együtt megoldjuk.* + +{{< /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 53dd8b575..949cd7395 100644 --- a/html/hungarian/net/html-extensions-and-conversions/_index.md +++ b/html/hungarian/net/html-extensions-and-conversions/_index.md @@ -53,10 +53,12 @@ Az Aspose.HTML for .NET nem csak egy könyvtár; ez egy változás a webfejleszt Fedezze fel az Aspose.HTML erejét .NET-hez: A HTML-t könnyedén konvertálja XPS-re. Előfeltételek, lépésenkénti útmutató és GYIK mellékelve. ### [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 zip-elése C#-ban – Weboldal exportálása ZIP-be az Aspose.HTML segítségével](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Ismerje meg, hogyan exportálhat egy weboldalt ZIP-archívumba C#-ban az Aspose.HTML 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ó. ### [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. +### [HTML archívum létrehozása DOCX‑ből – Lépésről‑lépésre útmutató](./create-html-archive-from-docx-step-by-step-guide/) +Ismerje meg, hogyan hozhat létre HTML archívumot DOCX fájlból C#‑ban az Aspose.HTML for .NET segítségével. ### [HTML mentése ZIP-ként – Teljes C# oktatóanyag](./save-html-as-zip-complete-c-tutorial/) ### [HTML mentése ZIP-be C#‑ban – Teljes memória‑beli példa](./save-html-to-zip-in-c-complete-in-memory-example/) Mentse a HTML-t közvetlenül memóriában ZIP-archívumba az Aspose.HTML for .NET C#‑ban. diff --git a/html/hungarian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/hungarian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..a0586eb86 --- /dev/null +++ b/html/hungarian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-03-20 +description: HTML archívum létrehozása DOCX-ből és ZIP-fájl generálása Word-dokumentumból + C#-ban. Ismerd meg a teljes kódot, miért működik, és a gyakori buktatókat. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: hu +og_description: HTML archívum létrehozása DOCX‑ből és ZIP fájl generálása Word dokumentumból + az Aspose.Words segítségével. Teljes kód, magyarázatok és tippek. +og_title: HTML archívum létrehozása DOCX-ből – Teljes C# oktató +tags: +- Aspose.Words +- C# +- Document Processing +title: HTML archívum létrehozása DOCX‑ből – Lépésről‑lépésre útmutató +url: /hu/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML archívum létrehozása DOCX‑ből – Teljes C# útmutató + +Valaha szükséged volt **HTML archívum létrehozására DOCX‑ből**, de nem tudtad, hogyan csomagold az eredményül kapott fájlokat egyetlen csomagba? Nem vagy egyedül. Akár webes előnézet funkciót építesz, akár dokumentumokat exportálsz offline használatra, egy Word fájl önálló HTML ZIP‑bé alakítása gyakori igény. + +Ebben az útmutatóban lépésről lépésre végigvezetünk a **ZIP fájl generálásán Word dokumentumból** az Aspose.Words for .NET használatával, és elmagyarázzuk az egyes sorok „miértjét”, hogy a megoldást saját projektjeidhez is igazíthasd. + +--- + +## Amire szükséged lesz + +- **Aspose.Words for .NET** (a legújabb stabil verzió, pl. 24.10). NuGet‑en keresztül szerezheted be: `Install-Package Aspose.Words`. +- Egy **.NET 6+** konzol vagy web projekt – bármely C# környezet megfelel. +- Egy bemeneti Word fájl (`input.docx`), amelyet egy általad irányított mappában helyezel el. +- Alap C# ismeretek – semmi különleges, csak a konzolos alkalmazás futtatásának képessége. + +Ennyi. Nincs extra könyvtár, nincs bonyolult parancssori trükk. Készen állsz? Kezdjünk bele. + +## 1. lépés – A forrás DOCX betöltése Document objektumba + +Először be kell olvasnunk a Word fájlt. Az Aspose.Words elvonja a fájlformátum részleteit, és egy `Document` objektumot biztosít, amellyel dolgozhatsz függetlenül attól, hogy a forrás DOCX, DOC vagy akár ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Miért fontos:** A fájl egyszeri betöltése a kód elején kiszámítható memóriahasználatot biztosít, és lehetővé teszi a `doc` példány későbbi újrahasználatát több export formátumhoz (PDF, PNG, stb.). Ha a fájl hatalmas, az Aspose.Words hatékonyan streameli az adatokat, így nem kell az out‑of‑memory összeomlásoktól tartanod. + +## 2. lépés – HTML mentési beállítások konfigurálása alapértelmezett erőforráskezeléssel + +HTML‑re exportáláskor az Aspose.Words nem csak egy `.html` fájlt hoz létre, hanem egy erőforrásmappát is (képek, CSS, betűkészletek). Alapértelmezés szerint ezek az erőforrások a fájlrendszerbe íródnak, de a könyvtárat úgy is beállíthatjuk, hogy mindent memóriában tartson a `ResourceHandler` segítségével. Ez a kulcs egy **HTML archívum létrehozásához DOCX‑ből**, amelyet később zip‑elhetünk. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Miért használjuk a `ResourceHandler`‑t?** Elrejti az ideiglenes mappát, így nem maradnak elhagyott fájlok a lemezen. A kezelő minden generált erőforrást `MemoryStream`‑ként tárol, amelyet később közvetlenül egy ZIP archívumba helyezhetünk – tökéletes webszolgáltatások számára, amelyeknek egyetlen letölthető csomagot kell visszaadniuk. + +## 3. lépés – A dokumentum és erőforrásainak mentése ZIP archívumba + +Most jön a varázslat. Megkérjük az Aspose.Words‑t, hogy mentse a dokumentumot a most létrehozott beállításokkal, majd mindent zip‑eljünk. Az alábbi kód a `System.IO.Compression`‑t használja a végső `result.zip` létrehozásához. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Miért működik:** A `doc.Save(htmlOptions)` elindítja a HTML fájl és az összes kapcsolódó eszköz generálását, amelyet a `ResourceHandler` memóriában rögzít. A `foreach` ciklus ezután végigiterál a rögzített bejegyzéseken, és beírja őket a `ZipArchive`‑ba. Az eredmény egyetlen `result.zip`, amely tartalmazza a `document.html`‑t, valamint minden képet, CSS‑t vagy betűtípust, amely az eredeti DOCX hiteles megjelenítéséhez szükséges. + +## Gyakori variációk és szélhelyzetek + +### 1. A HTML fájl nevének testreszabása + +Ha a HTML oldalnak egy adott nevet szeretnél adni (pl. `preview.html`), állítsd be a `htmlOptions.HtmlVersion = HtmlVersion.Html5;` értéket, és nevezd át a bejegyzést a ZIP‑be való felvételkor: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Nagyon nagy dokumentumok kezelése + +100 MB‑nál nagyobb dokumentumok esetén fontold meg a ZIP közvetlen streamelését a válaszfolyamra (ASP.NET‑ben), a lemezre írás helyett. Cseréld le a `FileStream`‑et a választest streamre, és a kód változatlan marad. + +### 3. Bizonyos erőforrások kizárása + +Ha nincs szükséged képekre (például csak egyszerű szöveges HTML‑t akarsz), állítsd be a `htmlOptions.ExportImagesAsBase64 = true;` értéket, vagy teljesen tiltsd le a képek exportálását a `htmlOptions.ExportImages = false` beállítással. A `ResourceHandler` ekkor kevesebb bejegyzést tartalmaz, így a ZIP kisebb lesz. + +### 4. Manifest fájl hozzáadása + +Néhány fogyasztó elvárja a `manifest.json` fájlt, amely leírja az archívum tartalmát. Ezt futás közben is létrehozhatod: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +## Profi tippek és buktatók + +- **Pro tip:** Mindig `using` blokkokkal szabadítsd fel a `Document` és `ZipArchive` objektumokat. Ez felszabadítja a nem kezelt erőforrásokat és elkerüli a fájl‑kezelő szivárgásokat. +- **Figyelj:** Ha a kódot többször futtatod ugyanazon `result.zip`-on, a fájl felülíródik. Adj időbélyeget a fájlnévhez, ha egyedi archívumokra van szükséged. +- **Teljesítmény tip:** A `ResourceHandler` mindent memóriában tárol, ami a legtöbb fájl (< 20 MB) esetén megfelelő. Nagy dokumentumoknál válts `FileSystemStorage`‑ra, hogy a temporális erőforrásokat a zipelés előtt lemezre írd. +- **Kompatibilitási megjegyzés:** A generált HTML HTML5‑nek megfelelő és modern böngészőkben működik. Régebbi IE verziókhoz esetleg kompatibilitási meta‑tagra van szükség, amelyet a `htmlOptions.PrependMetaTag`‑gel injektálhatsz. + +## Várható eredmény + +A program futtatása után megtalálod a `result.zip` fájlt a `YOUR_DIRECTORY`‑ben. Nyisd meg a ZIP‑et – a következőt kell látnod: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Nyisd meg a `document.html`‑t bármely böngészőben, és egy hiteles vizuális másolatot látsz az `input.docx`‑ről. Nincsenek hiányzó képek, nincs törött hivatkozás – az archívum valóban önálló. + + + +*Kép alternatív szöveg: „Diagram, amely bemutatja, hogyan hozhatsz létre HTML archívumot DOCX‑ből, és hogyan generálj ZIP fájlt egy Word dokumentumból.”* + +## Összegzés + +Most átnéztük a teljes folyamatot a **HTML archívum létrehozásához DOCX‑ből** és a **ZIP fájl generálásához Word dokumentumból** az Aspose.Words C#‑ban. Az útmutató végigvezette a forrás betöltésén, a memóriában történő erőforráskezelés konfigurálásán, és mindent egy letöltésre vagy további feldolgozásra készen álló zip archívumba csomagolt. + +Most már beágyazhatod ezt a kódrészletet nagyobb alkalmazásokba – web API‑kba, háttérszolgáltatásokba vagy akár asztali eszközökbe. Következő lépésként kísérletezz egyedi CSS‑szel, betűkészletek beágyazásával, vagy egy JSON manifest hozzáadásával a gazdagabb integrációkhoz. + +Ha bármilyen problémába ütközöl, vagy van ötleted a kiterjesztésekhez, hagyj egy megjegyzést alább. Boldog kódolást! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/hungarian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..d925e7fe1 --- /dev/null +++ b/html/hungarian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-03-20 +description: Hogyan csomagoljuk ZIP-be a HTML-t C#-ban az Aspose.HTML használatával + – tanulja meg, hogyan exportáljon weboldalt, töltsön le weboldal-erőforrásokat, + és mentse a HTML-t gyorsan ZIP-be. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: hu +og_description: Hogyan csomagoljuk ZIP-be a HTML-t C#-ban az Aspose.HTML segítségével. + Ez az útmutató megmutatja, hogyan exportálhatja a weboldal erőforrásait, és hogyan + mentheti a HTML-t ZIP formátumban néhány egyszerű lépésben. +og_title: Hogyan csomagoljuk ZIP-be a HTML-t C#-ban – Weboldal exportálása ZIP-be +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Hogyan csomagolj HTML-t ZIP-be C#-ban – Weboldal exportálása ZIP-be az Aspose.HTML + segítségével +url: /hu/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan zip‑eljük a HTML‑t C#‑ban – Weboldal exportálása ZIP‑be az Aspose.HTML segítségével + +Gondolkodtál már azon, **hogyan zip‑eljük a HTML‑t** közvetlenül a C# alkalmazásodból? Nem vagy egyedül. Sok projektben **weboldal exportálásra** van szükség, minden képet, CSS‑t és scriptet le kell kérni, majd egyetlen archívumba kell csomagolni offline használatra vagy terjesztésre. + +Ebben az útmutatóban egy teljes, futtatható példán keresztül mutatjuk be, hogyan **zip‑eljük a HTML‑t** az Aspose.HTML könyvtár segítségével. A végére képes leszel **weboldal erőforrások letöltésére**, azok memóriában tárolására, és **HTML mentésére zip‑ként** néhány kódsorral. Nincs szükség külső eszközökre, manuális fájlkezelésre — csak tiszta, programozott automatizálás. + +## Előkövetelmények + +Mielőtt belemerülnénk, győződj meg róla, hogy a következőkkel rendelkezel: + +| Követelmény | Miért fontos | +|-------------|----------------| +| .NET 6.0 vagy újabb (vagy .NET Framework 4.6+) | Az Aspose.HTML mindkettőt támogatja, de a legújabb futtatókörnyezet jobb teljesítményt nyújt. | +| Visual Studio 2022 (vagy bármely C# IDE) | Egy kényelmes szerkesztő segít gyorsan észrevenni a szintaxis hibákat. | +| Aspose.HTML for .NET NuGet csomag | A könyvtár biztosítja a `HTMLDocument`, `HTMLSaveOptions` és `ResourceHandler` osztályokat, amelyeket használni fogunk. | +| Internetkapcsolat (a cél‑URL‑hez) | Egy élő oldalt (`https://example.com`) fogunk betölteni, hogy bemutassuk a **weboldal erőforrások letöltését**. | + +A Aspose.HTML csomagot a NuGet konzolon keresztül adhatod hozzá: + +```powershell +Install-Package Aspose.HTML +``` + +Ennyi — nincs szükség extra konfigurációra. + +## Hogyan zip‑eljük a HTML‑t – Lépés‑ről‑lépésre megvalósítás + +Az alábbiakban a folyamatot négy logikai lépésre bontjuk. Minden lépést részletezünk, majd a pontos kódot megadjuk, amit egyszerűen másolhatsz‑beilleszthetsz. + +> **Pro tipp:** Tedd a kódot egy külön osztálykönyvtárba, ha több projektben is szeretnéd újrahasználni a logikát. Ez megkönnyíti a tesztelést és a verziókezelést. + +### Lépés 1: Egyedi erőforrás‑kezelő létrehozása + +Először is szükségünk van egy módszerre, amellyel elkapjuk az oldal által kért minden külső erőforrást (képek, CSS, JS). Az Aspose.HTML lehetővé teszi egy `ResourceHandler` csatlakoztatását. Ebben a példában minden erőforrást egy `MemoryStream`‑be tárolunk, de könnyen cserélhető fájlrendszer‑ vagy felhő‑tárolóra is. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Mengapa ini penting:* Dengan membuat dokumen di memori kita menghindari overhead file‑I/O dan menjaga seluruh pipeline tetap cepat. Tag `` hanya sebagai placeholder—Anda dapat menggantinya dengan HTML valid apa pun, termasuk CSS, gambar, atau bahkan JavaScript (asalkan didukung oleh Aspose.HTML). + +## Langkah 2: Definisikan Font Bold‑Italic dengan WebFontStyle + +Jika Anda menginginkan teks yang tajam dan bergaya, Anda harus memberi tahu renderer font dan gaya yang akan digunakan. `FontInfo` memungkinkan Anda menggabungkan flag `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Mengapa ini penting:* Menggunakan `WebFontStyle.Bold | WebFontStyle.Italic` memastikan teks terlihat persis seperti “Hello world” dalam bold‑italic, yang penting ketika Anda kemudian **generate high quality png** untuk branding atau mockup UI. + +## Langkah 3: Terapkan Font ke Paragraf + +Sekarang kami melampirkan `FontInfo` ke elemen paragraf pertama. Ini mencerminkan apa yang Anda lakukan di DevTools browser. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* Jika dokumen Anda memiliki banyak elemen, Anda dapat menelusuri pohon DOM (`htmlDoc.QuerySelectorAll`) dan menetapkan font secara selektif. + +## Langkah 4: Aktifkan Antialiasing untuk Output Raster yang Lebih Halus + +Antialiasing menghaluskan tepi teks dan bentuk, mencegah piksel bergerigi. Ini wajib dimiliki ketika Anda ingin **render HTML to PNG** untuk penggunaan profesional. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Langkah 5: Aktifkan Hinting untuk Teks yang Lebih Tajam + +Hinting menyesuaikan kontur glyph agar selaras dengan grid piksel, yang sangat berguna pada ukuran font kecil. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Langkah 6: Render dan Simpan File PNG + +Akhirnya kami menyerahkan semuanya ke `ImageRenderer`. Metode ini menerima dokumen, jalur target, dan opsi rendering yang telah kami buat. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Setelah kode selesai, Anda akan menemukan `output.png` di `YOUR_DIRECTORY`. Buka file tersebut dan Anda akan melihat paragraf “Hello world” dalam Arial bold‑italic, antialiasing dan hinting yang sempurna—sebuah **high quality PNG** siap untuk newsletter, thumbnail, atau proses downstream apa pun. + + + +*Mengapa ini berhasil:* `ImageRenderer` menyederhanakan pekerjaan berat layout, parsing CSS, dan rasterisasi, memberikan pengalaman **convert html to image** yang sesungguhnya tanpa alat eksternal. + +## Contoh Lengkap yang Berfungsi + +Berikut adalah program lengkap yang siap disalin‑tempel. Program ini dikompilasi dengan .NET 6 dan menghasilkan PNG dalam satu langkah. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Output yang diharapkan:** Sebuah file bernama `output.png` yang menampilkan kalimat **Hello world** dalam Arial bold‑italic, tepi halus, dan tanpa artefak visual. + +## Pertanyaan Umum & Kasus Tepi + +| Question | Answer | +|----------|--------| +| *Apakah saya dapat merender situs web halaman penuh?* | Ya—cukup muat URL dengan `new HTMLDocument("https://example.com")` alih-alih literal string. | +| *Bagaimana dengan CSS atau gambar eksternal?* | Pastikan mereka dapat diakses (URL absolut atau base‑64 yang disematkan). Aspose.HTML mengikuti pengalihan dan dapat memuat sumber daya remote. | +| *Apakah saya perlu membuang (dispose) objek?* | `HTMLDocument` mengimplementasikan `IDisposable`. Bungkus dalam blok `using` untuk kode produksi agar sumber daya native dibebaskan dengan cepat. | +| *Bagaimana cara mengubah format gambar?* | Berikan ekstensi file yang berbeda (`output.jpg`, `output.tiff`) ke `Save`; renderer akan memilih encoder yang sesuai. | +| *Bagaimana jika saya membutuhkan latar belakang transparan?* | Set `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` sebelum rendering. | + +## Tips untuk Menghasilkan PNG Berkualitas Lebih Tinggi + +1. **Tingkatkan DPI** – Set `imageOptions.Resolution = 300` untuk aset siap cetak. +2. **Setel latar belakang secara eksplisit** – Latar belakang solid menghindari masalah transparansi yang tidak diinginkan. +3. **Gunakan font web‑safe** – Jika mesin target tidak memiliki font, sematkan melalui `@font-face` di HTML. + +## Langkah Selanjutnya + +Sekarang Anda telah menguasai **create html document c#** dan dapat **render html to png**, pertimbangkan untuk menjelajahi: + +- **Batch rendering** – Lakukan loop pada koleksi string HTML untuk menghasilkan galeri PNG. +- **PDF conversion** – Ganti `ImageRenderer` dengan `PdfRenderer` untuk mendapatkan PDF dari sumber HTML yang sama. +- **Dynamic data** – Sisipkan konten berbasis JSON ke dalam HTML sebelum rendering, cocok untuk pembuatan laporan. + +Silakan bereksperimen dengan gaya CSS yang berbeda, kanvas yang lebih besar, atau bahkan grafik SVG. Pipeline tetap sama, dan Aspose.HTML akan menangani pekerjaan berat. + +--- + +*Selamat coding! Jika Anda mengalami kendala, tinggalkan komentar di bawah dan kami akan membantu memecahkannya bersama.* + +{{< /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 6ac5368ff..bcaf8a903 100644 --- a/html/indonesian/net/html-extensions-and-conversions/_index.md +++ b/html/indonesian/net/html-extensions-and-conversions/_index.md @@ -69,10 +69,14 @@ Temukan kekuatan Aspose.HTML untuk .NET: Ubah HTML menjadi XPS dengan mudah. Pra Pelajari cara mengompres file HTML menjadi arsip ZIP menggunakan C# dan Aspose.HTML. ### [Buat Dokumen HTML dengan Teks Bergaya dan Ekspor ke PDF – Panduan Lengkap](./create-html-document-with-styled-text-and-export-to-pdf-full/) Pelajari cara membuat dokumen HTML dengan teks berformat dan mengekspornya ke PDF menggunakan Aspose.HTML untuk .NET. +### [Buat arsip HTML dari DOCX – Panduan Langkah‑demi‑Langkah](./create-html-archive-from-docx-step-by-step-guide/) +Pelajari cara membuat arsip HTML dari file DOCX menggunakan Aspose.HTML untuk .NET dengan contoh kode lengkap. ### [Simpan HTML sebagai ZIP – Tutorial Lengkap C#](./save-html-as-zip-complete-c-tutorial/) Pelajari cara menyimpan file HTML sebagai arsip ZIP menggunakan Aspose.HTML untuk .NET dengan contoh kode C# lengkap. ### [Simpan HTML ke ZIP di C# – Contoh In‑Memory Lengkap](./save-html-to-zip-in-c-complete-in-memory-example/) Pelajari cara menyimpan file HTML ke dalam arsip ZIP secara langsung di memori menggunakan C# dan Aspose.HTML. +### [Cara Mengompres HTML menjadi Zip di C# – Ekspor Halaman Web ke ZIP dengan Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Pelajari cara mengekspor halaman web menjadi arsip ZIP menggunakan C# dan Aspose.HTML. ## Kesimpulan diff --git a/html/indonesian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/indonesian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..c0c9fec71 --- /dev/null +++ b/html/indonesian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,189 @@ +--- +category: general +date: 2026-03-20 +description: Buat arsip HTML dari DOCX dan hasilkan file ZIP dari dokumen Word dalam + C#. Pelajari kode lengkapnya, mengapa kode tersebut berfungsi, dan jebakan umum. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: id +og_description: Buat arsip HTML dari DOCX dan hasilkan file ZIP dari dokumen Word + menggunakan Aspose.Words. Kode lengkap, penjelasan, dan tips. +og_title: Buat arsip HTML dari DOCX – Tutorial C# Lengkap +tags: +- Aspose.Words +- C# +- Document Processing +title: Buat arsip HTML dari DOCX – Panduan Langkah demi Langkah +url: /id/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Buat Arsip HTML dari DOCX – Tutorial Lengkap C# + +Pernah membutuhkan untuk **create HTML archive from DOCX** tetapi tidak yakin bagaimana menggabungkan file hasil menjadi satu paket? Anda bukan satu-satunya. Baik Anda membangun fitur pratinjau web atau mengekspor dokumen untuk penggunaan offline, mengubah file Word menjadi HTML ZIP yang berdiri sendiri adalah kebutuhan yang umum. + +Dalam panduan ini kami akan menjelaskan langkah‑langkah tepat untuk **generate a ZIP file from a Word document** menggunakan Aspose.Words for .NET, dan kami akan menjelaskan “mengapa” di balik setiap baris sehingga Anda dapat menyesuaikan solusi ini untuk proyek Anda sendiri. + +--- + +## Apa yang Anda Butuhkan + +- **Aspose.Words for .NET** (versi stabil terbaru, misalnya 24.10). Anda dapat mengunduhnya via NuGet: `Install-Package Aspose.Words`. +- Sebuah proyek konsol atau web **.NET 6+** – lingkungan C# apa pun dapat digunakan. +- Sebuah file Word input (`input.docx`) yang berada di folder yang Anda kontrol. +- Pengetahuan dasar C# – tidak perlu hal rumit, cukup kemampuan menjalankan aplikasi konsol. + +Itu saja. Tidak ada pustaka tambahan, tidak ada trik baris perintah yang rumit. Siap? Mari kita mulai. + +--- + +## Langkah 1 – Muat DOCX Sumber ke dalam Objek Document + +Pertama kita perlu membaca file Word. Aspose.Words mengabstraksi format file, memberikan Anda objek `Document` yang dapat Anda gunakan terlepas dari apakah sumbernya DOCX, DOC, atau bahkan ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Why this matters:** Memuat file sekali di atas menjaga penggunaan memori tetap dapat diprediksi dan memungkinkan Anda menggunakan kembali instance `doc` untuk beberapa format ekspor nanti (PDF, PNG, dll.). Jika file sangat besar, Aspose.Words men‑stream data secara efisien, sehingga Anda tidak perlu khawatir tentang crash kehabisan memori. + +## Langkah 2 – Konfigurasikan Opsi Penyimpanan HTML dengan Penanganan Sumber Daya Default + +Saat Anda mengekspor ke HTML, Aspose.Words tidak hanya membuat file `.html` tetapi juga folder sumber daya (gambar, CSS, font). Secara default sumber daya tersebut ditulis ke sistem file, tetapi kita dapat memberi tahu perpustakaan untuk menyimpan semuanya di memori menggunakan `ResourceHandler`. Ini adalah kunci untuk membuat **HTML archive from DOCX** yang kemudian dapat kita zip. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Why use `ResourceHandler`?** Ini mengabstraksi folder sementara, artinya Anda tidak akan meninggalkan file sampah di disk. Handler menyimpan setiap sumber daya yang dihasilkan sebagai `MemoryStream`, yang kemudian dapat langsung dimasukkan ke dalam arsip ZIP – sempurna untuk layanan web yang perlu mengembalikan satu paket yang dapat diunduh. + +## Langkah 3 – Simpan Dokumen dan Sumber Daya ke dalam Arsip ZIP + +Sekarang keajaiban terjadi. Kami meminta Aspose.Words untuk menyimpan dokumen dengan opsi yang baru saja kami buat, kemudian kami zip semuanya. Kode di bawah ini menggunakan `System.IO.Compression` untuk membuat `result.zip` akhir. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Why this works:** `doc.Save(htmlOptions)` memicu pembuatan file HTML dan semua aset terkait, yang ditangkap oleh `ResourceHandler` di memori. Loop `foreach` kemudian mengiterasi setiap entri yang ditangkap, menuliskannya ke dalam `ZipArchive`. Hasilnya adalah satu `result.zip` yang berisi `document.html` plus gambar, CSS, atau font yang diperlukan untuk rendering yang setia dari DOCX asli. + +## Variasi Umum & Kasus Tepi + +### 1. Menyesuaikan Nama File HTML + +Jika Anda ingin halaman HTML memiliki nama tertentu (misalnya `preview.html`), set `htmlOptions.HtmlVersion = HtmlVersion.Html5;` dan ubah nama entri saat menambahkannya ke ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Menangani Dokumen Sangat Besar + +Untuk dokumen yang lebih besar dari 100 MB, pertimbangkan untuk men‑stream ZIP langsung ke aliran respons (di ASP.NET) alih‑alih menulis ke disk terlebih dahulu. Ganti `FileStream` dengan aliran tubuh respons, dan kode tetap sama. + +### 3. Mengecualikan Sumber Daya Tertentu + +Jika Anda tidak memerlukan gambar (mungkin Anda hanya menginginkan HTML teks biasa), set `htmlOptions.ExportImagesAsBase64 = true;` atau nonaktifkan ekspor gambar sepenuhnya dengan `htmlOptions.ExportImages = false`. `ResourceHandler` kemudian akan berisi lebih sedikit entri, membuat ZIP lebih kecil. + +### 4. Menambahkan File Manifest + +Beberapa konsumen mengharapkan `manifest.json` yang menjelaskan isi arsip. Anda dapat membuatnya secara dinamis: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +## Tips Pro & Hal-hal yang Perlu Diwaspadai + +- **Pro tip:** Selalu dispose objek `Document` dan `ZipArchive` dengan blok `using`. Ini membebaskan sumber daya yang tidak dikelola dan menghindari kebocoran handle file. +- **Watch out for:** Jika Anda menjalankan kode berulang kali terhadap `result.zip` yang sama, file akan ditimpa. Tambahkan timestamp ke nama file jika Anda memerlukan arsip yang unik. +- **Performance tip:** `ResourceHandler` menyimpan semuanya di memori, yang cocok untuk kebanyakan file (< 20 MB). Untuk dokumen yang sangat besar, beralihlah ke `FileSystemStorage` untuk menulis sumber daya sementara ke disk sebelum di‑zip. +- **Compatibility note:** HTML yang dihasilkan mematuhi HTML5 dan bekerja di semua browser modern. Versi IE lama mungkin memerlukan meta tag kompatibilitas, yang dapat Anda sisipkan melalui `htmlOptions.PrependMetaTag`. + +## Hasil yang Diharapkan + +Setelah menjalankan program, Anda akan menemukan `result.zip` di `YOUR_DIRECTORY`. Buka ZIP – Anda seharusnya melihat: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Buka `document.html` di browser apa pun dan Anda akan melihat replika visual yang setia dari `input.docx`. Tidak ada gambar yang hilang, tidak ada tautan yang rusak – arsip tersebut benar‑benar berdiri sendiri. + + + +*Teks alt gambar: "Diagram yang menggambarkan cara membuat arsip HTML dari DOCX dan menghasilkan file ZIP dari dokumen Word."* + +## Kesimpulan + +Kami baru saja membahas proses lengkap untuk **create HTML archive from DOCX** dan **generate ZIP file from a Word document** dengan Aspose.Words di C#. Tutorial ini memandu Anda melalui pemuatan sumber, konfigurasi penanganan sumber daya dalam memori, dan pengemasan semuanya ke dalam arsip zip yang siap diunduh atau diproses lebih lanjut. + +Sekarang Anda dapat menyematkan potongan kode ini ke dalam aplikasi yang lebih besar—web API, layanan latar belakang, atau bahkan alat desktop. Selanjutnya, coba bereksperimen dengan CSS khusus, menyematkan font, atau menambahkan manifest JSON untuk integrasi yang lebih kaya. + +Jika Anda mengalami kendala atau memiliki ide untuk ekstensi, tinggalkan komentar di bawah. Selamat coding! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/indonesian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..2a9ce7a90 --- /dev/null +++ b/html/indonesian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-20 +description: Cara meng-zip HTML di C# menggunakan Aspose.HTML – pelajari cara mengekspor + halaman web, mengunduh sumber daya halaman web, dan menyimpan HTML sebagai zip dengan + cepat. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: id +og_description: Cara mengompres HTML menjadi zip di C# dengan Aspose.HTML. Tutorial + ini menunjukkan cara mengekspor sumber daya halaman web dan menyimpan HTML sebagai + zip dalam beberapa langkah mudah. +og_title: Cara Mengompres HTML menjadi ZIP di C# – Ekspor Halaman Web ke ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Cara Meng-zip HTML di C# – Ekspor Halaman Web ke ZIP dengan Aspose.HTML +url: /id/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Meng-zip HTML di C# – Ekspor Halaman Web ke ZIP dengan Aspose.HTML + +Pernah bertanya-tanya **bagaimana cara meng-zip HTML** langsung dari aplikasi C# Anda? Anda tidak sendirian. Dalam banyak proyek kami perlu **mengekspor halaman web** kontennya, mengambil setiap gambar, CSS, dan skrip, lalu menggabungkannya ke dalam satu arsip untuk penggunaan offline atau distribusi. + +Dalam panduan ini kami akan menelusuri contoh lengkap yang dapat dijalankan yang menunjukkan secara tepat **bagaimana cara meng-zip HTML** menggunakan pustaka Aspose.HTML. Pada akhir Anda akan dapat **mengunduh sumber daya halaman web**, menyimpannya di memori, dan **menyimpan HTML sebagai zip** hanya dengan beberapa baris kode. Tanpa alat eksternal, tanpa penanganan file manual—hanya otomatisasi programatik yang bersih. + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki hal‑hal berikut: + +| Persyaratan | Mengapa penting | +|-------------|-----------------| +| .NET 6.0 atau lebih baru (atau .NET Framework 4.6+) | Aspose.HTML mendukung keduanya, tetapi runtime terbaru memberikan kinerja yang lebih baik. | +| Visual Studio 2022 (atau IDE C# apa pun) | Editor yang nyaman membantu Anda menemukan kesalahan sintaks dengan cepat. | +| Paket NuGet Aspose.HTML untuk .NET | Perpustakaan menyediakan kelas `HTMLDocument`, `HTMLSaveOptions`, dan `ResourceHandler` yang akan kami gunakan. | +| Akses internet (untuk URL target) | Kami akan memuat halaman langsung (`https://example.com`) untuk mendemonstrasikan **download webpage resources**. | + +Anda dapat menambahkan paket Aspose.HTML melalui konsol NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +Itu saja—tidak perlu konfigurasi tambahan. + +## Cara Meng-zip HTML – Implementasi Langkah‑per‑Langkah + +Di bawah ini kami memecah proses menjadi empat langkah logis. Setiap langkah dijelaskan, kemudian diikuti oleh kode tepat yang dapat Anda salin‑tempel. + +> **Pro tip:** Simpan kode dalam pustaka kelas terpisah jika Anda berencana menggunakan kembali logika ini di beberapa proyek. Ini memudahkan pengujian dan versioning. + +### Langkah 1: Buat Custom Resource Handler + +Hal pertama yang kita butuhkan adalah cara untuk menyela setiap sumber daya eksternal (gambar, CSS, JS) yang diminta halaman. Aspose.HTML memungkinkan kita memasang `ResourceHandler`. Dalam kasus kami kami akan menyimpan setiap sumber daya dalam `MemoryStream`, tetapi Anda dapat dengan mudah menggantinya dengan penyimpanan sistem file atau bucket cloud. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Perché è importante:* Creando il documento in memoria evitiamo l'overhead di I/O su file e manteniamo l'intera pipeline veloce. Il tag `` è solo un segnaposto—puoi sostituirlo con qualsiasi HTML valido, inclusi CSS, immagini o anche JavaScript (purché sia supportato da Aspose.HTML). + +## Passo 2: Definisci un font grassetto‑corsivo con WebFontStyle + +Se desideri un testo nitido e stilizzato, devi indicare al renderer quale font e stile usare. `FontInfo` ti permette di combinare i flag `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Perché è importante:* Usare `WebFontStyle.Bold | WebFontStyle.Italic` garantisce che il testo appaia esattamente come “Hello world” in grassetto‑corsivo, il che è cruciale quando in seguito **generate high quality png** per branding o mockup UI. + +## Passo 3: Applica il font al paragrafo + +Ora colleghiamo il `FontInfo` al primo elemento paragrafo. Questo rispecchia ciò che faresti negli Strumenti per sviluppatori del browser. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Consiglio professionale:* Se il tuo documento ha più elementi, puoi attraversare l'albero DOM (`htmlDoc.QuerySelectorAll`) e assegnare i font in modo selettivo. + +## Passo 4: Abilita l'Antialiasing per un output raster più fluido + +L'antialiasing smussa i bordi di testo e forme, evitando pixel frastagliati. È indispensabile quando vuoi **render HTML to PNG** per uso professionale. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Passo 5: Attiva il Hinting per un testo più nitido + +Il hinting regola i contorni dei glifi per allinearli alla griglia dei pixel, particolarmente utile a piccole dimensioni del font. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Passo 6: Renderizza e salva il file PNG + +Infine passiamo tutto a `ImageRenderer`. Il metodo accetta il documento, il percorso di destinazione e le opzioni di rendering che abbiamo configurato. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Quando il codice termina, troverai `output.png` in `YOUR_DIRECTORY`. Aprilo e dovresti vedere il paragrafo “Hello world” in Arial grassetto‑corsivo, perfettamente antialiasato e con hinting—un **high quality PNG** pronto per newsletter, miniature o qualsiasi processo successivo. + + + +*Perché funziona:* `ImageRenderer` astrae il lavoro pesante di layout, parsing CSS e rasterizzazione, offrendo una vera esperienza **convert html to image** senza strumenti esterni. + +## Esempio completo funzionante + +Di seguito trovi il programma completo, pronto per il copia‑incolla. Compila con .NET 6 e produce il PNG in un unico passaggio. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Output previsto:** Un file chiamato `output.png` che mostra la frase **Hello world** in Arial grassetto‑corsivo, bordi lisci e senza artefatti visivi. + +## Domande comuni & casi limite + +| Question | Answer | +|----------|--------| +| *Posso renderizzare un sito web a pagina intera?* | Sì—basta caricare l'URL con `new HTMLDocument("https://example.com")` invece di una stringa letterale. | +| *E per CSS o immagini esterne?* | Assicurati che siano raggiungibili (URL assoluti o incorporati in base‑64). Aspose.HTML segue i redirect e può caricare risorse remote. | +| *Devo liberare (dispose) gli oggetti?* | `HTMLDocument` implementa `IDisposable`. Avvolgilo in un blocco `using` nel codice di produzione per liberare prontamente le risorse native. | +| *Come cambio il formato dell'immagine?* | Passa un'estensione di file diversa (`output.jpg`, `output.tiff`) a `Save`; il renderer sceglie l'encoder appropriato. | +| *E se ho bisogno di uno sfondo trasparente?* | Imposta `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` prima del rendering. | + +## Suggerimenti per generare PNG ancora più di alta qualità + +1. **Aumenta DPI** – Imposta `imageOptions.Resolution = 300` per risorse pronte per la stampa. +2. **Imposta esplicitamente lo sfondo** – Uno sfondo solido evita problemi di trasparenza non intenzionali. +3. **Usa font web‑safe** – Se la macchina di destinazione non dispone di un font, incorporalo tramite `@font-face` nell'HTML. + +## Prossimi passi + +Ora che hai padroneggiato **create html document c#** e puoi **render html to png**, considera di esplorare: + +- **Rendering batch** – Itera su una collezione di stringhe HTML per produrre una galleria di PNG. +- **Conversione PDF** – Sostituisci `ImageRenderer` con `PdfRenderer` per ottenere PDF dalla stessa sorgente HTML. +- **Dati dinamici** – Inietta contenuto guidato da JSON nell'HTML prima del rendering, perfetto per la generazione di report. + +Sentiti libero di sperimentare con diversi stili CSS, canvas più grandi o anche grafiche SVG. La pipeline rimane la stessa, e Aspose.HTML si occuperà del lavoro pesante. + +--- + +*Buon coding! Se hai incontrato problemi, lascia un commento qui sotto e risolveremo insieme.* + +{{< /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 fcf4daa30..50ba4d6ca 100644 --- a/html/italian/net/html-extensions-and-conversions/_index.md +++ b/html/italian/net/html-extensions-and-conversions/_index.md @@ -67,8 +67,12 @@ Scopri come convertire HTML in TIFF con Aspose.HTML per .NET. Segui la nostra gu Scopri la potenza di Aspose.HTML per .NET: converti HTML in XPS senza sforzo. Prerequisiti, guida passo passo e FAQ incluse. ### [Come comprimere HTML in C# – Salva HTML in Zip](./how-to-zip-html-in-c-save-html-to-zip/) Scopri come comprimere un documento HTML in un file ZIP usando Aspose.HTML per .NET in C#. +### [Come comprimere HTML in C# – Esporta la pagina web in ZIP con Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Impara a esportare una pagina web in un archivio ZIP con Aspose.HTML per .NET in C#. ### [Creare PDF da HTML – Guida passo‑a‑passo C#](./create-pdf-from-html-c-step-by-step-guide/) Crea un PDF da HTML in C# con Aspose.HTML per .NET. Segui la nostra guida passo passo per una conversione semplice ed efficace. +### [Creare archivio HTML da DOCX – Guida passo‑a‑passo](./create-html-archive-from-docx-step-by-step-guide/) +Crea un archivio HTML da un file DOCX usando Aspose.HTML per .NET. Segui la guida passo‑a‑passo per generare l'archivio. ### [Salva HTML come ZIP – Tutorial completo C#](./save-html-as-zip-complete-c-tutorial/) Salva HTML come archivio ZIP con Aspose.HTML per .NET. Guida passo passo per creare file ZIP contenenti HTML in C#. ### [Salva HTML in ZIP in C# – Esempio completo in memoria](./save-html-to-zip-in-c-complete-in-memory-example/) diff --git a/html/italian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/italian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..8e1b1c651 --- /dev/null +++ b/html/italian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: Crea un archivio HTML da DOCX e genera un file ZIP dal documento Word + in C#. Scopri il codice completo, perché funziona e le insidie comuni. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: it +og_description: Crea un archivio HTML da DOCX e genera un file ZIP dal documento Word + usando Aspose.Words. Codice completo, spiegazioni e consigli. +og_title: Crea archivio HTML da DOCX – Tutorial completo C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Crea archivio HTML da DOCX – Guida passo‑passo +url: /it/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crea archivio HTML da DOCX – Tutorial completo C# + +Hai mai avuto bisogno di **creare un archivio HTML da DOCX** ma non sapevi come raggruppare i file risultanti in un unico pacchetto? Non sei il solo. Che tu stia creando una funzionalità di anteprima web o esportando documenti per l'uso offline, trasformare un file Word in un ZIP HTML autonomo è una necessità comune. + +In questa guida percorreremo i passaggi esatti per **generare un file ZIP da un documento Word** usando Aspose.Words per .NET, e spiegheremo il “perché” dietro ogni riga così potrai adattare la soluzione ai tuoi progetti. + +--- + +## Cosa ti servirà + +Prima di immergerci, assicurati di avere: + +- **Aspose.Words for .NET** (l'ultima versione stabile, ad es., 24.10). Puoi ottenerlo via NuGet: `Install-Package Aspose.Words`. +- Un progetto console o web **.NET 6+** – qualsiasi ambiente C# andrà bene. +- Un file Word di input (`input.docx`) situato in una cartella che controlli. +- Conoscenze di base di C# – niente di complicato, solo la capacità di eseguire un'app console. + +È tutto. Nessuna libreria aggiuntiva, nessun trucco complicato da riga di comando. Pronto? Iniziamo. + +--- + +## Passo 1 – Carica il DOCX sorgente in un oggetto Document + +Per prima cosa dobbiamo leggere il file Word. Aspose.Words astrae il formato del file, fornendoti un oggetto `Document` con cui puoi lavorare indipendentemente dal fatto che la sorgente sia DOCX, DOC o anche ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Perché è importante:** Caricare il file una sola volta all'inizio mantiene prevedibile l'uso della memoria e ti permette di riutilizzare l'istanza `doc` per più formati di esportazione in seguito (PDF, PNG, ecc.). Se il file è enorme, Aspose.Words trasmette i dati in modo efficiente, così non devi preoccuparti di crash per mancanza di memoria. + +--- + +## Passo 2 – Configura le opzioni di salvataggio HTML con gestione delle risorse predefinita + +Quando esporti in HTML, Aspose.Words crea non solo un file `.html` ma anche una cartella di risorse (immagini, CSS, font). Per impostazione predefinita quelle risorse vengono scritte sul file system, ma possiamo indicare alla libreria di tenere tutto in memoria usando un `ResourceHandler`. Questo è il punto chiave per creare un **archivio HTML da DOCX** che poi possiamo comprimere. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Perché usare `ResourceHandler`?** Astrae la cartella temporanea, il che significa che non lascerai file sparsi sul disco. Il gestore memorizza ogni risorsa generata come `MemoryStream`, che possiamo poi inserire direttamente in un archivio ZIP – perfetto per i servizi web che devono restituire un unico pacchetto scaricabile. + +--- + +## Passo 3 – Salva il documento e le sue risorse in un archivio ZIP + +Ora avviene la magia. Chiediamo ad Aspose.Words di salvare il documento con le opzioni appena configurate, poi comprimiamo tutto. Il codice qui sotto usa `System.IO.Compression` per creare il `result.zip` finale. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Perché funziona:** `doc.Save(htmlOptions)` avvia la generazione del file HTML e di tutte le risorse correlate, che il `ResourceHandler` cattura in memoria. Il ciclo `foreach` itera quindi su ogni voce catturata, scrivendola nel `ZipArchive`. Il risultato è un unico `result.zip` che contiene `document.html` più eventuali immagini, CSS o font necessari per una resa fedele del DOCX originale. + +--- + +## Varianti comuni e casi limite + +### 1. Personalizzare il nome del file HTML + +Se vuoi che la pagina HTML abbia un nome specifico (ad es., `preview.html`), imposta `htmlOptions.HtmlVersion = HtmlVersion.Html5;` e rinomina la voce quando la aggiungi allo ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Gestire documenti molto grandi + +Per documenti più grandi di 100 MB, considera di trasmettere lo ZIP direttamente allo stream di risposta (in ASP.NET) invece di scriverlo prima su disco. Sostituisci il `FileStream` con lo stream del corpo della risposta, e il codice rimane lo stesso. + +### 3. Escludere alcune risorse + +Se non ti servono le immagini (forse vuoi solo HTML di testo semplice), imposta `htmlOptions.ExportImagesAsBase64 = true;` o disabilita completamente l'esportazione delle immagini con `htmlOptions.ExportImages = false`. Il `ResourceHandler` conterrà quindi meno voci, rendendo lo ZIP più piccolo. + +### 4. Aggiungere un file Manifest + +Alcuni consumatori si aspettano un `manifest.json` che descriva il contenuto dell'archivio. Puoi crearlo al volo: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Consigli professionali e avvertenze + +- **Consiglio pro:** Disporre sempre degli oggetti `Document` e `ZipArchive` con blocchi `using`. Libera le risorse non gestite ed evita perdite di handle di file. +- **Attenzione:** Se esegui il codice più volte sullo stesso `result.zip`, il file verrà sovrascritto. Aggiungi un timestamp al nome del file se ti servono archivi unici. +- **Suggerimento di performance:** Il `ResourceHandler` memorizza tutto in memoria, il che è accettabile per la maggior parte dei file (< 20 MB). Per documenti enormi, passa a `FileSystemStorage` per scrivere le risorse temporanee su disco prima di comprimere. +- **Nota di compatibilità:** L'HTML generato è conforme a HTML5 e funziona su browser moderni. Le versioni più vecchie di IE potrebbero necessitare di un meta tag di compatibilità, che puoi inserire tramite `htmlOptions.PrependMetaTag`. + +--- + +## Risultato atteso + +Dopo aver eseguito il programma, troverai `result.zip` in `YOUR_DIRECTORY`. Apri lo ZIP – dovresti vedere: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Apri `document.html` in qualsiasi browser e vedrai una replica visiva fedele di `input.docx`. Nessuna immagine mancante, nessun link rotto – l'archivio è davvero autonomo. + +--- + + + +*Testo alternativo dell'immagine: "Diagramma che illustra come creare un archivio HTML da DOCX e generare un file ZIP da un documento Word."* + +--- + +## Conclusione + +Abbiamo appena coperto l'intero processo per **creare un archivio HTML da DOCX** e **generare un file ZIP da un documento Word** con Aspose.Words in C#. Il tutorial ti ha guidato attraverso il caricamento della sorgente, la configurazione della gestione delle risorse in memoria e l'impacchettamento di tutto in un archivio zip pronto per il download o per ulteriori elaborazioni. + +Ora puoi incorporare questo snippet in applicazioni più grandi — API web, servizi in background o anche strumenti desktop. Successivamente, prova a sperimentare con CSS personalizzato, incorporare font o aggiungere un manifest JSON per integrazioni più ricche. + +Se incontri problemi o hai idee per estensioni, lascia un commento qui sotto. Buon coding! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/italian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..857e5ab1b --- /dev/null +++ b/html/italian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: Come comprimere HTML in C# usando Aspose.HTML – scopri come esportare + una pagina web, scaricare le risorse della pagina e salvare l'HTML come zip rapidamente. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: it +og_description: Come comprimere HTML in zip con C# e Aspose.HTML. Questo tutorial + ti mostra come esportare le risorse della pagina web e salvare l'HTML come zip in + pochi semplici passaggi. +og_title: Come comprimere HTML in C# – Esporta la pagina web in ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Come comprimere HTML in C# – Esporta la pagina web in ZIP con Aspose.HTML +url: /it/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come comprimere HTML in C# – Esportare una pagina web in ZIP con Aspose.HTML + +Ti sei mai chiesto **come comprimere HTML** direttamente dalla tua applicazione C#? Non sei l'unico. In molti progetti dobbiamo **esportare il contenuto di una pagina web**, recuperare ogni immagine, CSS e script, per poi raggrupparli in un unico archivio da usare offline o distribuire. + +In questa guida percorreremo un esempio completo, eseguibile, che mostra esattamente **come comprimere HTML** usando la libreria Aspose.HTML. Alla fine sarai in grado di **scaricare le risorse della pagina web**, memorizzarle in memoria e **salvare HTML come zip** con poche righe di codice. Nessun tool esterno, nessuna gestione manuale dei file—solo una pulita automazione programmatica. + +## Prerequisiti + +Prima di immergerci, assicurati di avere a disposizione quanto segue: + +| Requisito | Perché è importante | +|-------------|----------------| +| .NET 6.0 o successivo (o .NET Framework 4.6+) | Aspose.HTML supporta entrambi, ma il runtime più recente offre migliori prestazioni. | +| Visual Studio 2022 (o qualsiasi IDE C#) | Un editor comodo ti aiuta a individuare rapidamente gli errori di sintassi. | +| Pacchetto NuGet Aspose.HTML per .NET | La libreria fornisce le classi `HTMLDocument`, `HTMLSaveOptions` e `ResourceHandler` che utilizzeremo. | +| Accesso a Internet (per l'URL di destinazione) | Caricheremo una pagina live (`https://example.com`) per dimostrare **download webpage resources**. | + +Puoi aggiungere il pacchetto Aspose.HTML tramite la console NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +Tutto qui—nessuna configurazione aggiuntiva necessaria. + +## Come comprimere HTML – Implementazione passo‑passo + +Di seguito suddividiamo il processo in quattro passaggi logici. Ogni passaggio è spiegato, seguito dal codice esatto da copiare‑incollare. + +> **Consiglio professionale:** Mantieni il codice in una libreria di classi separata se prevedi di riutilizzare la logica in più progetti. Facilita test e versionamento. + +### Passo 1: Creare un gestore di risorse personalizzato + +La prima cosa di cui abbiamo bisogno è un modo per intercettare ogni risorsa esterna (immagini, CSS, JS) che la pagina richiede. Aspose.HTML ci permette di collegare un `ResourceHandler`. Nel nostro caso memorizzeremo ogni risorsa in un `MemoryStream`, ma potresti facilmente sostituirlo con uno storage su file system o su un bucket cloud. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*ポイント:* メモリ上でドキュメントを作成することで、ファイル I/O のオーバーヘッドを回避し、パイプライン全体を高速に保てます。`` タグは単なるプレースホルダーです。任意の有効な HTML(CSS、画像、場合によっては JavaScript も)に置き換えて構いません(Aspose.HTML がサポートしている範囲内で)。 + +## 手順 2: WebFontStyle で太字イタリックフォントを定義する + +鮮明でスタイリッシュなテキストを実現するには、レンダラに使用するフォントとスタイルを指示する必要があります。`FontInfo` で `WebFontStyle` フラグを組み合わせます。 + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*ポイント:* `WebFontStyle.Bold | WebFontStyle.Italic` を使用すると、テキストが「Hello world」の太字イタリックとして正確に描画されます。これは **high quality png** をブランドや UI モックアップ向けに生成する際に重要です。 + +## 手順 3: フォントを段落に適用する + +次に、先ほど作成した `FontInfo` を最初の段落要素に割り当てます。これはブラウザの DevTools で行う操作と同様です。 + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*プロのコツ:* ドキュメントに複数の要素がある場合は、`htmlDoc.QuerySelectorAll` で DOM ツリーを走査し、必要な要素だけにフォントを割り当てられます。 + +## 手順 4: アンチエイリアシングを有効にして滑らかなラスタ出力を得る + +アンチエイリアシングはテキストや図形のエッジを滑らかにし、ギザギザしたピクセルを防ぎます。**render HTML to PNG** をプロフェッショナルに行うなら必須です。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## 手順 5: ヒンティングをオンにしてテキストをより鮮明に + +ヒンティングはグリフの輪郭をピクセルグリッドに合わせて調整し、特に小さいフォントサイズで効果を発揮します。 + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## 手順 6: PNG ファイルをレンダリングして保存する + +最後にすべてを `ImageRenderer` に渡します。このメソッドはドキュメント、出力パス、そして構築したレンダリングオプションを受け取ります。 + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +コードが完了すると、`YOUR_DIRECTORY` に `output.png` が生成されます。開いてみると、太字イタリック Arial の「Hello world」段落が完全にアンチエイリアス・ヒンティングされ、**high quality PNG** としてニュースレターやサムネイル、その他の下流プロセスにすぐ使える状態になっています。 + + + +*ポイント:* `ImageRenderer` はレイアウト、CSS パース、ラスタライズといった重い処理を抽象化し、外部ツール不要で **convert html to image** 体験を提供します。 + +## 完全動作サンプル + +以下はそのままコピペできる完全版プログラムです。.NET 6 でコンパイル可能で、ワンステップで PNG を生成します。 + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**期待される出力:** `output.png` という名前のファイルが作成され、**Hello world** の文が太字イタリック Arial で、エッジが滑らかに描画され、視覚的なアーティファクトがありません。 + +## よくある質問とエッジケース + +| Question | Answer | +|----------|--------| +| *Can I render a full‑page website?* | Yes—just load the URL with `new HTMLDocument("https://example.com")` instead of a string literal. | +| *What about external CSS or images?* | Ensure they’re reachable (absolute URLs or embedded base‑64). Aspose.HTML follows redirects and can load remote resources. | +| *Do I need to dispose objects?* | The `HTMLDocument` implements `IDisposable`. Wrap it in a `using` block for production code to free native resources promptly. | +| *How do I change image format?* | Pass a different file extension (`output.jpg`, `output.tiff`) to `Save`; the renderer picks the appropriate encoder. | +| *What if I need a transparent background?* | Set `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` before rendering. | + +## さらに高品質な PNG を生成するためのヒント + +1. **DPI を上げる** – `imageOptions.Resolution = 300` に設定すると印刷向け資産が作れます。 +2. **背景色を明示的に設定** – 固定の背景を指定すると、予期せぬ透過問題を防げます。 +3. **Web セーフフォントを使用** – 対象マシンにフォントが無い場合は、HTML 内で `@font-face` を使って埋め込みましょう。 + +## 次のステップ + +**create html document c#** をマスターし、**render html to png** ができるようになったら、以下も検討してみてください。 + +- **バッチレンダリング** – HTML 文字列のコレクションをループして PNG ギャラリーを生成。 +- **PDF 変換** – 同じ HTML ソースから PDF を取得したい場合は `ImageRenderer` を `PdfRenderer` に置き換える。 +- **動的データ** – レンダリング前に JSON から生成したコンテンツを HTML に注入すれば、レポート生成に最適です。 + +さまざまな CSS スタイルや大きなキャンバス、さらには SVG グラフィックでも実験してみてください。パイプラインは変わらず、Aspose.HTML が重い処理をすべて担ってくれます。 + +--- + +*Happy coding! If you ran into any snags, drop a comment below and we’ll troubleshoot together.* + +{{< /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 4110fd8e8..53ed64fc9 100644 --- a/html/japanese/net/html-extensions-and-conversions/_index.md +++ b/html/japanese/net/html-extensions-and-conversions/_index.md @@ -78,6 +78,12 @@ C# と Aspose.HTML を使用して、HTML コンテンツを Zip アーカイブ ### [C# で HTML を ZIP に保存 – 完全インメモリ例](./save-html-to-zip-in-c-complete-in-memory-example/) Aspose.HTML for .NET を使用して、HTML をメモリ内で ZIP アーカイブに保存する手順をステップバイステップで解説します。 +### [C# で HTML を Zip に圧縮する方法 – Aspose.HTML でウェブページを ZIP にエクスポート](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Aspose.HTML for .NET を使用して、C# で HTML コンテンツを ZIP アーカイブにエクスポートする手順をステップバイステップで解説します。 + +### [DOCX から HTML アーカイブを作成する – ステップバイステップ ガイド](./create-html-archive-from-docx-step-by-step-guide/) +Aspose.HTML for .NET を使用して、DOCX ファイルから HTML アーカイブを作成する手順をステップバイステップで解説します。 + ## 結論 結論として、HTML の拡張と変換は、現代の Web 開発に不可欠な要素です。Aspose.HTML for .NET はプロセスを簡素化し、あらゆるレベルの開発者が利用できるようにします。当社のチュートリアルに従うことで、幅広いスキルを備えた熟練した Web 開発者になるための道を順調に進むことができます。 diff --git a/html/japanese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/japanese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..0d1572fe6 --- /dev/null +++ b/html/japanese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,199 @@ +--- +category: general +date: 2026-03-20 +description: C#でDOCXからHTMLアーカイブを作成し、Word文書からZIPファイルを生成する。完全なコード、動作の理由、よくある落とし穴を学ぶ。 +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: ja +og_description: Aspose.Words を使用して DOCX から HTML アーカイブを作成し、Word 文書から ZIP ファイルを生成する。完全なコード、解説、ヒント。 +og_title: DOCXからHTMLアーカイブを作成する – 完全C#チュートリアル +tags: +- Aspose.Words +- C# +- Document Processing +title: DOCXからHTMLアーカイブを作成する – ステップバイステップガイド +url: /ja/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# DOCX から HTML アーカイブを作成 – 完全 C# チュートリアル + +DOCX から **HTML アーカイブを作成** したいと思ったことはありませんか? しかし、生成されたファイルを 1 つのパッケージにまとめる方法が分からない…という方は多いです。Web プレビュー機能を実装する場合や、オフラインで使用するためにドキュメントをエクスポートする場合など、Word ファイルを自己完結型の HTML ZIP に変換するのは一般的な要件です。 + +このガイドでは、Aspose.Words for .NET を使用して **Word ドキュメントから ZIP ファイルを生成** する正確な手順を解説し、各行の「なぜ」を説明しますので、独自のプロジェクトに合わせて応用できます。 + +--- + +## 必要なもの + +- **Aspose.Words for .NET**(最新の安定版、例: 24.10)。NuGet で取得できます: `Install-Package Aspose.Words`。 +- **.NET 6+** のコンソールまたは Web プロジェクト – 任意の C# 環境で構いません。 +- 入力用 Word ファイル(`input.docx`)を、管理できるフォルダーに配置しておきます。 +- 基本的な C# の知識 – 特別なことは不要で、コンソール アプリを実行できれば OK です。 + +以上です。余計なライブラリは不要、コマンドラインのトリックも不要です。準備はできましたか? さっそく始めましょう。 + +--- + +## ステップ 1 – ソース DOCX を Document オブジェクトに読み込む + +まず Word ファイルを読み取る必要があります。Aspose.Words はファイル形式を抽象化し、DOCX、DOC、ODT などに関係なく操作できる `Document` オブジェクトを提供します。 + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Why this matters:** ファイルを最初に一度だけ読み込むことでメモリ使用量が予測可能になり、後で PDF や PNG などの別フォーマットにエクスポートする際に同じ `doc` インスタンスを再利用できます。ファイルが巨大でも、Aspose.Words はデータを効率的にストリーミングするため、メモリ不足によるクラッシュを心配する必要はありません。 + +--- + +## ステップ 2 – デフォルトのリソースハンドリングで HTML 保存オプションを設定する + +HTML にエクスポートすると、Aspose.Words は `.html` ファイルだけでなく、画像・CSS・フォントなどのリソースフォルダーも生成します。既定ではこれらのリソースがファイルシステムに書き出されますが、`ResourceHandler` を使用してすべてメモリ上に保持させることができます。これが後で ZIP にまとめる **HTML アーカイブ from DOCX** を作成する鍵です。 + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Why use `ResourceHandler`?** 一時フォルダーを抽象化するため、ディスク上に不要なファイルが残りません。ハンドラーは生成された各リソースを `MemoryStream` として保持し、後で直接 ZIP アーカイブに流し込めるので、単一のダウンロード可能パッケージを返す Web サービスに最適です。 + +--- + +## ステップ 3 – ドキュメントとリソースを ZIP アーカイブに保存する + +いよいよ魔法の瞬間です。先ほど構築したオプションで Aspose.Words にドキュメントを保存させ、すべてを ZIP にまとめます。以下のコードは `System.IO.Compression` を使用して最終的な `result.zip` を作成します。 + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Why this works:** `doc.Save(htmlOptions)` が HTML ファイルと関連資産の生成をトリガーし、`ResourceHandler` がそれらをメモリ上にキャプチャします。`foreach` ループでキャプチャされた各エントリを走査し、`ZipArchive` に書き込むことで、元の DOCX を忠実に再現するために必要な `document.html` と画像・CSS・フォントがすべて含まれた単一の `result.zip` が完成します。 + +--- + +## よくあるバリエーションとエッジケース + +### 1. HTML ファイル名のカスタマイズ + +HTML ページに特定の名前(例: `preview.html`)を付けたい場合は、`htmlOptions.HtmlVersion = HtmlVersion.Html5;` を設定し、ZIP に追加するときにエントリ名を変更します。 + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. 非常に大きなドキュメントの処理 + +100 MB を超えるドキュメントの場合、ディスクに書き出す代わりに ZIP を直接レスポンスストリーム(ASP.NET)へストリーミングすることを検討してください。`FileStream` をレスポンスボディストリームに置き換えれば、コードはそのまま動作します。 + +### 3. 特定リソースの除外 + +画像が不要(テキストのみの HTML が欲しい)場合は、`htmlOptions.ExportImagesAsBase64 = true;` とするか、`htmlOptions.ExportImages = false` で画像エクスポートを完全に無効化します。`ResourceHandler` に含まれるエントリが減少し、ZIP のサイズが小さくなります。 + +### 4. マニフェストファイルの追加 + +一部のコンシューマは、アーカイブ内容を記述した `manifest.json` を期待します。以下のようにその場で作成できます。 + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## プロのコツと注意点 + +- **Pro tip:** `Document` と `ZipArchive` オブジェクトは必ず `using` ブロックで破棄してください。アンマネージドリソースが解放され、ファイルハンドルリークを防げます。 +- **Watch out for:** 同じ `result.zip` に対してコードを複数回実行すると上書きされます。ユニークなアーカイブが必要な場合は、ファイル名にタイムスタンプを付与しましょう。 +- **Performance tip:** `ResourceHandler` はすべてメモリに保持しますが、ほとんどのファイル(< 20 MB)では問題ありません。極めて大きなドキュメントの場合は、`FileSystemStorage` に切り替えて一時リソースをディスクに書き出してから ZIP にまとめると良いでしょう。 +- **Compatibility note:** 生成された HTML は HTML5 準拠で、最新のブラウザーで問題なく表示されます。古い IE では互換性メタタグが必要になることがあるので、`htmlOptions.PrependMetaTag` で注入できます。 + +--- + +## 期待される結果 + +プログラムを実行すると、`YOUR_DIRECTORY` に `result.zip` が作成されます。ZIP を開くと以下のようになっているはずです。 + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +任意のブラウザーで `document.html` を開くと、`input.docx` と同等のビジュアルが忠実に再現されます。画像が欠けていたりリンクが切れていたりすることはなく、アーカイブは完全に自己完結しています。 + + + +*画像の代替テキスト: 「DOCX から HTML アーカイブを作成し、Word ドキュメントから ZIP ファイルを生成する方法を示す図」* + +--- + +## 結論 + +今回、Aspose.Words を使って **DOCX から HTML アーカイブを作成** し、**Word ドキュメントから ZIP ファイルを生成** する完全な手順を解説しました。ソースの読み込み、インメモリリソースハンドリングの設定、ダウンロードやさらなる処理にすぐ使える ZIP アーカイブへのパッケージ化までを順を追って学びました。 + +このスニペットを Web API、バックグラウンドサービス、デスクトップツールなど、より大規模なアプリケーションに組み込むことができます。次はカスタム CSS の適用やフォント埋め込み、JSON マニフェストの追加など、統合をさらにリッチにする実験に挑戦してみてください。 + +問題が発生したり、拡張アイデアがあれば下のコメント欄にぜひ書き込んでください。Happy coding! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/japanese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..5d2f92647 --- /dev/null +++ b/html/japanese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-20 +description: Aspose.HTML を使用した C# での HTML の zip 圧縮方法 – ウェブページのエクスポート、ウェブページリソースのダウンロード、HTML + を zip としてすばやく保存する方法を学びましょう。 +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: ja +og_description: C# と Aspose.HTML を使用して HTML を zip にする方法。このチュートリアルでは、ウェブページのリソースをエクスポートし、HTML + を zip として保存する簡単な手順をご紹介します。 +og_title: C#でHTMLをZIPに圧縮する方法 – ウェブページをZIPにエクスポート +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: C#でHTMLをZIPに圧縮する方法 – Aspose.HTMLでウェブページをZIPにエクスポート +url: /ja/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#でHTMLをZIPにする方法 – Aspose.HTMLでウェブページをZIPにエクスポート + +Ever wondered **how to zip HTML** directly from your C# application? You're not alone. In many projects we need to **export webpage** content, grab every image, CSS, and script, then bundle it into a single archive for offline use or distribution. + +このガイドでは、Aspose.HTML ライブラリを使用して **HTMLをZIPにする** 方法を示す、完全かつ実行可能なサンプルをステップバイステップで解説します。最後まで読めば、**ウェブページのリソースをダウンロード** し、メモリに保存し、数行のコードだけで **HTMLをZIPとして保存** できるようになります。外部ツールや手動でのファイル操作は不要で、クリーンなプログラム自動化が実現できます。 + +## 前提条件 + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML supports both, but the latest runtime gives you better performance. | +| Visual Studio 2022 (or any C# IDE) | A comfortable editor helps you spot syntax errors quickly. | +| Aspose.HTML for .NET NuGet package | The library provides the `HTMLDocument`, `HTMLSaveOptions`, and `ResourceHandler` classes we’ll use. | +| Internet access (for the target URL) | We’ll be loading a live page (`https://example.com`) to demonstrate **download webpage resources**. | + +You can add the Aspose.HTML package via the NuGet console: + +```powershell +Install-Package Aspose.HTML +``` + +That’s it—no extra configuration needed. + +## HTMLをZIPにする方法 – ステップバイステップ実装 + +Below we break the process into four logical steps. Each step is explained, then followed by the exact code you can copy‑paste. + +> **Pro tip:** Keep the code in a separate class library if you plan to reuse the logic across multiple projects. It makes testing and versioning a breeze. + +### 手順 1: カスタムリソースハンドラの作成 + +The first thing we need is a way to intercept every external resource (images, CSS, JS) that the page requests. Aspose.HTML lets us plug in a `ResourceHandler`. In our case we’ll store each resource in a `MemoryStream`, but you could easily swap this for a file‑system storage or a cloud bucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Why this matters:* 메모리 상에서 문서를 생성하면 파일 I/O 오버헤드를 피하고 전체 파이프라인을 빠르게 유지할 수 있습니다. `` 태그는 단순히 자리표시자일 뿐이며, CSS, 이미지, 혹은 JavaScript( Aspose.HTML이 지원하는 경우) 등 유효한 HTML이라면 무엇이든 교체할 수 있습니다. + +## 2단계: WebFontStyle을 사용해 굵은‑이탤릭 폰트 정의 + +선명하고 스타일리시한 텍스트를 원한다면 렌더러에 어떤 폰트와 스타일을 사용할지 알려줘야 합니다. `FontInfo`를 사용하면 `WebFontStyle` 플래그를 조합할 수 있습니다. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Why this matters:* `WebFontStyle.Bold | WebFontStyle.Italic`을 사용하면 텍스트가 **Hello world**와 정확히 동일하게 굵은‑이탤릭으로 표시되어, 이후 **고품질 PNG 생성** 시 브랜드나 UI 목업에 필수적입니다. + +## 3단계: 폰트를 단락에 적용하기 + +이제 `FontInfo`를 첫 번째 단락 요소에 연결합니다. 이는 브라우저 DevTools에서 하는 작업과 동일합니다. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* 문서에 여러 요소가 있다면 DOM 트리(`htmlDoc.QuerySelectorAll`)를 순회하면서 폰트를 선택적으로 할당할 수 있습니다. + +## 4단계: 부드러운 래스터 출력을 위한 안티앨리어싱 활성화 + +안티앨리어싱은 텍스트와 도형의 가장자리를 부드럽게 하여 거친 픽셀을 방지합니다. **HTML을 PNG로 렌더링**을 목표로 할 때 반드시 필요한 기능입니다. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## 5단계: 선명한 텍스트를 위한 힌팅 활성화 + +힌팅은 글리프 윤곽을 픽셀 그리드에 맞추어 조정하므로, 특히 작은 폰트 크기에서 유용합니다. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## 6단계: PNG 파일 렌더링 및 저장 + +마지막으로 모든 작업을 `ImageRenderer`에 넘깁니다. 이 메서드는 문서, 대상 경로, 그리고 앞서 만든 렌더링 옵션을 인수로 받습니다. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +코드 실행이 끝나면 `YOUR_DIRECTORY`에 `output.png`가 생성됩니다. 파일을 열면 굵은‑이탤릭 Arial로 된 “Hello world” 단락이 완벽히 안티앨리어싱·힌팅 처리된 **고품질 PNG**로 표시됩니다—뉴스레터, 썸네일, 혹은 이후 프로세스에 바로 사용할 수 있습니다. + + + +*Why this works:* `ImageRenderer`는 레이아웃, CSS 파싱, 래스터화와 같은 무거운 작업을 추상화해, 외부 도구 없이도 진정한 **convert html to image** 경험을 제공합니다. + +## 전체 작업 예제 + +아래는 복사‑붙여넣기만 하면 되는 완전한 프로그램입니다. .NET 6에서 컴파일되며 한 번에 PNG를 생성합니다. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Expected output:** `output.png`라는 파일에 **Hello world** 문장이 굵은‑이탤릭 Arial로, 가장자리가 부드럽고 시각적 결함이 없는 형태로 표시됩니다. + +## 자주 묻는 질문 및 엣지 케이스 + +| Question | Answer | +|----------|--------| +| *전체 페이지 웹사이트를 렌더링할 수 있나요?* | 예—문자열 리터럴 대신 `new HTMLDocument("https://example.com")` 로 URL을 로드하면 됩니다. | +| *외부 CSS나 이미지가 있으면 어떻게 하나요?* | 절대 URL이든 base‑64로 임베드된 것이든 접근 가능하도록 보장하면 됩니다. Aspose.HTML은 리다이렉트를 따르고 원격 리소스를 로드할 수 있습니다. | +| *객체를 해제해야 하나요?* | `HTMLDocument`는 `IDisposable`을 구현합니다. 프로덕션 코드에서는 `using` 블록으로 감싸 네이티브 리소스를 즉시 해제하도록 합니다. | +| *이미지 포맷을 바꾸려면 어떻게 하나요?* | `Save`에 다른 파일 확장자(`output.jpg`, `output.tiff`)를 전달하면 렌더러가 적절한 인코더를 선택합니다. | +| *투명 배경이 필요하면 어떻게 하나요?* | 렌더링 전에 `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` 로 설정합니다. | + +## 고품질 PNG 생성 팁 + +1. **DPI 증가** – 인쇄용 자산을 위해 `imageOptions.Resolution = 300` 으로 설정합니다. +2. **배경 명시적 설정** – 단색 배경을 지정하면 의도치 않은 투명도 문제를 방지할 수 있습니다. +3. **웹‑안전 폰트 사용** – 대상 머신에 폰트가 없을 경우 HTML에 `@font-face` 로 임베드합니다. + +## 다음 단계 + +이제 **create html document c#**를 마스터하고 **render html to png**를 할 수 있게 되었으니, 다음을 탐색해 보세요: + +- **배치 렌더링** – HTML 문자열 컬렉션을 순회하면서 PNG 갤러리를 생성합니다. +- **PDF 변환** – 동일한 HTML 소스로 PDF를 만들려면 `ImageRenderer` 대신 `PdfRenderer`를 사용합니다. +- **동적 데이터** – 렌더링 전에 JSON‑기반 콘텐츠를 HTML에 주입하면 보고서 생성에 최적입니다. + +다양한 CSS 스타일, 더 큰 캔버스, 혹은 SVG 그래픽을 실험해 보세요. 파이프라인은 동일하게 유지되며, Aspose.HTML이 무거운 작업을 처리해 줍니다. + +--- + +*행복한 코딩 되세요! 문제가 발생하면 아래에 댓글을 남겨 주세요. 함께 해결해 보겠습니다.* + +{{< /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 38fc3bd7e..7ede7b452 100644 --- a/html/korean/net/html-extensions-and-conversions/_index.md +++ b/html/korean/net/html-extensions-and-conversions/_index.md @@ -66,13 +66,17 @@ Aspose.HTML for .NET을 사용하여 HTML을 TIFF로 변환하는 방법을 알 ### [Aspose.HTML을 사용하여 .NET에서 HTML을 XPS로 변환](./convert-html-to-xps/) .NET용 Aspose.HTML의 힘을 알아보세요: HTML을 XPS로 손쉽게 변환하세요. 필수 조건, 단계별 가이드, FAQ가 포함되어 있습니다. ### [C#에서 HTML을 Zip으로 압축하는 방법 – HTML을 Zip으로 저장](./how-to-zip-html-in-c-save-html-to-zip/) -C#과 Aspose.HTML을 사용해 HTML 파일을 ZIP 압축 파일로 저장하는 단계별 가이드를 제공합니다. +C#와 Aspose.HTML을 사용해 HTML 파일을 ZIP 압축 파일로 저장하는 단계별 가이드를 제공합니다. +### [C#에서 HTML을 ZIP으로 압축하는 방법 – Aspose.HTML으로 웹페이지를 ZIP으로 내보내기](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Aspose.HTML을 활용해 C#에서 웹 페이지를 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# 단계별 튜토리얼. ### [C#에서 HTML을 ZIP으로 저장 – 완전 인메모리 예제](./save-html-to-zip-in-c-complete-in-memory-example/) Aspose.HTML for .NET을 사용하여 메모리 내에서 HTML을 ZIP 파일로 저장하는 방법을 단계별로 안내합니다. +### [Aspose.HTML을 사용하여 DOCX에서 HTML 아카이브 만들기 – 단계별 가이드](./create-html-archive-from-docx-step-by-step-guide/) +Aspose.HTML for .NET을 사용해 DOCX 파일을 HTML 아카이브로 변환하는 단계별 가이드를 확인하세요. ## 결론 diff --git a/html/korean/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/korean/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..47f2196f2 --- /dev/null +++ b/html/korean/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-20 +description: C#에서 DOCX를 HTML 아카이브로 만들고 Word 문서에서 ZIP 파일을 생성합니다. 전체 코드를 배우고, 작동 원리와 + 흔히 발생하는 문제점을 알아보세요. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: ko +og_description: Aspose.Words를 사용해 DOCX에서 HTML 아카이브를 만들고 Word 문서에서 ZIP 파일을 생성합니다. 전체 + 코드, 설명 및 팁. +og_title: DOCX에서 HTML 아카이브 만들기 – 완전 C# 튜토리얼 +tags: +- Aspose.Words +- C# +- Document Processing +title: DOCX에서 HTML 아카이브 만들기 – 단계별 가이드 +url: /ko/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# DOCX에서 HTML 아카이브 만들기 – 완전한 C# 튜토리얼 + +DOCX에서 **HTML 아카이브 만들기**가 필요했지만 결과 파일을 하나의 패키지로 묶는 방법을 몰라 고민한 적이 있나요? 당신만 그런 것이 아닙니다. 웹 미리보기 기능을 구축하든 오프라인 사용을 위해 문서를 내보내든, Word 파일을 자체 포함된 HTML ZIP으로 변환하는 것은 흔한 요구사항입니다. + +이 가이드에서는 Aspose.Words for .NET을 사용해 **Word 문서에서 ZIP 파일을 생성**하는 정확한 단계들을 살펴보고, 각 라인 뒤에 숨은 “왜”를 설명하여 여러분이 자신의 프로젝트에 맞게 솔루션을 적용할 수 있도록 도와드립니다. + +--- + +## 필요 사항 + +- **Aspose.Words for .NET** (최신 안정 버전, 예: 24.10). NuGet을 통해 설치할 수 있습니다: `Install-Package Aspose.Words`. +- **.NET 6+** 콘솔 또는 웹 프로젝트 – 어떤 C# 환경이라도 괜찮습니다. +- 입력 Word 파일(`input.docx`)을 제어 가능한 폴더에 배치합니다. +- 기본적인 C# 지식 – 특별한 것이 필요 없으며, 콘솔 앱을 실행할 수 있으면 됩니다. + +이것으로 충분합니다. 추가 라이브러리도 없고 복잡한 명령줄 트릭도 없습니다. 준비되셨나요? 시작해봅시다. + +--- + +## 단계 1 – 소스 DOCX를 Document 객체에 로드하기 + +먼저 Word 파일을 읽어야 합니다. Aspose.Words는 파일 형식을 추상화하여, 소스가 DOCX, DOC, 혹은 ODT이든 관계없이 작업할 수 있는 `Document` 객체를 제공합니다. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**왜 중요한가:** 파일을 한 번만 로드하면 메모리 사용량을 예측 가능하게 유지하고, 이후에 여러 내보내기 형식(PDF, PNG 등)에서 `doc` 인스턴스를 재사용할 수 있습니다. 파일이 크더라도 Aspose.Words는 데이터를 효율적으로 스트리밍하므로 메모리 부족 오류를 걱정할 필요가 없습니다. + +--- + +## 단계 2 – 기본 리소스 처리를 사용하여 HTML 저장 옵션 구성하기 + +HTML로 내보낼 때 Aspose.Words는 `.html` 파일뿐만 아니라 리소스 폴더(이미지, CSS, 폰트)도 생성합니다. 기본적으로 이러한 리소스는 파일 시스템에 기록되지만, `ResourceHandler`를 사용해 모든 것을 메모리에 유지하도록 라이브러리에 지시할 수 있습니다. 이것이 나중에 ZIP으로 압축할 수 있는 **DOCX에서 HTML 아카이브 만들기**의 핵심입니다. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**왜 `ResourceHandler`를 사용할까요?** 임시 폴더를 추상화하여 디스크에 남는 불필요한 파일이 생기지 않게 합니다. 핸들러는 생성된 각 리소스를 `MemoryStream`으로 저장하므로, 이를 바로 ZIP 아카이브에 넣을 수 있어 단일 다운로드 패키지를 반환해야 하는 웹 서비스에 최적입니다. + +--- + +## 단계 3 – 문서와 리소스를 ZIP 아카이브에 저장하기 + +이제 마법이 일어납니다. 방금 만든 옵션으로 Aspose.Words에 문서를 저장하도록 요청하고, 모든 것을 ZIP으로 압축합니다. 아래 코드는 `System.IO.Compression`을 사용해 최종 `result.zip`을 생성합니다. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**왜 동작하나요:** `doc.Save(htmlOptions)`는 HTML 파일과 모든 관련 자산을 생성하도록 트리거하고, `ResourceHandler`가 이를 메모리에 캡처합니다. `foreach` 루프는 캡처된 각 항목을 순회하며 `ZipArchive`에 기록합니다. 결과적으로 원본 DOCX를 충실히 렌더링하는 데 필요한 `document.html`과 이미지, CSS, 폰트 등을 포함한 단일 `result.zip`이 생성됩니다. + +--- + +## 일반적인 변형 및 엣지 케이스 + +### 1. HTML 파일 이름 맞춤 설정 + +HTML 페이지에 특정 이름(예: `preview.html`)을 사용하고 싶다면 `htmlOptions.HtmlVersion = HtmlVersion.Html5;`를 설정하고 ZIP에 추가할 때 항목 이름을 바꿔 주세요: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. 매우 큰 문서 처리 + +문서 크기가 100 MB를 초과할 경우, 먼저 디스크에 쓰는 대신 ZIP을 직접 응답 스트림(ASP.NET)으로 스트리밍하는 것을 고려하세요. `FileStream`을 응답 본문 스트림으로 교체하면 코드는 동일하게 유지됩니다. + +### 3. 특정 리소스 제외 + +이미지가 필요 없고(예: 순수 텍스트 HTML만 원한다면) `htmlOptions.ExportImagesAsBase64 = true;`로 설정하거나 `htmlOptions.ExportImages = false`로 이미지 내보내기를 완전히 비활성화하세요. 그러면 `ResourceHandler`에 포함되는 항목이 줄어들어 ZIP 크기가 작아집니다. + +### 4. 매니페스트 파일 추가 + +일부 소비자는 아카이브 내용을 설명하는 `manifest.json`을 기대합니다. 이를 즉시 생성할 수 있습니다: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## 전문가 팁 및 주의사항 + +- **전문가 팁:** `Document`와 `ZipArchive` 객체는 항상 `using` 블록으로 해제하세요. 이렇게 하면 관리되지 않는 리소스가 해제되고 파일 핸들 누수를 방지할 수 있습니다. +- **주의:** 동일한 `result.zip`에 코드를 여러 번 실행하면 파일이 덮어쓰기됩니다. 고유한 아카이브가 필요하면 파일 이름에 타임스탬프를 추가하세요. +- **성능 팁:** `ResourceHandler`는 모든 것을 메모리에 저장하므로 대부분의 파일(< 20 MB)에는 문제가 없습니다. 대용량 문서의 경우 `FileSystemStorage`로 전환해 임시 리소스를 디스크에 기록한 뒤 ZIP으로 압축하세요. +- **호환성 참고:** 생성된 HTML은 HTML5 표준을 따르며 최신 브라우저에서 동작합니다. 오래된 IE 버전은 호환성 메타 태그가 필요할 수 있으며, 이는 `htmlOptions.PrependMetaTag`를 통해 삽입할 수 있습니다. + +--- + +## 예상 결과 + +프로그램을 실행하면 `YOUR_DIRECTORY`에 `result.zip`이 생성됩니다. ZIP을 열면 다음과 같은 내용이 보일 것입니다: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +`document.html`을 브라우저에서 열면 `input.docx`와 동일한 시각적 복제본을 확인할 수 있습니다. 이미지가 누락되거나 링크가 깨지는 일 없이 아카이브가 완전히 자체 포함됩니다. + +--- + + + +*Image alt text: "DOCX에서 HTML 아카이브를 거쳐 ZIP 파일까지의 흐름을 나타낸 다이어그램".* + +--- + +## 결론 + +우리는 이제 **DOCX에서 HTML 아카이브 만들기**와 **Word 문서에서 ZIP 파일 생성**을 Aspose.Words와 C#으로 수행하는 전체 과정을 다루었습니다. 이 튜토리얼은 소스 로드, 메모리 내 리소스 처리 구성, 그리고 다운로드 또는 추가 처리를 위해 모든 것을 ZIP 아카이브로 패키징하는 과정을 단계별로 안내했습니다. + +이제 이 코드를 웹 API, 백그라운드 서비스, 혹은 데스크톱 도구와 같은 더 큰 애플리케이션에 삽입할 수 있습니다. 다음 단계로는 사용자 정의 CSS 적용, 폰트 임베드, 혹은 JSON 매니페스트 추가 등을 실험해 보세요. + +문제가 발생하거나 확장 아이디어가 있다면 아래에 댓글을 남겨 주세요. 즐거운 코딩 되세요! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/korean/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..8857fa0d1 --- /dev/null +++ b/html/korean/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-03-20 +description: Aspose.HTML을 사용하여 C#에서 HTML을 zip으로 압축하는 방법 – 웹 페이지를 내보내고, 웹 페이지 리소스를 + 다운로드하며, HTML을 빠르게 zip 파일로 저장하는 방법을 배워보세요. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: ko +og_description: C#와 Aspose.HTML를 사용하여 HTML을 zip으로 압축하는 방법. 이 튜토리얼에서는 웹 페이지 리소스를 내보내고 + HTML을 zip 파일로 저장하는 간단한 단계들을 보여줍니다. +og_title: C#에서 HTML을 ZIP으로 압축하는 방법 – 웹페이지를 ZIP으로 내보내기 +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: C#에서 HTML을 ZIP으로 압축하는 방법 – Aspose.HTML로 웹페이지를 ZIP으로 내보내기 +url: /ko/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 HTML을 ZIP으로 압축하는 방법 – Aspose.HTML을 사용한 웹페이지 내보내기 + +C# 애플리케이션에서 직접 **how to zip HTML**을 수행하는 방법이 궁금하셨나요? 혼자가 아닙니다. 많은 프로젝트에서 우리는 **export webpage** 콘텐츠를 가져와 모든 이미지, CSS, 스크립트를 잡은 다음 오프라인 사용이나 배포를 위해 단일 아카이브로 묶어야 합니다. + +이 가이드에서는 Aspose.HTML 라이브러리를 사용하여 **how to zip HTML**을 정확히 보여주는 완전하고 실행 가능한 예제를 단계별로 살펴보겠습니다. 끝까지 읽으면 **download webpage resources**를 수행하고, 메모리에 저장하며, **save HTML as zip**을 몇 줄의 코드만으로 구현할 수 있게 됩니다. 외부 도구 없이, 수동 파일 조작 없이—깨끗한 프로그래밍 자동화만으로 가능합니다. + +## 사전 요구 사항 + +시작하기 전에 다음 항목들을 준비하세요: + +| 요구 사항 | 중요한 이유 | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML은 두 환경을 모두 지원하지만 최신 런타임이 더 나은 성능을 제공합니다. | +| Visual Studio 2022 (or any C# IDE) | 편리한 편집기는 구문 오류를 빠르게 찾는 데 도움이 됩니다. | +| Aspose.HTML for .NET NuGet package | 이 라이브러리는 우리가 사용할 `HTMLDocument`, `HTMLSaveOptions`, `ResourceHandler` 클래스를 제공합니다. | +| Internet access (for the target URL) | 실시간 페이지(`https://example.com`)를 로드하여 **download webpage resources**를 시연합니다. | + +NuGet 콘솔을 통해 Aspose.HTML 패키지를 추가할 수 있습니다: + +```powershell +Install-Package Aspose.HTML +``` + +그게 전부입니다—추가 설정은 필요 없습니다. + +## HTML을 ZIP으로 압축하는 방법 – 단계별 구현 + +아래에서는 프로세스를 네 가지 논리적 단계로 나눕니다. 각 단계마다 설명을 제공하고, 바로 복사‑붙여넣기 할 수 있는 정확한 코드를 제공합니다. +> **Pro tip:** 여러 프로젝트에서 로직을 재사용할 계획이라면 코드를 별도의 클래스 라이브러리에 보관하십시오. 테스트와 버전 관리가 쉬워집니다. + +### 단계 1: 사용자 정의 리소스 핸들러 만들기 + +먼저 페이지가 요청하는 모든 외부 리소스(이미지, CSS, JS)를 가로채는 방법이 필요합니다. Aspose.HTML는 `ResourceHandler`를 플러그인으로 사용할 수 있게 해줍니다. 여기서는 각 리소스를 `MemoryStream`에 저장하지만, 파일 시스템 저장소나 클라우드 버킷으로 쉽게 교체할 수 있습니다. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Dlaczego to jest ważne:* Tworząc dokument w pamięci, unikamy narzutu związanego z operacjami I/O i utrzymujemy cały pipeline szybki. Tag `` jest tylko symbolem zastępczym — możesz go zamienić na dowolny prawidłowy HTML, w tym CSS, obrazy lub nawet JavaScript (o ile jest obsługiwany przez Aspose.HTML). + +## Krok 2: Zdefiniuj czcionkę pogrubioną‑pochyloną przy użyciu WebFontStyle + +Jeśli chcesz wyraźny, stylizowany tekst, musisz poinformować renderer, której czcionki i stylu użyć. `FontInfo` pozwala połączyć flagi `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Dlaczego to jest ważne:* Użycie `WebFontStyle.Bold | WebFontStyle.Italic` zapewnia, że tekst wygląda dokładnie jak „Hello world” w pogrubionej‑pochylonej wersji, co jest kluczowe, gdy później **generate high quality png** dla brandingu lub mockupów UI. + +## Krok 3: Zastosuj czcionkę do akapitu + +Teraz dołączamy `FontInfo` do pierwszego elementu akapitu. To odzwierciedla to, co robiłbyś w DevTools przeglądarki. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Wskazówka:* Jeśli Twój dokument ma wiele elementów, możesz przejść po drzewie DOM (`htmlDoc.QuerySelectorAll`) i przypisywać czcionki selektywnie. + +## Krok 4: Włącz antyaliasing dla płynniejszego wyjścia rastrowego + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Krok 5: Włącz hinting dla ostrzejszego tekstu + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Krok 6: Renderuj i zapisz plik PNG + +Na koniec przekazujemy wszystko do `ImageRenderer`. Metoda przyjmuje dokument, ścieżkę docelową oraz opcje renderowania, które skonfigurowaliśmy. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Gdy kod zakończy działanie, znajdziesz `output.png` w `YOUR_DIRECTORY`. Otwórz go i powinieneś zobaczyć akapit „Hello world” w pogrubionej‑pochylonej Arial, idealnie antyaliasowany i z hintingiem — **high quality PNG** gotowy do newsletterów, miniatur lub dowolnego procesu downstream. + + + +*Dlaczego to działa:* `ImageRenderer` abstrahuje ciężką pracę związaną z układem, parsowaniem CSS i rasteryzacją, dostarczając prawdziwe doświadczenie **convert html to image** bez zewnętrznych narzędzi. + +## Pełny działający przykład + +Poniżej znajduje się kompletny, gotowy do skopiowania program. Kompiluje się z .NET 6 i wytwarza PNG w jednym kroku. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Oczekiwany wynik:** Plik o nazwie `output.png`, który wyświetla zdanie **Hello world** w pogrubionej‑pochylonej Arial, z gładkimi krawędziami i bez artefaktów wizualnych. + +## Często zadawane pytania i przypadki brzegowe + +| Pytanie | Odpowiedź | +|----------|--------| +| *Czy mogę wyrenderować pełnostronicową witrynę?* | Tak — po prostu załaduj URL przy użyciu `new HTMLDocument("https://example.com")` zamiast literału ciągu znaków. | +| *A co z zewnętrznym CSS lub obrazami?* | Upewnij się, że są dostępne (bezpośrednie URL‑e lub osadzone base‑64). Aspose.HTML obsługuje przekierowania i może ładować zasoby zdalne. | +| *Czy muszę zwalniać obiekty?* | `HTMLDocument` implementuje `IDisposable`. Owiń go w blok `using` w kodzie produkcyjnym, aby szybko zwolnić zasoby natywne. | +| *Jak zmienić format obrazu?* | Przekaż inną rozszerzenie pliku (`output.jpg`, `output.tiff`) do `Save`; renderer wybierze odpowiedni enkoder. | +| *Co zrobić, jeśli potrzebuję przezroczystego tła?* | Ustaw `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` przed renderowaniem. | + +## Wskazówki dla generowania jeszcze wyższej jakości PNG + +1. **Zwiększ DPI** – Ustaw `imageOptions.Resolution = 300` dla zasobów gotowych do druku. +2. **Jawnie ustaw tło** – Stałe tło zapobiega niezamierzonym problemom z przezroczystością. +3. **Używaj czcionek web‑safe** – Jeśli docelowa maszyna nie ma czcionki, osadź ją za pomocą `@font-face` w HTML. + +## Kolejne kroki + +Teraz, gdy opanowałeś **create html document c#** i możesz **render html to png**, rozważ dalsze eksploracje: + +- **Batch rendering** – Przejdź pętlą po kolekcji ciągów HTML, aby wygenerować galerię PNG. +- **PDF conversion** – Zamień `ImageRenderer` na `PdfRenderer`, aby uzyskać PDF‑y z tego samego źródła HTML. +- **Dynamic data** – Wstrzyknij treść opartą na JSON do HTML przed renderowaniem, idealne do generowania raportów. + +Śmiało eksperymentuj z różnymi stylami CSS, większymi płótnami lub nawet grafiką SVG. Pipeline pozostaje taki sam, a Aspose.HTML zajmie się ciężką pracą. + +--- + +*Miłego kodowania! Jeśli napotkasz problemy, zostaw komentarz poniżej, a wspólnie je rozwiążemy.* + +{{< /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 5b553b002..65d8ab1c8 100644 --- a/html/polish/net/html-extensions-and-conversions/_index.md +++ b/html/polish/net/html-extensions-and-conversions/_index.md @@ -41,6 +41,8 @@ Aspose.HTML dla .NET to nie tylko biblioteka; to przełom w świecie tworzenia s Konwertuj HTML do PDF bez wysiłku dzięki Aspose.HTML dla .NET. Postępuj zgodnie z naszym przewodnikiem krok po kroku i uwolnij moc konwersji HTML do PDF. ### [Utwórz PDF z HTML – przewodnik krok po kroku w C#](./create-pdf-from-html-c-step-by-step-guide/) Dowiedz się, jak w C# wygenerować plik PDF z kodu HTML, korzystając z Aspose.HTML – kompletny przewodnik krok po kroku. +### [Utwórz archiwum HTML z DOCX – przewodnik krok po kroku](./create-html-archive-from-docx-step-by-step-guide/) +Dowiedz się, jak utworzyć archiwum HTML z pliku DOCX przy użyciu Aspose.HTML w .NET – kompletny przewodnik krok po kroku. ### [Konwersja EPUB do obrazu w .NET za pomocą Aspose.HTML](./convert-epub-to-image/) Dowiedz się, jak konwertować EPUB na obrazy za pomocą Aspose.HTML dla .NET. Samouczek krok po kroku z przykładami kodu i opcjami dostosowywania. ### [Konwertuj EPUB do PDF w .NET za pomocą Aspose.HTML](./convert-epub-to-pdf/) @@ -67,6 +69,8 @@ Dowiedz się, jak konwertować HTML do TIFF za pomocą Aspose.HTML dla .NET. Pos Odkryj moc Aspose.HTML dla .NET: Konwertuj HTML na XPS bez wysiłku. Zawiera wymagania wstępne, przewodnik krok po kroku i FAQ. ### [Jak spakować HTML w C# – Zapisz HTML do pliku ZIP](./how-to-zip-html-in-c-save-html-to-zip/) Dowiedz się, jak spakować plik HTML do archiwum ZIP w C# przy użyciu Aspose.HTML. +### [Jak spakować HTML w C# – Eksportuj stronę internetową do ZIP przy użyciu Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Dowiedz się, jak wyeksportować całą stronę internetową do pliku ZIP w C# przy użyciu Aspose.HTML. ### [Utwórz dokument HTML ze stylowanym tekstem i wyeksportuj do PDF – Pełny przewodnik](./create-html-document-with-styled-text-and-export-to-pdf-full/) Dowiedz się, jak stworzyć dokument HTML z formatowanym tekstem i wyeksportować go do PDF przy użyciu Aspose.HTML dla .NET. ### [Zapisz HTML jako ZIP – Kompletny samouczek C#](./save-html-as-zip-complete-c-tutorial/) diff --git a/html/polish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/polish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..6177a9600 --- /dev/null +++ b/html/polish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,201 @@ +--- +category: general +date: 2026-03-20 +description: Utwórz archiwum HTML z pliku DOCX i wygeneruj plik ZIP z dokumentu Word + w C#. Poznaj pełny kod, dlaczego działa, oraz typowe pułapki. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: pl +og_description: Utwórz archiwum HTML z pliku DOCX i wygeneruj plik ZIP z dokumentu + Word przy użyciu Aspose.Words. Pełny kod, wyjaśnienia i wskazówki. +og_title: Utwórz archiwum HTML z DOCX – Kompletny samouczek C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Utwórz archiwum HTML z DOCX – Przewodnik krok po kroku +url: /pl/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Utwórz archiwum HTML z DOCX – Kompletny samouczek C# + +Kiedykolwiek potrzebowałeś **utworzyć archiwum HTML z DOCX**, ale nie wiedziałeś, jak spakować powstałe pliki w jeden pakiet? Nie jesteś jedyny. Niezależnie od tego, czy tworzysz funkcję podglądu w sieci, czy eksportujesz dokumenty do użytku offline, przekształcenie pliku Word w samodzielny archiwum HTML ZIP jest powszechnym wymogiem. + +W tym przewodniku przeprowadzimy Cię przez dokładne kroki, aby **wygenerować plik ZIP z dokumentu Word** przy użyciu Aspose.Words for .NET, i wyjaśnimy „dlaczego” za każdą linią, abyś mógł dostosować rozwiązanie do własnych projektów. + +--- + +## Czego będziesz potrzebować + +- **Aspose.Words for .NET** (najnowsza stabilna wersja, np. 24.10). Możesz ją pobrać przez NuGet: `Install-Package Aspose.Words`. +- Projekt konsolowy lub webowy **.NET 6+** – dowolne środowisko C# będzie odpowiednie. +- Plik Word wejściowy (`input.docx`) znajdujący się w folderze, którym zarządzasz. +- Podstawowa znajomość C# – nic skomplikowanego, po prostu umiejętność uruchomienia aplikacji konsolowej. + +To wszystko. Bez dodatkowych bibliotek, bez skomplikowanych sztuczek w wierszu poleceń. Gotowy? Zaczynajmy. + +--- + +## Krok 1 – Załaduj źródłowy DOCX do obiektu Document + +Najpierw musimy odczytać plik Word. Aspose.Words abstrahuje format pliku, dostarczając obiekt `Document`, z którym możesz pracować niezależnie od tego, czy źródło jest w formacie DOCX, DOC, czy nawet ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Dlaczego to ważne:** Załadowanie pliku raz na początku zapewnia przewidywalne zużycie pamięci i pozwala ponownie używać instancji `doc` do wielu formatów eksportu później (PDF, PNG, itp.). Jeśli plik jest duży, Aspose.Words strumieniuje dane efektywnie, więc nie musisz się martwić o awarie z powodu braku pamięci. + +--- + +## Krok 2 – Skonfiguruj opcje zapisu HTML z domyślnym obsługiwaniem zasobów + +Podczas eksportu do HTML, Aspose.Words tworzy nie tylko plik `.html`, ale także folder zasobów (obrazy, CSS, czcionki). Domyślnie te zasoby są zapisywane w systemie plików, ale możemy poinstruować bibliotekę, aby przechowywała wszystko w pamięci przy użyciu `ResourceHandler`. To klucz do stworzenia **archiwum HTML z DOCX**, które później możemy spakować. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Dlaczego używać `ResourceHandler`?** Abstrahuje on tymczasowy folder, co oznacza, że nie pozostawisz niepotrzebnych plików na dysku. Obsługa przechowuje każdy wygenerowany zasób jako `MemoryStream`, który możemy później bezpośrednio wprowadzić do archiwum ZIP – idealne dla usług internetowych, które muszą zwrócić jeden pobieralny pakiet. + +--- + +## Krok 3 – Zapisz dokument i jego zasoby do archiwum ZIP + +Teraz dzieje się magia. Prosimy Aspose.Words o zapisanie dokumentu z opcjami, które właśnie skonfigurowaliśmy, a następnie pakujemy wszystko do ZIP. Poniższy kod używa `System.IO.Compression` do stworzenia finalnego `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Dlaczego to działa:** `doc.Save(htmlOptions)` wyzwala generowanie pliku HTML oraz wszystkich powiązanych zasobów, które `ResourceHandler` przechwytuje w pamięci. Pętla `foreach` iteruje następnie po każdym przechwyconym wpisie, zapisując go do `ZipArchive`. Wynikiem jest pojedynczy `result.zip`, który zawiera `document.html` oraz wszystkie obrazy, CSS lub czcionki niezbędne do wiernego odtworzenia oryginalnego DOCX. + +--- + +## Typowe warianty i przypadki brzegowe + +### 1. Dostosowanie nazwy pliku HTML + +Jeśli chcesz, aby strona HTML miała określoną nazwę (np. `preview.html`), ustaw `htmlOptions.HtmlVersion = HtmlVersion.Html5;` i zmień nazwę wpisu przy dodawaniu go do ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Obsługa bardzo dużych dokumentów + +W przypadku dokumentów większych niż 100 MB, rozważ strumieniowanie ZIP bezpośrednio do strumienia odpowiedzi (w ASP.NET) zamiast najpierw zapisywać na dysku. Zastąp `FileStream` strumieniem ciała odpowiedzi, a kod pozostanie taki sam. + +### 3. Wykluczanie niektórych zasobów + +Jeśli nie potrzebujesz obrazów (być może chcesz tylko czysty tekst HTML), ustaw `htmlOptions.ExportImagesAsBase64 = true;` lub całkowicie wyłącz eksport obrazów za pomocą `htmlOptions.ExportImages = false`. `ResourceHandler` będzie wtedy zawierał mniej wpisów, co sprawi, że ZIP będzie mniejszy. + +### 4. Dodawanie pliku manifestu + +Niektórzy odbiorcy oczekują pliku `manifest.json` opisującego zawartość archiwum. Możesz go stworzyć w locie: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Porady profesjonalne i pułapki + +- **Porada:** Zawsze zwalniaj obiekty `Document` i `ZipArchive` za pomocą bloków `using`. Uwalnia to zasoby niezarządzane i zapobiega wyciekom uchwytów plików. +- **Uwaga:** Jeśli uruchomisz kod wielokrotnie względem tego samego `result.zip`, plik zostanie nadpisany. Dodaj znacznik czasu do nazwy pliku, jeśli potrzebujesz unikalnych archiwów. +- **Wskazówka wydajnościowa:** `ResourceHandler` przechowuje wszystko w pamięci, co jest w porządku dla większości plików (< 20 MB). Dla bardzo dużych dokumentów przełącz się na `FileSystemStorage`, aby zapisywać tymczasowe zasoby na dysku przed spakowaniem. +- **Uwaga o kompatybilności:** Wygenerowany HTML jest zgodny z HTML5 i działa we wszystkich nowoczesnych przeglądarkach. Starsze wersje IE mogą wymagać meta tagu kompatybilności, który możesz wstrzyknąć za pomocą `htmlOptions.PrependMetaTag`. + +--- + +## Oczekiwany wynik + +Po uruchomieniu programu znajdziesz `result.zip` w `YOUR_DIRECTORY`. Otwórz ZIP – powinieneś zobaczyć: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Otwórz `document.html` w dowolnej przeglądarce, a zobaczysz wierną wizualną replikę `input.docx`. Brak brakujących obrazów, brak zepsutych linków – archiwum jest naprawdę samodzielne. + + + +*Tekst alternatywny obrazu: "Diagram ilustrujący, jak utworzyć archiwum HTML z DOCX i wygenerować plik ZIP z dokumentu Word."* + +--- + +## Zakończenie + +Właśnie omówiliśmy kompletny proces **tworzenia archiwum HTML z DOCX** oraz **generowania pliku ZIP z dokumentu Word** przy użyciu Aspose.Words w C#. Samouczek przeprowadził Cię przez ładowanie źródła, konfigurowanie obsługi zasobów w pamięci oraz pakowanie wszystkiego do archiwum ZIP gotowego do pobrania lub dalszego przetwarzania. + +Teraz możesz osadzić ten fragment kodu w większych aplikacjach — interfejsach API webowych, usługach w tle lub nawet narzędziach desktopowych. Następnie spróbuj eksperymentować z własnym CSS, osadzaniem czcionek lub dodaniem manifestu JSON dla bogatszych integracji. + +Jeśli napotkasz jakiekolwiek problemy lub masz pomysły na rozszerzenia, zostaw komentarz poniżej. Szczęśliwego kodowania! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/polish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..2e624e085 --- /dev/null +++ b/html/polish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: Jak spakować HTML w C# przy użyciu Aspose.HTML – dowiedz się, jak wyeksportować + stronę internetową, pobrać zasoby strony i szybko zapisać HTML jako plik zip. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: pl +og_description: Jak spakować HTML w formacie zip w C# przy użyciu Aspose.HTML. Ten + samouczek pokazuje, jak wyeksportować zasoby strony internetowej i zapisać HTML + jako plik zip w kilku prostych krokach. +og_title: Jak spakować HTML w C# – Eksportuj stronę internetową do pliku ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Jak spakować HTML w C# – Eksportuj stronę internetową do ZIP przy użyciu Aspose.HTML +url: /pl/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak spakować HTML w C# – Eksportowanie strony internetowej do ZIP przy użyciu Aspose.HTML + +Zastanawiałeś się kiedyś **jak spakować HTML** bezpośrednio w swojej aplikacji C#? Nie jesteś sam. W wielu projektach musimy **eksportować stronę internetową**, pobrać każdy obraz, CSS i skrypt, a następnie spakować je w jedną archiwum do użytku offline lub dystrybucji. + +W tym przewodniku przeprowadzimy Cię przez kompletny, działający przykład, który dokładnie pokazuje **jak spakować HTML** przy użyciu biblioteki Aspose.HTML. Po zakończeniu będziesz w stanie **pobrać zasoby strony internetowej**, przechowywać je w pamięci i **zapisać HTML jako zip** za pomocą kilku linijek kodu. Bez zewnętrznych narzędzi, bez ręcznego manipulowania plikami — po prostu czysta, programowa automatyzacja. + +## Wymagania wstępne + +Zanim zaczniemy, upewnij się, że masz pod ręką następujące elementy: + +| Wymaganie | Dlaczego jest ważne | +|-------------|----------------| +| .NET 6.0 lub nowszy (lub .NET Framework 4.6+) | Aspose.HTML obsługuje oba, ale najnowsze środowisko uruchomieniowe zapewnia lepszą wydajność. | +| Visual Studio 2022 (lub dowolne IDE C#) | Wygodny edytor pomaga szybko wykrywać błędy składni. | +| Pakiet NuGet Aspose.HTML for .NET | Biblioteka dostarcza klasy `HTMLDocument`, `HTMLSaveOptions` i `ResourceHandler`, których użyjemy. | +| Dostęp do Internetu (do docelowego URL) | Załadujemy żywą stronę (`https://example.com`), aby zademonstrować **pobieranie zasobów strony internetowej**. | + +Możesz dodać pakiet Aspose.HTML za pomocą konsoli NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +To wszystko — nie wymaga dodatkowej konfiguracji. + +## Jak spakować HTML – Implementacja krok po kroku + +Poniżej dzielimy proces na cztery logiczne kroki. Każdy krok jest wyjaśniony, a następnie podany jest dokładny kod, który możesz skopiować‑wkleić. + +> **Wskazówka:** Trzymaj kod w osobnej bibliotece klas, jeśli planujesz ponowne użycie logiki w wielu projektach. Ułatwia to testowanie i wersjonowanie. + +### Krok 1: Utwórz własny handler zasobów + +Pierwszą rzeczą, której potrzebujemy, jest sposób na przechwycenie każdego zewnętrznego zasobu (obrazów, CSS, JS), którego żąda strona. Aspose.HTML pozwala podłączyć `ResourceHandler`. W naszym przypadku będziemy przechowywać każdy zasób w `MemoryStream`, ale możesz łatwo zamienić to na przechowywanie w systemie plików lub w chmurze. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Por que isso importa:* Ao criar o documento na memória evitamos a sobrecarga de I/O de arquivos e mantemos todo o pipeline rápido. A tag `` é apenas um espaço reservado—você pode substituí‑la por qualquer HTML válido, incluindo CSS, imagens ou até JavaScript (desde que seja suportado pelo Aspose.HTML). + +## Etapa 2: Definir uma Fonte Negrito‑Itálico com WebFontStyle + +Se você quer texto nítido e estilizado, precisa informar ao renderizador qual fonte e estilo usar. `FontInfo` permite combinar flags `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Por que isso importa:* Usar `WebFontStyle.Bold | WebFontStyle.Italic` garante que o texto apareça exatamente como “Hello world” em negrito‑itálico, o que é crucial quando você posteriormente **gerar PNG de alta qualidade** para branding ou mockups de UI. + +## Etapa 3: Aplicar a Fonte ao Parágrafo + +Agora anexamos o `FontInfo` ao primeiro elemento de parágrafo. Isso espelha o que você faria nas DevTools de um navegador. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Dica profissional:* Se o seu documento possuir vários elementos, você pode percorrer a árvore DOM (`htmlDoc.QuerySelectorAll`) e atribuir fontes seletivamente. + +## Etapa 4: Habilitar Antialiasing para Saída Rasterizada Mais Suave + +Antialiasing suaviza as bordas de texto e formas, evitando pixels serrilhados. É indispensável quando você pretende **renderizar HTML para PNG** em uso profissional. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Etapa 5: Ativar Hinting para Texto Mais Nítido + +Hinting ajusta os contornos dos glifos para alinhar à grade de pixels, o que é especialmente útil em tamanhos de fonte pequenos. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Etapa 6: Renderizar e Salvar o Arquivo PNG + +Por fim, entregamos tudo ao `ImageRenderer`. O método recebe o documento, o caminho de destino e as opções de renderização que configuramos. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Quando o código terminar, você encontrará `output.png` em `YOUR_DIRECTORY`. Abra‑lo e verá o parágrafo “Hello world” em Arial negrito‑itálico, perfeitamente antialiasado e com hinting—a **PNG de alta qualidade** pronta para newsletters, miniaturas ou qualquer processo subsequente. + + + +*Por que isso funciona:* `ImageRenderer` abstrai o trabalho pesado de layout, análise de CSS e rasterização, proporcionando uma experiência verdadeira de **converter html em imagem** sem ferramentas externas. + +## Exemplo Completo Funcional + +Abaixo está o programa completo, pronto para copiar e colar. Ele compila com .NET 6 e produz o PNG em uma única execução. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Saída esperada:** Um arquivo chamado `output.png` que exibe a frase **Hello world** em Arial negrito‑itálico, com bordas suaves e sem artefatos visuais. + +## Perguntas Frequentes & Casos de Borda + +| Pergunta | Resposta | +|----------|----------| +| *Posso renderizar um site de página inteira?* | Sim—basta carregar a URL com `new HTMLDocument("https://example.com")` em vez de uma string literal. | +| *E quanto a CSS ou imagens externas?* | Certifique‑se de que estejam acessíveis (URLs absolutas ou incorporadas em base‑64). Aspose.HTML segue redirecionamentos e pode carregar recursos remotos. | +| *Preciso descartar objetos?* | `HTMLDocument` implementa `IDisposable`. Envolva‑o em um bloco `using` no código de produção para liberar recursos nativos rapidamente. | +| *Como mudar o formato da imagem?* | Passe uma extensão de arquivo diferente (`output.jpg`, `output.tiff`) para `Save`; o renderizador escolherá o codificador adequado. | +| *E se eu precisar de fundo transparente?* | Defina `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` antes de renderizar. | + +## Dicas para Gerar PNGs Ainda Mais Qualitativos + +1. **Aumente o DPI** – Defina `imageOptions.Resolution = 300` para ativos prontos para impressão. +2. **Defina explicitamente o fundo** – Um fundo sólido evita problemas inesperados de transparência. +3. **Use fontes web‑seguras** – Se a máquina de destino não possuir a fonte, incorpore‑a via `@font-face` no HTML. + +## Próximos Passos + +Agora que você dominou **criar documento html c#** e pode **renderizar html para png**, considere explorar: + +- **Renderização em lote** – Percorra uma coleção de strings HTML para produzir uma galeria de PNGs. +- **Conversão para PDF** – Troque `ImageRenderer` por `PdfRenderer` para obter PDFs a partir da mesma fonte HTML. +- **Dados dinâmicos** – Injete conteúdo baseado em JSON no HTML antes da renderização, ideal para geração de relatórios. + +Sinta‑se à vontade para experimentar diferentes estilos CSS, telas maiores ou até gráficos SVG. O pipeline permanece o mesmo, e o Aspose.HTML cuidará do trabalho pesado. + +--- + +*Feliz codificação! Se encontrar algum obstáculo, deixe um comentário abaixo e resolveremos juntos.* + +{{< /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 8971d46a5..ad8f4a4ee 100644 --- a/html/portuguese/net/html-extensions-and-conversions/_index.md +++ b/html/portuguese/net/html-extensions-and-conversions/_index.md @@ -75,9 +75,16 @@ Aprenda a salvar documentos HTML em arquivos ZIP usando Aspose.HTML para .NET co ### [Como compactar HTML em C# – Salvar HTML em ZIP](./how-to-zip-html-in-c-save-html-to-zip/) Aprenda a criar um arquivo ZIP contendo arquivos HTML usando Aspose.HTML para .NET em C#. + ### [Salvar HTML em ZIP em C# – Exemplo Completo em Memória](./save-html-to-zip-in-c-complete-in-memory-example/) Aprenda a salvar arquivos HTML em um arquivo ZIP usando C# com um exemplo completo totalmente em memória. +### [Como compactar HTML em C# – Exportar página da web para ZIP com Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Aprenda a exportar uma página da web como arquivo ZIP usando Aspose.HTML para .NET em C# com este tutorial passo a passo. + +### [Criar arquivo HTML a partir de DOCX – Guia passo a passo](./create-html-archive-from-docx-step-by-step-guide/) +Aprenda a criar um arquivo HTML a partir de um documento DOCX usando Aspose.HTML para .NET. Guia passo a passo com exemplos de código. + ## Conclusão Concluindo, extensões e conversões HTML são elementos essenciais do desenvolvimento web moderno. O Aspose.HTML para .NET simplifica o processo e o torna acessível a desenvolvedores de todos os níveis. Ao seguir nossos tutoriais, você estará no caminho certo para se tornar um desenvolvedor web proficiente com um amplo conjunto de habilidades. diff --git a/html/portuguese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/portuguese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..a82474638 --- /dev/null +++ b/html/portuguese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-03-20 +description: Crie um arquivo HTML a partir de DOCX e gere um arquivo ZIP a partir + de um documento Word em C#. Aprenda o código completo, por que ele funciona e as + armadilhas comuns. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: pt +og_description: Crie um arquivo HTML a partir de DOCX e gere um arquivo ZIP a partir + de documento Word usando Aspose.Words. Código completo, explicações e dicas. +og_title: Criar arquivo HTML a partir de DOCX – Tutorial completo de C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Criar arquivo HTML a partir de DOCX – Guia passo a passo +url: /pt/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Criar arquivo HTML a partir de DOCX – Tutorial Completo em C# + +Já precisou **criar um arquivo HTML a partir de DOCX** mas não sabia como agrupar os arquivos resultantes em um único pacote? Você não está sozinho. Seja construindo um recurso de pré‑visualização na web ou exportando documentos para uso offline, transformar um arquivo Word em um ZIP HTML autônomo é uma necessidade comum. + +Neste guia, percorreremos os passos exatos para **gerar um arquivo ZIP a partir de um documento Word** usando Aspose.Words for .NET, e explicaremos o “porquê” de cada linha para que você possa adaptar a solução aos seus próprios projetos. + +--- + +## O que você precisará + +- **Aspose.Words for .NET** (a versão estável mais recente, por exemplo, 24.10). Você pode obtê-lo via NuGet: `Install-Package Aspose.Words`. +- Um projeto de console ou web **.NET 6+** – qualquer ambiente C# serve. +- Um arquivo Word de entrada (`input.docx`) localizado em uma pasta que você controla. +- Conhecimento básico de C# – nada sofisticado, apenas a capacidade de executar um aplicativo de console. + +É isso. Sem bibliotecas extras, sem truques complicados de linha de comando. Pronto? Vamos começar. + +--- + +## Etapa 1 – Carregar o DOCX de origem em um objeto Document + +Primeiro precisamos ler o arquivo Word. Aspose.Words abstrai o formato do arquivo, fornecendo um objeto `Document` com o qual você pode trabalhar independentemente de a origem ser DOCX, DOC ou até ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Por que isso importa:** Carregar o arquivo uma única vez no início mantém o uso de memória previsível e permite reutilizar a instância `doc` para múltiplos formatos de exportação posteriormente (PDF, PNG, etc.). Se o arquivo for grande, Aspose.Words transmite os dados de forma eficiente, então você não precisa se preocupar com falhas por falta de memória. + +--- + +## Etapa 2 – Configurar as opções de salvamento HTML com tratamento padrão de recursos + +Ao exportar para HTML, Aspose.Words cria não apenas um arquivo `.html`, mas também uma pasta de recursos (imagens, CSS, fontes). Por padrão, esses recursos são gravados no sistema de arquivos, mas podemos instruir a biblioteca a manter tudo na memória usando um `ResourceHandler`. Isso é a chave para criar um **arquivo HTML a partir de DOCX** que podemos compactar posteriormente. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Por que usar `ResourceHandler`?** Ele abstrai a pasta temporária, o que significa que você não deixará arquivos soltos no disco. O handler armazena cada recurso gerado como um `MemoryStream`, que podemos inserir diretamente em um arquivo ZIP – perfeito para serviços web que precisam retornar um único pacote para download. + +--- + +## Etapa 3 – Salvar o documento e seus recursos em um arquivo ZIP + +Agora a mágica acontece. Pedimos ao Aspose.Words que salve o documento com as opções que acabamos de configurar, e então compactamos tudo. O código abaixo usa `System.IO.Compression` para criar o `result.zip` final. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Por que isso funciona:** `doc.Save(htmlOptions)` dispara a geração do arquivo HTML e de todos os recursos relacionados, que o `ResourceHandler` captura na memória. O loop `foreach` então itera sobre cada entrada capturada, gravando‑a no `ZipArchive`. O resultado é um único `result.zip` que contém `document.html` mais quaisquer imagens, CSS ou fontes necessárias para uma renderização fiel do DOCX original. + +--- + +## Variações Comuns e Casos de Borda + +### 1. Personalizando o nome do arquivo HTML + +Se você quiser que a página HTML tenha um nome específico (por exemplo, `preview.html`), defina `htmlOptions.HtmlVersion = HtmlVersion.Html5;` e renomeie a entrada ao adicioná‑la ao ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Lidando com documentos muito grandes + +Para documentos maiores que 100 MB, considere transmitir o ZIP diretamente para o stream de resposta (no ASP.NET) em vez de gravá‑lo no disco primeiro. Substitua o `FileStream` pelo stream do corpo da resposta, e o código permanece o mesmo. + +### 3. Excluindo certos recursos + +Se você não precisar de imagens (talvez queira apenas HTML em texto puro), defina `htmlOptions.ExportImagesAsBase64 = true;` ou desative a exportação de imagens completamente com `htmlOptions.ExportImages = false`. O `ResourceHandler` então conterá menos entradas, tornando o ZIP menor. + +### 4. Adicionando um arquivo Manifest + +Alguns consumidores esperam um `manifest.json` descrevendo o conteúdo do arquivo. Você pode criá‑lo dinamicamente: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Dicas Profissionais e Armadilhas + +- **Dica profissional:** Sempre descarte os objetos `Document` e `ZipArchive` com blocos `using`. Isso libera recursos não gerenciados e evita vazamentos de manipuladores de arquivos. +- **Cuidado:** Se você executar o código várias vezes contra o mesmo `result.zip`, o arquivo será sobrescrito. Adicione um timestamp ao nome do arquivo se precisar de arquivos únicos. +- **Dica de desempenho:** O `ResourceHandler` armazena tudo na memória, o que é adequado para a maioria dos arquivos (< 20 MB). Para documentos massivos, troque para `FileSystemStorage` para gravar recursos temporários no disco antes de compactar. +- **Nota de compatibilidade:** O HTML gerado está em conformidade com HTML5 e funciona em navegadores modernos. Versões antigas do IE podem precisar de uma meta tag de compatibilidade, que você pode injetar via `htmlOptions.PrependMetaTag`. + +--- + +## Resultado Esperado + +Depois de executar o programa, você encontrará `result.zip` em `YOUR_DIRECTORY`. Abra o ZIP – você deverá ver: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Abra `document.html` em qualquer navegador e você verá uma réplica visual fiel de `input.docx`. Sem imagens ausentes, sem links quebrados – o arquivo é realmente autônomo. + +--- + + + +*Texto alternativo da imagem: "Diagrama ilustrando como criar um arquivo HTML a partir de DOCX e gerar um arquivo ZIP a partir de um documento Word."* + +--- + +## Conclusão + +Acabamos de cobrir o processo completo para **criar um arquivo HTML a partir de DOCX** e **gerar um arquivo ZIP a partir de um documento Word** com Aspose.Words em C#. O tutorial guiou você através do carregamento da fonte, da configuração do tratamento de recursos em memória e da embalagem de tudo em um arquivo zip pronto para download ou processamento adicional. + +Agora você pode incorporar este trecho em aplicações maiores — APIs web, serviços em segundo plano ou até ferramentas desktop. Em seguida, experimente customizar CSS, incorporar fontes ou adicionar um manifesto JSON para integrações mais avançadas. + +Se encontrar algum problema ou tiver ideias para extensões, deixe um comentário abaixo. Feliz codificação! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/portuguese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..38692d21c --- /dev/null +++ b/html/portuguese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-20 +description: Como compactar HTML em C# usando Aspose.HTML – aprenda a exportar página + da web, baixar recursos da página e salvar HTML como zip rapidamente. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: pt +og_description: Como compactar HTML em C# com Aspose.HTML. Este tutorial mostra como + exportar recursos de página da web e salvar HTML como zip em alguns passos simples. +og_title: Como compactar HTML em C# – Exportar página da web para ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Como compactar HTML em C# – Exportar página da web para ZIP com Aspose.HTML +url: /pt/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Compactar HTML em C# – Exportar Página Web para ZIP com Aspose.HTML + +Já se perguntou **como compactar HTML** diretamente da sua aplicação C#? Você não está sozinho. Em muitos projetos precisamos **exportar página web** conteúdo, capturar cada imagem, CSS e script, e então empacotá‑los em um único arquivo para uso offline ou distribuição. + +Neste guia, percorreremos um exemplo completo e executável que mostra exatamente **como compactar HTML** usando a biblioteca Aspose.HTML. Ao final, você será capaz de **baixar recursos da página web**, armazená‑los na memória e **salvar HTML como zip** com apenas algumas linhas de código. Sem ferramentas externas, sem manipulação manual de arquivos — apenas automação limpa e programática. + +## Pré‑requisitos + +Antes de mergulharmos, certifique‑se de que você tem o seguinte à mão: + +| Requisito | Por que é importante | +|-------------|----------------| +| .NET 6.0 ou posterior (ou .NET Framework 4.6+) | Aspose.HTML suporta ambos, mas o runtime mais recente oferece melhor desempenho. | +| Visual Studio 2022 (ou qualquer IDE C#) | Um editor confortável ajuda a detectar erros de sintaxe rapidamente. | +| Aspose.HTML for .NET NuGet package | A biblioteca fornece as classes `HTMLDocument`, `HTMLSaveOptions` e `ResourceHandler` que usaremos. | +| Acesso à Internet (para a URL de destino) | Carregaremos uma página ao vivo (`https://example.com`) para demonstrar **baixar recursos da página web**. | + +Você pode adicionar o pacote Aspose.HTML via console do NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +É isso — nenhuma configuração extra necessária. + +## Como Compactar HTML – Implementação Passo a Passo + +A seguir, dividimos o processo em quatro etapas lógicas. Cada etapa é explicada e seguida pelo código exato que você pode copiar‑colar. + +> **Dica profissional:** Mantenha o código em uma biblioteca de classes separada se planeja reutilizar a lógica em vários projetos. Isso facilita testes e versionamento. + +### Etapa 1: Criar um Manipulador de Recursos Personalizado + +A primeira coisa que precisamos é uma forma de interceptar cada recurso externo (imagens, CSS, JS) que a página solicita. Aspose.HTML permite conectar um `ResourceHandler`. No nosso caso, armazenaremos cada recurso em um `MemoryStream`, mas você pode facilmente trocar isso por um armazenamento no sistema de arquivos ou um bucket na nuvem. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Почему это важно:* Создавая документ в памяти, мы избегаем накладных расходов ввода‑вывода файлов и сохраняем всю цепочку быстрой. Тег `` служит лишь заполнителем — вы можете заменить его любой валидной HTML‑разметкой, включая CSS, изображения или даже JavaScript (при условии, что он поддерживается Aspose.HTML). + +## Step 2: Define a Bold‑Italic Font with WebFontStyle + +Если вам нужен чёткий, стилизованный текст, необходимо указать рендереру, какой шрифт и стиль использовать. `FontInfo` позволяет комбинировать флаги `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Почему это важно:* Использование `WebFontStyle.Bold | WebFontStyle.Italic` гарантирует, что текст будет выглядеть точно как “Hello world” в полужирном курсиве, что критично при последующем **generate high quality png** для брендинга или мокапов UI. + +## Step 3: Apply the Font to the Paragraph + +Теперь мы привязываем `FontInfo` к первому элементу абзаца. Это аналогично тому, что вы делаете в DevTools браузера. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro tip:* Если в документе несколько элементов, вы можете пройтись по DOM‑дереву (`htmlDoc.QuerySelectorAll`) и назначать шрифты выборочно. + +## Step 4: Enable Antialiasing for Smoother Raster Output + +Антиалиасинг сглаживает края текста и фигур, предотвращая «зубчики». Это обязательный шаг, когда вы хотите **render HTML to PNG** для профессионального использования. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Step 5: Turn On Hinting for Sharper Text + +Хинтинг корректирует контуры глифов, выравнивая их по пиксельной сетке, что особенно полезно при небольших размерах шрифта. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Step 6: Render and Save the PNG File + +Наконец, мы передаём всё `ImageRenderer`. Метод принимает документ, путь к файлу и параметры рендеринга, которые мы собрали. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Когда код завершится, вы найдёте `output.png` в `YOUR_DIRECTORY`. Откройте его, и вы увидите абзац “Hello world” полужирным курсивом Arial, идеально антиалиасированный и с хинтингом — **high quality PNG**, готовый для рассылок, миниатюр или любого последующего процесса. + + + +*Почему это работает:* `ImageRenderer` абстрагирует тяжёлую работу по раскладке, парсингу CSS и растеризации, предоставляя настоящий **convert html to image** без внешних инструментов. + +## Full Working Example + +Ниже полный, готовый к копированию и вставке пример программы. Он компилируется на .NET 6 и за один проход создаёт PNG. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Ожидаемый результат:** Файл `output.png`, в котором отображается предложение **Hello world** полужирным курсивом Arial, с плавными краями и без визуальных артефактов. + +## Common Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| *Can I render a full‑page website?* | Да — просто загрузите URL с помощью `new HTMLDocument("https://example.com")` вместо строкового литерала. | +| *What about external CSS or images?* | Убедитесь, что они доступны (абсолютные URL или встроенные base‑64). Aspose.HTML следует редиректам и может загружать удалённые ресурсы. | +| *Do I need to dispose objects?* | `HTMLDocument` реализует `IDisposable`. Оборачивайте его в `using` в продакшн‑коде, чтобы своевременно освобождать нативные ресурсы. | +| *How do I change image format?* | Передайте другое расширение файла (`output.jpg`, `output.tiff`) в `Save`; рендерер выберет соответствующий кодировщик. | +| *What if I need a transparent background?* | Установите `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` перед рендерингом. | + +## Tips for Generating Even Higher‑Quality PNGs + +1. **Increase DPI** – Установите `imageOptions.Resolution = 300` для печатных материалов. +2. **Explicitly set background** – Сплошной фон избавит от нежелательных проблем с прозрачностью. +3. **Use web‑safe fonts** – Если на целевой машине нет нужного шрифта, внедрите его через `@font-face` в HTML. + +## Next Steps + +Теперь, когда вы освоили **create html document c#** и умеете **render html to png**, рассмотрите следующие возможности: + +- **Batch rendering** – Пройдитесь по коллекции HTML‑строк, чтобы создать галерею PNG. +- **PDF conversion** – Замените `ImageRenderer` на `PdfRenderer`, чтобы получать PDF из той же HTML‑источника. +- **Dynamic data** – Внедряйте контент из JSON в HTML перед рендерингом, идеально для генерации отчётов. + +Экспериментируйте с различными CSS‑стилями, большими холстами или даже SVG‑графикой. Конвейер остаётся тем же, а Aspose.HTML позаботится о тяжёлой работе. + +--- + +*Happy coding! If you ran into any snags, drop a comment below and we’ll troubleshoot together.* + +{{< /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 00354e673..daca3e965 100644 --- a/html/russian/net/html-extensions-and-conversions/_index.md +++ b/html/russian/net/html-extensions-and-conversions/_index.md @@ -67,12 +67,16 @@ Aspose.HTML для .NET — это не просто библиотека; эт Откройте для себя мощь Aspose.HTML для .NET: конвертируйте HTML в XPS без усилий. Предварительные условия, пошаговое руководство и часто задаваемые вопросы включены. ### [Как заархивировать HTML в C# – Сохранить HTML в Zip](./how-to-zip-html-in-c-save-html-to-zip/) Узнайте, как упаковать HTML‑файлы в архив ZIP с помощью C# и Aspose.HTML, используя простой пошаговый пример. +### [Как заархивировать HTML в C# – Экспортировать веб-страницу в ZIP с Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Узнайте, как упаковать HTML‑страницу в ZIP‑архив в C# с помощью Aspose.HTML, используя простой пример экспорта веб‑страницы. ### [Создайте HTML‑документ со стилизованным текстом и экспортируйте в PDF – Полное руководство](./create-html-document-with-styled-text-and-export-to-pdf-full/) Пошаговое руководство по созданию HTML‑документа со стилизованным текстом и его конвертации в PDF с помощью Aspose.HTML для .NET. ### [Сохраните HTML в ZIP – Полный учебник C#](./save-html-as-zip-complete-c-tutorial/) Узнайте, как сохранить HTML‑страницу в архив ZIP с помощью Aspose.HTML для .NET, используя C# в полном пошаговом руководстве. ### [Сохраните HTML в ZIP в C# – Полный пример в памяти](./save-html-to-zip-in-c-complete-in-memory-example/) Сохраните HTML в архив ZIP полностью в памяти с помощью Aspose.HTML для .NET, используя C#. +### [Создайте HTML‑архив из DOCX – пошаговое руководство](./create-html-archive-from-docx-step-by-step-guide/) +Создайте HTML‑архив из DOCX с помощью Aspose.HTML для .NET. Пошаговое руководство с примерами кода. ## Заключение diff --git a/html/russian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/russian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..55d24d97d --- /dev/null +++ b/html/russian/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: Создайте HTML‑архив из DOCX и сгенерируйте ZIP‑файл из Word‑документа + на C#. Изучите полный код, почему он работает, и типичные подводные камни. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: ru +og_description: Создайте HTML‑архив из DOCX и сгенерируйте ZIP‑файл из Word‑документа + с помощью Aspose.Words. Полный код, объяснения и советы. +og_title: Создайте HTML‑архив из DOCX – Полный учебник по C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Создание HTML‑архива из DOCX – пошаговое руководство +url: /ru/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Создание HTML‑архива из DOCX – Полный учебник C# + +Когда‑то вам нужно **создать HTML‑архив из DOCX**, но вы не знали, как собрать полученные файлы в один пакет? Вы не одиноки. Будь то функция предварительного просмотра в вебе или экспорт документов для офлайн‑использования, преобразование Word‑файла в самодостаточный HTML‑ZIP‑архив – частая задача. + +В этом руководстве мы пошагово покажем, как **сгенерировать ZIP‑файл из Word‑документа** с помощью Aspose.Words for .NET, и объясним «почему» каждой строки, чтобы вы могли адаптировать решение под свои проекты. + +--- + +## Что понадобится + +Прежде чем начать, убедитесь, что у вас есть: + +- **Aspose.Words for .NET** (последняя стабильная версия, например 24.10). Установить можно через NuGet: `Install-Package Aspose.Words`. +- Проект **.NET 6+** – консольное приложение или веб‑проект, любой C#‑окружение подойдет. +- Входной Word‑файл (`input.docx`) в папке, к которой у вас есть доступ. +- Базовые знания C# – ничего сложного, только возможность запустить консольное приложение. + +И всё. Никаких дополнительных библиотек, никаких хитрых командных трюков. Готовы? Поехали. + +--- + +## Шаг 1 – Загрузка исходного DOCX в объект Document + +Сначала нужно прочитать Word‑файл. Aspose.Words абстрагирует формат файла, предоставляя объект `Document`, с которым можно работать независимо от того, DOCX, DOC или даже ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Почему это важно:** Загрузка файла один раз в начале делает использование памяти предсказуемым и позволяет переиспользовать экземпляр `doc` для экспорта в другие форматы позже (PDF, PNG и т.д.). Если файл огромный, Aspose.Words эффективно стримит данные, так что не будет падений из‑за нехватки памяти. + +--- + +## Шаг 2 – Настройка параметров сохранения HTML с обработкой ресурсов по умолчанию + +При экспорте в HTML Aspose.Words создает не только файл `.html`, но и папку с ресурсами (изображения, CSS, шрифты). По умолчанию эти ресурсы записываются в файловую систему, но мы можем заставить библиотеку держать всё в памяти с помощью `ResourceHandler`. Это ключ к созданию **HTML‑архива из DOCX**, который затем можно упаковать в ZIP. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Зачем нужен `ResourceHandler`?** Он избавляет от необходимости создавать временную папку, поэтому на диске не останется «мусорных» файлов. Обработчик сохраняет каждый сгенерированный ресурс как `MemoryStream`, который потом можно напрямую добавить в ZIP‑архив – идеально для веб‑служб, которым нужен один загружаемый пакет. + +--- + +## Шаг 3 – Сохранение документа и его ресурсов в ZIP‑архив + +Теперь происходит магия. Мы просим Aspose.Words сохранить документ с только что построенными параметрами, а затем упаковываем всё в ZIP. Ниже код, использующий `System.IO.Compression` для создания финального `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Почему это работает:** `doc.Save(htmlOptions)` инициирует генерацию HTML‑файла и всех связанных ресурсов, которые `ResourceHandler` захватывает в памяти. Цикл `foreach` затем проходит по каждому захваченному элементу и записывает его в `ZipArchive`. В результате получаем один `result.zip`, содержащий `document.html` плюс любые изображения, CSS или шрифты, необходимые для точного отображения оригинального DOCX. + +--- + +## Распространённые варианты и граничные случаи + +### 1. Настройка имени HTML‑файла + +Если нужно, чтобы HTML‑страница имела конкретное имя (например, `preview.html`), установите `htmlOptions.HtmlVersion = HtmlVersion.Html5;` и переименуйте запись при добавлении её в ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Обработка очень больших документов + +Для документов более 100 МБ рекомендуется стримить ZIP напрямую в поток ответа (в ASP.NET), а не записывать его на диск сначала. Замените `FileStream` на поток тела ответа, остальной код остаётся тем же. + +### 3. Исключение некоторых ресурсов + +Если изображения не нужны (например, нужен только текстовый HTML), установите `htmlOptions.ExportImagesAsBase64 = true;` или полностью отключите экспорт изображений через `htmlOptions.ExportImages = false`. Тогда `ResourceHandler` будет содержать меньше записей, а ZIP станет меньше. + +### 4. Добавление файла манифеста + +Некоторые потребители ожидают `manifest.json`, описывающий содержимое архива. Его можно создать «на лету»: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Профессиональные советы и подводные камни + +- **Совет:** Всегда освобождайте объекты `Document` и `ZipArchive` с помощью блоков `using`. Это освобождает неуправляемые ресурсы и предотвращает утечки дескрипторов файлов. +- **Осторожно:** При многократном запуске кода на один и тот же `result.zip` файл будет перезаписан. Добавьте метку времени к имени файла, если нужны уникальные архивы. +- **Подсказка по производительности:** `ResourceHandler` хранит всё в памяти, что приемлемо для большинства файлов (< 20 МБ). Для огромных документов переключитесь на `FileSystemStorage`, чтобы временно сохранять ресурсы на диск перед упаковкой. +- **Примечание о совместимости:** Сгенерированный HTML соответствует HTML5 и работает во всех современных браузерах. Старые версии IE могут потребовать мета‑тег совместимости, который можно добавить через `htmlOptions.PrependMetaTag`. + +--- + +## Ожидаемый результат + +После выполнения программы в `YOUR_DIRECTORY` появится `result.zip`. Откройте архив – вы увидите: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Откройте `document.html` в любом браузере, и вы получите точную визуальную копию `input.docx`. Нет пропавших изображений, нет битых ссылок – архив действительно самодостаточен. + +--- + + + +*Текст alt изображения: "Диаграмма, показывающая, как создать HTML‑архив из DOCX и сгенерировать ZIP‑файл из Word‑документа."* + +--- + +## Заключение + +Мы только что рассмотрели полный процесс **создания HTML‑архива из DOCX** и **генерации ZIP‑файла из Word‑документа** с помощью Aspose.Words в C#. Руководство провело вас через загрузку источника, настройку обработки ресурсов в памяти и упаковку всего в ZIP‑архив, готовый к загрузке или дальнейшей обработке. + +Теперь вы можете встроить этот фрагмент кода в более крупные приложения — веб‑API, фоновые сервисы или даже настольные инструменты. Далее попробуйте поэкспериментировать с пользовательским CSS, встраиванием шрифтов или добавлением JSON‑манифеста для более богатой интеграции. + +Если возникнут проблемы или появятся идеи для улучшений, оставляйте комментарий ниже. Приятного кодинга! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/russian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..d92509579 --- /dev/null +++ b/html/russian/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: Как заархивировать HTML в C# с помощью Aspose.HTML — узнайте, как экспортировать + веб‑страницу, скачивать её ресурсы и быстро сохранять HTML в zip. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: ru +og_description: Как упаковать HTML в zip в C# с помощью Aspose.HTML. Этот учебник + покажет, как экспортировать ресурсы веб‑страницы и сохранить HTML в виде zip за + несколько простых шагов. +og_title: Как упаковать HTML в ZIP в C# – Экспорт веб‑страницы в ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Как упаковать HTML в ZIP в C# – экспорт веб‑страницы в ZIP с помощью Aspose.HTML +url: /ru/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как упаковать HTML в ZIP в C# – Экспорт веб‑страницы в ZIP с Aspose.HTML + +Вы когда‑нибудь задумывались **как упаковать HTML** напрямую из вашего C# приложения? Вы не одиноки. Во многих проектах нам нужно **экспортировать веб‑страницу**, собрать все изображения, CSS и скрипты, а затем упаковать их в один архив для офлайн‑использования или распространения. + +В этом руководстве мы пройдем полный, готовый к запуску пример, который показывает точно **как упаковать HTML** с помощью библиотеки Aspose.HTML. К концу вы сможете **скачать ресурсы веб‑страницы**, хранить их в памяти и **сохранить HTML как zip** всего несколькими строками кода. Без внешних инструментов, без ручного управления файлами — только чистая программная автоматизация. + +## Требования + +Прежде чем приступить, убедитесь, что у вас есть следующее: + +| Требование | Почему это важно | +|-------------|-------------------| +| .NET 6.0 или новее (или .NET Framework 4.6+) | Aspose.HTML поддерживает обе платформы, но новейшее окружение обеспечивает лучшую производительность. | +| Visual Studio 2022 (или любой IDE для C#) | Удобный редактор помогает быстро находить синтаксические ошибки. | +| NuGet‑пакет Aspose.HTML for .NET | Библиотека предоставляет классы `HTMLDocument`, `HTMLSaveOptions` и `ResourceHandler`, которые мы будем использовать. | +| Доступ в Интернет (для целевого URL) | Мы будем загружать живую страницу (`https://example.com`), чтобы продемонстрировать **скачивание ресурсов веб‑страницы**. | + +Вы можете добавить пакет Aspose.HTML через консоль NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +Вот и всё — дополнительная конфигурация не требуется. + +## Как упаковать HTML – пошаговая реализация + +Ниже процесс разбит на четыре логических шага. Каждый шаг объясняется, после чего следует точный код, который можно скопировать‑вставить. + +> **Pro tip:** Храните код в отдельной библиотеке классов, если планируете переиспользовать логику в нескольких проектах. Это упростит тестирование и управление версиями. + +### Шаг 1: Создать пользовательский обработчик ресурсов + +Первое, что нам нужно, — способ перехватывать каждый внешний ресурс (изображения, CSS, JS), который запрашивает страница. Aspose.HTML позволяет подключить `ResourceHandler`. В нашем случае мы будем сохранять каждый ресурс в `MemoryStream`, но при желании легко заменить это на хранение в файловой системе или облачном бакете. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Por qué es importante:* Al crear el documento en memoria evitamos la sobrecarga de I/O de archivos y mantenemos toda la canalización rápida. La etiqueta `` es solo un marcador de posición; puedes reemplazarla con cualquier HTML válido, incluidos CSS, imágenes o incluso JavaScript (siempre que sea compatible con Aspose.HTML). + +## Paso 2: Definir una fuente negrita‑cursiva con WebFontStyle + +Si deseas texto nítido y estilizado, debes indicarle al renderizador qué fuente y estilo usar. `FontInfo` te permite combinar banderas `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Por qué es importante:* Usar `WebFontStyle.Bold | WebFontStyle.Italic` garantiza que el texto se vea exactamente como “Hello world” en negrita‑cursiva, lo cual es crucial cuando luego **generas PNG de alta calidad** para branding o maquetas de UI. + +## Paso 3: Aplicar la fuente al párrafo + +Ahora adjuntamos el `FontInfo` al primer elemento de párrafo. Esto refleja lo que harías en las DevTools de un navegador. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Consejo profesional:* Si tu documento tiene varios elementos, puedes recorrer el árbol DOM (`htmlDoc.QuerySelectorAll`) y asignar fuentes de forma selectiva. + +## Paso 4: Habilitar antialiasing para una salida rasterizada más suave + +El antialiasing suaviza los bordes del texto y las formas, evitando píxeles dentados. Es imprescindible cuando deseas **renderizar HTML a PNG** para uso profesional. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Paso 5: Activar hinting para texto más nítido + +El hinting ajusta los contornos de los glifos para alinearlos con la cuadrícula de píxeles, lo que resulta especialmente útil en tamaños de fuente pequeños. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Paso 6: Renderizar y guardar el archivo PNG + +Finalmente entregamos todo a `ImageRenderer`. El método recibe el documento, la ruta de destino y las opciones de renderizado que configuramos. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Cuando el código termine, encontrarás `output.png` en `YOUR_DIRECTORY`. Ábrelo y deberías ver el párrafo “Hello world” en Arial negrita‑cursiva, perfectamente antialiasado y con hinting — un **PNG de alta calidad** listo para boletines, miniaturas o cualquier proceso posterior. + + + +*Por qué funciona:* `ImageRenderer` abstrae el trabajo pesado de layout, análisis de CSS y rasterización, ofreciendo una verdadera experiencia de **convertir html a imagen** sin herramientas externas. + +## Ejemplo completo y funcional + +A continuación tienes el programa completo, listo para copiar y pegar. Compila con .NET 6 y genera el PNG de una sola vez. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Salida esperada:** Un archivo llamado `output.png` que muestra la frase **Hello world** en Arial negrita‑cursiva, con bordes suaves y sin artefactos visuales. + +## Preguntas frecuentes y casos límite + +| Pregunta | Respuesta | +|----------|-----------| +| *¿Puedo renderizar un sitio web completo?* | Sí, solo carga la URL con `new HTMLDocument("https://example.com")` en lugar de una cadena literal. | +| *¿Qué pasa con CSS o imágenes externas?* | Asegúrate de que sean accesibles (URLs absolutas o incrustadas en base‑64). Aspose.HTML sigue redirecciones y puede cargar recursos remotos. | +| *¿Necesito disponer los objetos?* | `HTMLDocument` implementa `IDisposable`. En código de producción envuélvelo en un bloque `using` para liberar recursos nativos rápidamente. | +| *¿Cómo cambio el formato de imagen?* | Pasa una extensión de archivo diferente (`output.jpg`, `output.tiff`) a `Save`; el renderizador seleccionará el codificador apropiado. | +| *¿Qué hago si necesito un fondo transparente?* | Establece `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` antes de renderizar. | + +## Consejos para generar PNGs aún de mayor calidad + +1. **Incrementar DPI** – Configura `imageOptions.Resolution = 300` para activos listos para impresión. +2. **Establecer explícitamente el fondo** – Un fondo sólido evita problemas inesperados de transparencia. +3. **Usar fuentes web‑seguras** – Si la máquina de destino no tiene una fuente, incrústala mediante `@font-face` en el HTML. + +## Próximos pasos + +Ahora que dominas **crear documento html c#** y puedes **renderizar html a png**, considera explorar: + +- **Renderizado por lotes** – Itera sobre una colección de cadenas HTML para producir una galería de PNGs. +- **Conversión a PDF** – Sustituye `ImageRenderer` por `PdfRenderer` para obtener PDFs desde la misma fuente HTML. +- **Datos dinámicos** – Inyecta contenido impulsado por JSON en el HTML antes de renderizar, ideal para generación de informes. + +Siéntete libre de experimentar con diferentes estilos CSS, lienzos más grandes o incluso gráficos SVG. La canalización sigue siendo la misma y Aspose.HTML se encargará del trabajo pesado. + +--- + +*¡Feliz codificación! Si encuentras algún inconveniente, deja un comentario abajo y lo resolveremos juntos.* + +{{< /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 58e38eec4..d46c9dd3d 100644 --- a/html/spanish/net/html-extensions-and-conversions/_index.md +++ b/html/spanish/net/html-extensions-and-conversions/_index.md @@ -71,8 +71,12 @@ Aprenda a convertir HTML a TIFF con Aspose.HTML para .NET. Siga nuestra guía pa Descubra el poder de Aspose.HTML para .NET: convierta HTML a XPS sin esfuerzo. Requisitos previos, guía paso a paso y preguntas frecuentes incluidas. ### [Cómo comprimir HTML en C# – Guardar HTML en Zip](./how-to-zip-html-in-c-save-html-to-zip/) Aprenda a empaquetar archivos HTML en un archivo ZIP usando C# y Aspose.HTML. Guía paso a paso con ejemplos de código. +### [Cómo comprimir HTML en C# – Exportar página web a ZIP con Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Aprenda a empaquetar una página web completa en un archivo ZIP usando C# y Aspose.HTML. Guía paso a paso con ejemplos de código. ### [Guardar HTML en ZIP en C# – Ejemplo completo en memoria](./save-html-to-zip-in-c-complete-in-memory-example/) Aprenda a guardar HTML en un archivo ZIP usando C# con un ejemplo completo en memoria. +### [Crear archivo HTML a partir de DOCX – Guía paso a paso](./create-html-archive-from-docx-step-by-step-guide/) +Aprenda a crear un archivo HTML a partir de un documento DOCX usando Aspose.HTML para .NET con esta guía paso a paso. ## Conclusión diff --git a/html/spanish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/spanish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..e58f547f8 --- /dev/null +++ b/html/spanish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-20 +description: Crear un archivo HTML a partir de un DOCX y generar un archivo ZIP desde + un documento Word en C#. Aprende el código completo, por qué funciona y los errores + comunes. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: es +og_description: Crear archivo HTML a partir de DOCX y generar archivo ZIP desde un + documento Word usando Aspose.Words. Código completo, explicaciones y consejos. +og_title: Crear archivo HTML a partir de DOCX – Tutorial completo de C# +tags: +- Aspose.Words +- C# +- Document Processing +title: Crear archivo HTML a partir de DOCX – Guía paso a paso +url: /es/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crear archivo HTML desde DOCX – Tutorial completo en C# + +¿Alguna vez necesitaste **crear archivo HTML desde DOCX** pero no estabas seguro de cómo empaquetar los archivos resultantes en un solo paquete? No eres el único. Ya sea que estés construyendo una función de vista previa web o exportando documentos para uso sin conexión, convertir un archivo Word en un ZIP HTML autocontenido es un requisito común. + +En esta guía recorreremos los pasos exactos para **generar un archivo ZIP a partir de un documento Word** usando Aspose.Words for .NET, y explicaremos el “por qué” detrás de cada línea para que puedas adaptar la solución a tus propios proyectos. + +--- + +## Lo que necesitarás + +- **Aspose.Words for .NET** (la última versión estable, por ejemplo, 24.10). Puedes obtenerlo vía NuGet: `Install-Package Aspose.Words`. +- Un proyecto de consola o web **.NET 6+** – cualquier entorno C# sirve. +- Un archivo Word de entrada (`input.docx`) ubicado en una carpeta que controles. +- Conocimientos básicos de C# – nada complicado, solo la capacidad de ejecutar una aplicación de consola. + +Eso es todo. Sin bibliotecas adicionales, sin trucos complicados de línea de comandos. ¿Listo? Comencemos. + +--- + +## Paso 1 – Cargar el DOCX de origen en un objeto Document + +Primero necesitamos leer el archivo Word. Aspose.Words abstrae el formato del archivo, proporcionándote un objeto `Document` con el que puedes trabajar sin importar si la fuente es DOCX, DOC o incluso ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Por qué es importante:** Cargar el archivo una sola vez al inicio mantiene predecible el uso de memoria y te permite reutilizar la instancia `doc` para múltiples formatos de exportación más adelante (PDF, PNG, etc.). Si el archivo es enorme, Aspose.Words transmite los datos de manera eficiente, por lo que no tendrás que preocuparte por fallos por falta de memoria. + +--- + +## Paso 2 – Configurar las opciones de guardado HTML con manejo de recursos predeterminado + +Al exportar a HTML, Aspose.Words crea no solo un archivo `.html` sino también una carpeta de recursos (imágenes, CSS, fuentes). Por defecto esos recursos se escriben en el sistema de archivos, pero podemos indicarle a la biblioteca que mantenga todo en memoria usando un `ResourceHandler`. Esta es la clave para crear un **archivo HTML desde DOCX** que luego podamos comprimir. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**¿Por qué usar `ResourceHandler`?** Abstrae la carpeta temporal, lo que significa que no dejarás archivos sueltos en el disco. El manejador almacena cada recurso generado como un `MemoryStream`, que luego podemos introducir directamente en un archivo ZIP – perfecto para servicios web que necesitan devolver un único paquete descargable. + +--- + +## Paso 3 – Guardar el documento y sus recursos en un archivo ZIP + +Ahora ocurre la magia. Le pedimos a Aspose.Words que guarde el documento con las opciones que acabamos de crear, y luego comprimimos todo. El código a continuación usa `System.IO.Compression` para crear el `result.zip` final. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Por qué funciona:** `doc.Save(htmlOptions)` desencadena la generación del archivo HTML y todos los recursos relacionados, que el `ResourceHandler` captura en memoria. El bucle `foreach` luego itera sobre cada entrada capturada, escribiéndola en el `ZipArchive`. El resultado es un único `result.zip` que contiene `document.html` más cualquier imagen, CSS o fuente necesarios para una representación fiel del DOCX original. + +--- + +## Variaciones comunes y casos límite + +### 1. Personalizar el nombre del archivo HTML + +Si deseas que la página HTML tenga un nombre específico (p.ej., `preview.html`), establece `htmlOptions.HtmlVersion = HtmlVersion.Html5;` y renombra la entrada al agregarla al ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Manejo de documentos muy grandes + +Para documentos de más de 100 MB, considera transmitir el ZIP directamente al flujo de respuesta (en ASP.NET) en lugar de escribirlo primero en disco. Reemplaza el `FileStream` con el flujo del cuerpo de la respuesta, y el código permanece igual. + +### 3. Excluir ciertos recursos + +Si no necesitas imágenes (quizás solo quieras HTML de texto plano), establece `htmlOptions.ExportImagesAsBase64 = true;` o desactiva la exportación de imágenes completamente con `htmlOptions.ExportImages = false`. El `ResourceHandler` contendrá entonces menos entradas, haciendo el ZIP más pequeño. + +### 4. Añadir un archivo de manifiesto + +Algunos consumidores esperan un `manifest.json` que describa el contenido del archivo. Puedes crearlo al vuelo: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Consejos profesionales y advertencias + +- **Consejo pro:** Siempre libera los objetos `Document` y `ZipArchive` con bloques `using`. Libera recursos no administrados y evita fugas de manejadores de archivo. +- **Cuidado con:** Si ejecutas el código varias veces contra el mismo `result.zip`, el archivo se sobrescribirá. Añade una marca de tiempo al nombre del archivo si necesitas archivos únicos. +- **Consejo de rendimiento:** El `ResourceHandler` almacena todo en memoria, lo cual está bien para la mayoría de los archivos (< 20 MB). Para documentos masivos, cambia a `FileSystemStorage` para escribir recursos temporales en disco antes de comprimir. +- **Nota de compatibilidad:** El HTML generado cumple con HTML5 y funciona en navegadores modernos. Las versiones antiguas de IE pueden necesitar una metaetiqueta de compatibilidad, que puedes inyectar mediante `htmlOptions.PrependMetaTag`. + +--- + +## Resultado esperado + +Después de ejecutar el programa, encontrarás `result.zip` en `YOUR_DIRECTORY`. Abre el ZIP – deberías ver: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Abre `document.html` en cualquier navegador y verás una réplica visual fiel de `input.docx`. Sin imágenes faltantes, sin enlaces rotos – el archivo es realmente autocontenido. + + + +*Texto alternativo de la imagen: "Diagrama que ilustra cómo crear un archivo HTML desde DOCX y generar un archivo ZIP a partir de un documento Word."* + +--- + +## Conclusión + +Acabamos de cubrir el proceso completo para **crear archivo HTML desde DOCX** y **generar un archivo ZIP a partir de un documento Word** con Aspose.Words en C#. El tutorial te guió a través de la carga del origen, la configuración del manejo de recursos en memoria y el empaquetado de todo en un archivo zip listo para descargar o procesar más. + +Ahora puedes incrustar este fragmento en aplicaciones más grandes — APIs web, servicios en segundo plano o incluso herramientas de escritorio. A continuación, prueba a experimentar con CSS personalizado, incrustar fuentes o añadir un manifiesto JSON para integraciones más ricas. + +Si encuentras algún problema o tienes ideas para extensiones, deja un comentario abajo. ¡Feliz codificación! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/spanish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..916610a5d --- /dev/null +++ b/html/spanish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: Cómo comprimir HTML en C# usando Aspose.HTML – aprende a exportar una + página web, descargar los recursos de la página y guardar HTML como zip rápidamente. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: es +og_description: Cómo comprimir HTML en C# con Aspose.HTML. Este tutorial le muestra + cómo exportar los recursos de la página web y guardar el HTML como zip en unos pocos + pasos fáciles. +og_title: Cómo comprimir HTML en C# – Exportar página web a ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Cómo comprimir HTML en C# – Exportar página web a ZIP con Aspose.HTML +url: /es/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo comprimir HTML en C# – Exportar página web a ZIP con Aspose.HTML + +¿Alguna vez te has preguntado **cómo comprimir HTML** directamente desde tu aplicación C#? No estás solo. En muchos proyectos necesitamos **exportar página web**, capturar cada imagen, CSS y script, y luego empaquetarlos en un solo archivo para uso offline o distribución. + +En esta guía recorreremos un ejemplo completo y ejecutable que muestra exactamente **cómo comprimir HTML** usando la biblioteca Aspose.HTML. Al final podrás **descargar recursos de la página web**, almacenarlos en memoria y **guardar HTML como zip** con solo unas pocas líneas de código. Sin herramientas externas, sin manipulación manual de archivos—solo automatización limpia y programática. + +## Prerequisites + +Antes de sumergirnos, asegúrate de tener lo siguiente a mano: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 o posterior (o .NET Framework 4.6+) | Aspose.HTML soporta ambos, pero el runtime más reciente te brinda mejor rendimiento. | +| Visual Studio 2022 (o cualquier IDE de C#) | Un editor cómodo te ayuda a detectar errores de sintaxis rápidamente. | +| Paquete NuGet Aspose.HTML for .NET | La biblioteca proporciona las clases `HTMLDocument`, `HTMLSaveOptions` y `ResourceHandler` que utilizaremos. | +| Acceso a Internet (para la URL objetivo) | Cargaremos una página en vivo (`https://example.com`) para demostrar **download webpage resources**. | + +Puedes agregar el paquete Aspose.HTML mediante la consola de NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +Eso es todo—no se necesita configuración adicional. + +## How to Zip HTML – Step‑by‑Step Implementation + +A continuación dividimos el proceso en cuatro pasos lógicos. Cada paso se explica y luego se muestra el código exacto que puedes copiar‑pegar. + +> **Pro tip:** Mantén el código en una biblioteca de clases separada si planeas reutilizar la lógica en varios proyectos. Facilita las pruebas y el versionado. + +### Step 1: Create a Custom Resource Handler + +Lo primero que necesitamos es una forma de interceptar cada recurso externo (imágenes, CSS, JS) que la página solicita. Aspose.HTML nos permite conectar un `ResourceHandler`. En nuestro caso almacenaremos cada recurso en un `MemoryStream`, pero podrías cambiarlo fácilmente por un almacenamiento en el sistema de archivos o en un bucket en la nube. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Varför detta är viktigt:* Genom att skapa dokumentet i minnet undviker vi fil‑I/O‑kostnader och håller hela pipeline snabb. ``‑taggen är bara en platshållare—du kan ersätta den med vilken giltig HTML som helst, inklusive CSS, bilder eller till och med JavaScript (så länge det stöds av Aspose.HTML). + +## Steg 2: Definiera ett fet‑kursiv typsnitt med WebFontStyle + +Om du vill ha skarp, stiliserad text måste du tala om för renderaren vilket typsnitt och stil som ska användas. `FontInfo` låter dig kombinera `WebFontStyle`‑flaggor. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Varför detta är viktigt:* Att använda `WebFontStyle.Bold | WebFontStyle.Italic` säkerställer att texten ser exakt ut som “Hello world” i fet‑kursiv, vilket är avgörande när du senare **generate high quality png** för varumärkes- eller UI‑mockups. + +## Steg 3: Applicera typsnittet på paragrafen + +Nu fäster vi `FontInfo` på det första paragraf‑elementet. Detta speglar vad du skulle göra i en webbläsares DevTools. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Proffstips:* Om ditt dokument har flera element kan du gå igenom DOM‑trädet (`htmlDoc.QuerySelectorAll`) och tilldela typsnitt selektivt. + +## Steg 4: Aktivera kantutjämning för mjukare rasterutdata + +Kantutjämning mjukar upp kanterna på text och former, vilket förhindrar hackiga pixlar. Det är ett måste när du vill **render HTML to PNG** för professionell användning. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Steg 5: Slå på hinting för skarpare text + +Hinting justerar glyf‑konturer för att anpassa dem till pixelrutnätet, vilket är särskilt användbart vid små typsnittsstorlekar. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Steg 6: Rendera och spara PNG‑filen + +Till sist överlämnar vi allt till `ImageRenderer`. Metoden tar dokumentet, målvägen och renderingsalternativen som vi byggt. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +När koden är klar hittar du `output.png` i `YOUR_DIRECTORY`. Öppna den så bör du se “Hello world”‑paragrafen i fet‑kursiv Arial, perfekt kantutjämnad och hintad—en **high quality PNG** redo för nyhetsbrev, miniatyrer eller någon efterföljande process. + + + +*Varför detta fungerar:* `ImageRenderer` abstraherar bort det tunga arbetet med layout, CSS‑parsning och rasterisering, och levererar en sann **convert html to image**‑upplevelse utan externa verktyg. + +## Fullt fungerande exempel + +Nedan är det kompletta, kopiera‑och‑klistra‑klara programmet. Det kompileras med .NET 6 och producerar PNG‑filen i ett svep. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Förväntad output:** En fil med namnet `output.png` som visar meningen **Hello world** i fet‑kursiv Arial, mjuka kanter och utan visuella artefakter. + +## Vanliga frågor & edge‑cases + +| Question | Answer | +|----------|--------| +| *Kan jag rendera en helwebbsida?* | Ja—ladda bara URL:en med `new HTMLDocument("https://example.com")` istället för en strängliteral. | +| *Vad händer med extern CSS eller bilder?* | Se till att de är åtkomliga (absoluta URL:er eller inbäddade base‑64). Aspose.HTML följer omdirigeringar och kan ladda fjärrresurser. | +| *Behöver jag avyttra objekt?* | `HTMLDocument` implementerar `IDisposable`. Omge den med ett `using`‑block i produktionskod för att snabbt frigöra inhemska resurser. | +| *Hur ändrar jag bildformat?* | Skicka en annan filändelse (`output.jpg`, `output.tiff`) till `Save`; renderaren väljer rätt kodare. | +| *Vad om jag behöver en transparent bakgrund?* | Sätt `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` innan rendering. | + +## Tips för att generera ännu högkvalitativa PNG‑filer + +1. **Öka DPI** – Sätt `imageOptions.Resolution = 300` för utskriftsklara tillgångar. +2. **Ange bakgrund explicit** – En solid bakgrund undviker oavsiktliga transparensproblem. +3. **Använd webbsäkra typsnitt** – Om målmaskinen saknar ett typsnitt, bädda in det via `@font-face` i HTML. + +## Nästa steg + +Nu när du behärskar **create html document c#** och kan **render html to png**, överväg att utforska: + +- **Batch‑rendering** – Loopa över en samling HTML‑strängar för att producera ett galleri av PNG‑filer. +- **PDF‑konvertering** – Byt ut `ImageRenderer` mot `PdfRenderer` för att få PDF‑filer från samma HTML‑källa. +- **Dynamisk data** – Injicera JSON‑styrt innehåll i HTML innan rendering, perfekt för rapportgenerering. + +Känn dig fri att experimentera med olika CSS‑stilar, större canvas‑ytor eller till och med SVG‑grafik. Pipeline:n förblir densamma, och Aspose.HTML tar hand om det tunga arbetet. + +--- + +*Lycka till med kodandet! Om du stöter på problem, lämna en kommentar nedan så felsöker vi tillsammans.* + +{{< /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 6d01c9b96..37e658110 100644 --- a/html/swedish/net/html-extensions-and-conversions/_index.md +++ b/html/swedish/net/html-extensions-and-conversions/_index.md @@ -65,6 +65,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. +### [Hur du zippar HTML i C# – Exportera webbsida till ZIP](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Lär dig hur du packar en HTML-webbsida i ett ZIP‑arkiv med C# och Aspose.HTML 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. ### [Skapa PDF från HTML – C# steg‑för‑steg‑guide](./create-pdf-from-html-c-step-by-step-guide/) @@ -73,6 +75,8 @@ Skapa PDF från HTML med C# och Aspose.HTML för .NET. Följ vår steg‑för‑ Lär dig hur du sparar HTML som en ZIP-fil med en komplett C#-kodexempel och steg-för-steg-instruktioner. ### [Spara HTML till ZIP i C# – Komplett minnesexempel](./save-html-to-zip-in-c-complete-in-memory-example/) Lär dig hur du sparar HTML-filer i ett ZIP‑arkiv i minnet med C# och Aspose.HTML. +### [Skapa HTML-arkiv från DOCX – Steg‑för‑steg‑guide](./create-html-archive-from-docx-step-by-step-guide/) +Lär dig hur du skapar ett HTML‑arkiv från en DOCX‑fil med Aspose.HTML för .NET i en detaljerad steg‑för‑steg‑guide. ## Slutsats diff --git a/html/swedish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/swedish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..c96b891c4 --- /dev/null +++ b/html/swedish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-03-20 +description: Skapa HTML‑arkiv från DOCX och generera ZIP‑fil från Word‑dokument i + C#. Lär dig hela koden, varför den fungerar och vanliga fallgropar. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: sv +og_description: Skapa HTML‑arkiv från DOCX och generera ZIP‑fil från Word‑dokument + med Aspose.Words. Fullständig kod, förklaringar och tips. +og_title: Skapa HTML-arkiv från DOCX – Komplett C#-handledning +tags: +- Aspose.Words +- C# +- Document Processing +title: Skapa HTML‑arkiv från DOCX – Steg‑för‑steg‑guide +url: /sv/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Skapa HTML‑arkiv från DOCX – Komplett C#‑handledning + +Har du någonsin behövt **create HTML archive from DOCX** men varit osäker på hur du ska paketera de resulterande filerna i ett enda paket? Du är inte ensam. Oavsett om du bygger en webbförhandsgranskningsfunktion eller exporterar dokument för offline‑användning, är det en vanlig krav att omvandla en Word‑fil till ett självständigt HTML‑ZIP. + +I den här guiden går vi igenom de exakta stegen för att **generate a ZIP file from a Word document** med Aspose.Words för .NET, och vi förklarar “varför” bakom varje rad så att du kan anpassa lösningen till dina egna projekt. + +--- + +## Vad du behöver + +- **Aspose.Words for .NET** (den senaste stabila versionen, t.ex. 24.10). Du kan hämta den via NuGet: `Install-Package Aspose.Words`. +- Ett **.NET 6+** konsol‑ eller webbprojekt – vilken C#‑miljö som helst fungerar. +- En inmatnings‑Word‑fil (`input.docx`) som ligger i en mapp du kontrollerar. +- Grundläggande C#‑kunskaper – inget avancerat, bara förmågan att köra ett konsolprogram. + +Det är allt. Inga extra bibliotek, inga krångliga kommandorads‑trick. Är du redo? Låt oss börja. + +## Steg 1 – Ladda käll‑DOCX till ett Document‑objekt + +Först måste vi läsa Word‑filen. Aspose.Words abstraherar filformatet och ger dig ett `Document`‑objekt som du kan arbeta med oavsett om källan är DOCX, DOC eller till och med ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Varför detta är viktigt:** Att ladda filen en gång i början gör minnesanvändningen förutsägbar och låter dig återanvända `doc`‑instansen för flera exportformat senare (PDF, PNG, etc.). Om filen är enorm strömmar Aspose.Words data effektivt, så du behöver inte oroa dig för minnes‑krascher. + +## Steg 2 – Konfigurera HTML‑spara‑alternativ med standard‑resurshantering + +När du exporterar till HTML skapar Aspose.Words inte bara en `.html`‑fil utan också en mapp med resurser (bilder, CSS, teckensnitt). Som standard skrivs dessa resurser till filsystemet, men vi kan instruera biblioteket att behålla allt i minnet med en `ResourceHandler`. Detta är nyckeln till att skapa ett **HTML archive from DOCX** som vi senare kan zip‑a. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Varför använda `ResourceHandler`?** Den abstraherar bort den temporära mappen, vilket betyder att du inte lämnar kvar skräpfiler på disken. Handlaren lagrar varje genererad resurs som en `MemoryStream`, som vi senare kan mata direkt in i ett ZIP‑arkiv – perfekt för webbtjänster som behöver returnera ett enda nedladdningsbart paket. + +## Steg 3 – Spara dokumentet och dess resurser i ett ZIP‑arkiv + +Nu händer magin. Vi ber Aspose.Words att spara dokumentet med de alternativ vi just byggt, och sedan zip‑ar vi allt. Koden nedan använder `System.IO.Compression` för att skapa den slutliga `result.zip`. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Varför detta fungerar:** `doc.Save(htmlOptions)` triggar genereringen av HTML‑filen och alla relaterade tillgångar, som `ResourceHandler` fångar i minnet. `foreach`‑loopen itererar sedan över varje fångad post och skriver den i `ZipArchive`. Resultatet blir ett enda `result.zip` som innehåller `document.html` samt eventuella bilder, CSS eller teckensnitt som krävs för en trogen återgivning av den ursprungliga DOCX‑filen. + +## Vanliga variationer & kantfall + +### 1. Anpassa HTML‑filnamnet + +Om du vill att HTML‑sidan ska ha ett specifikt namn (t.ex. `preview.html`), sätt `htmlOptions.HtmlVersion = HtmlVersion.Html5;` och byt namn på posten när du lägger till den i ZIP‑filen: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Hantera mycket stora dokument + +För dokument större än 100 MB, överväg att strömma ZIP‑filen direkt till svarströmmen (i ASP.NET) istället för att skriva till disk först. Byt ut `FileStream` mot svarskroppsströmmen, och koden förblir densamma. + +### 3. Exkludera vissa resurser + +Om du inte behöver bilder (kanske vill du bara ha ren text‑HTML), sätt `htmlOptions.ExportImagesAsBase64 = true;` eller inaktivera bildexport helt med `htmlOptions.ExportImages = false`. `ResourceHandler` kommer då att innehålla färre poster, vilket gör ZIP‑filen mindre. + +### 4. Lägga till en manifestfil + +Vissa konsumenter förväntar sig en `manifest.json` som beskriver arkivinnehållet. Du kan skapa den i farten: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +## Pro‑tips & fallgropar + +- **Pro‑tips:** Disposera alltid `Document`‑ och `ZipArchive`‑objekt med `using`‑block. Det frigör ohanterade resurser och undviker läckage av filhandtag. +- **Se upp för:** Om du kör koden flera gånger mot samma `result.zip` kommer filen att skrivas över. Lägg till en tidsstämpel i filnamnet om du behöver unika arkiv. +- **Prestandatips:** `ResourceHandler` lagrar allt i minnet, vilket är okej för de flesta filer (< 20 MB). För enorma dokument, byt till `FileSystemStorage` för att skriva temporära resurser till disk innan zip‑ning. +- **Kompatibilitetsnotering:** Den genererade HTML‑koden är HTML5‑kompatibel och fungerar i moderna webbläsare. Äldre IE‑versioner kan behöva en kompatibilitets‑metatagg, som du kan injicera via `htmlOptions.PrependMetaTag`. + +## Förväntat resultat + +Efter att ha kört programmet hittar du `result.zip` i `YOUR_DIRECTORY`. Öppna ZIP‑filen – du bör se: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Öppna `document.html` i någon webbläsare så ser du en trogen visuell kopia av `input.docx`. Inga saknade bilder, inga brutna länkar – arkivet är verkligen självständigt. + + + +*Bildtext: "Diagram som visar hur man skapar HTML archive from DOCX och genererar en ZIP‑fil från ett Word‑dokument."* + +## Slutsats + +Vi har precis gått igenom hela processen för att **create HTML archive from DOCX** och **generate ZIP file from a Word document** med Aspose.Words i C#. Handledningen ledde dig genom att ladda källan, konfigurera resurshantering i minnet och paketera allt i ett zip‑arkiv redo för nedladdning eller vidare bearbetning. + +Nu kan du bädda in detta kodexempel i större applikationer – webb‑API:er, bakgrundstjänster eller till och med skrivbordsverktyg. Nästa steg är att experimentera med anpassad CSS, inbäddade teckensnitt eller lägga till ett JSON‑manifest för rikare integrationer. + +Om du stöter på problem eller har idéer för utökningar, lämna en kommentar nedan. Lycka till med kodandet! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/swedish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..21ff6869d --- /dev/null +++ b/html/swedish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-20 +description: Hur man zippar HTML i C# med Aspose.HTML – lär dig hur du exporterar + en webbsida, laddar ner webbsidans resurser och sparar HTML som zip snabbt. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: sv +og_description: Hur man zippar HTML i C# med Aspose.HTML. Denna handledning visar + hur du exporterar webbplatsens resurser och sparar HTML som zip i några enkla steg. +og_title: Hur man zippar HTML i C# – Exportera webbsida till ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Hur man zippar HTML i C# – Exportera webbsida till ZIP med Aspose.HTML +url: /sv/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Så zippar du HTML i C# – Exportera webbsida till ZIP med Aspose.HTML + +Har du någonsin undrat **hur man zippar HTML** direkt från din C#-applikation? Du är inte ensam. I många projekt behöver vi **exportera webbsida**-innehåll, hämta varje bild, CSS och skript, och sedan paketera dem i ett enda arkiv för offline‑användning eller distribution. + +I den här guiden går vi igenom ett komplett, körbart exempel som visar exakt **hur man zippar HTML** med Aspose.HTML‑biblioteket. I slutet kommer du att kunna **ladda ner webbsidans resurser**, lagra dem i minnet och **spara HTML som zip** med bara några rader kod. Inga externa verktyg, ingen manuell filhantering – bara ren, programmatisk automation. + +## Förutsättningar + +Innan vi dyker ner, se till att du har följande tillgängligt: + +| Krav | Varför det är viktigt | +|------|-----------------------| +| .NET 6.0 eller senare (eller .NET Framework 4.6+) | Aspose.HTML stödjer båda, men den senaste runtime ger bättre prestanda. | +| Visual Studio 2022 (eller någon C#‑IDE) | En bekväm editor hjälper dig att snabbt upptäcka syntaxfel. | +| Aspose.HTML för .NET NuGet‑paket | Biblioteket tillhandahåller klasserna `HTMLDocument`, `HTMLSaveOptions` och `ResourceHandler` som vi kommer att använda. | +| Internetåtkomst (för mål‑URL:en) | Vi kommer att ladda en live‑sida (`https://example.com`) för att demonstrera **ladda ner webbsidans resurser**. | + +Du kan lägga till Aspose.HTML‑paketet via NuGet‑konsolen: + +```powershell +Install-Package Aspose.HTML +``` + +Det är allt—ingen extra konfiguration behövs. + +## Så zippar du HTML – Steg‑för‑steg-implementation + +Nedan delar vi upp processen i fyra logiska steg. Varje steg förklaras och följs av exakt kod som du kan kopiera‑klistra in. + +> **Pro tip:** Håll koden i ett separat klassbibliotek om du planerar att återanvända logiken i flera projekt. Det gör testning och versionering enkelt. + +### Steg 1: Skapa en anpassad Resource Handler + +Det första vi behöver är ett sätt att fånga varje extern resurs (bilder, CSS, JS) som sidan begär. Aspose.HTML låter oss plugga in en `ResourceHandler`. I vårt fall lagrar vi varje resurs i ett `MemoryStream`, men du kan enkelt byta ut detta mot filsystem‑lagring eller en molnbucket. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*ทำไมเรื่องนี้สำคัญ:* การสร้างเอกสารในหน่วยความจำช่วยหลีกเลี่ยงภาระการอ่าน/เขียนไฟล์และทำให้ทั้งกระบวนการเร็วขึ้น แท็ก `` เป็นเพียงตัวแทน—คุณสามารถแทนที่ด้วย HTML ที่ถูกต้องใด ๆ รวมถึง CSS, รูปภาพ หรือแม้แต่ JavaScript (ตราบใดที่ได้รับการสนับสนุนจาก Aspose.HTML). + +## ขั้นตอนที่ 2: กำหนดฟอนต์ Bold‑Italic ด้วย WebFontStyle + +หากคุณต้องการข้อความที่คมชัดและมีสไตล์ คุณต้องบอก renderer ว่าจะใช้ฟอนต์และสไตล์ใด `FontInfo` ให้คุณรวมแฟล็ก `WebFontStyle` + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*ทำไมเรื่องนี้สำคัญ:* การใช้ `WebFontStyle.Bold | WebFontStyle.Italic` ทำให้ข้อความดูเหมือน “Hello world” ในรูปแบบ bold‑italic อย่างแม่นยำ ซึ่งสำคัญเมื่อคุณต่อมาจะ **generate high quality png** สำหรับการสร้างแบรนด์หรือโมเดล UI. + +## ขั้นตอนที่ 3: นำฟอนต์ไปใช้กับพารากราฟ + +ตอนนี้เราจะผูก `FontInfo` กับองค์ประกอบพารากราฟแรก ซึ่งสอดคล้องกับสิ่งที่คุณทำใน DevTools ของเบราว์เซอร์ + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*เคล็ดลับ:* หากเอกสารของคุณมีหลายองค์ประกอบ คุณสามารถเดินทางผ่าน DOM tree (`htmlDoc.QuerySelectorAll`) และกำหนดฟอนต์ตามต้องการ + +## ขั้นตอนที่ 4: เปิดใช้งาน Antialiasing เพื่อผลลัพธ์ Raster ที่เรียบเนียน + +Antialiasing ทำให้ขอบของข้อความและรูปทรงเรียบเนียน ป้องกันพิกเซลเป็นหยัก เป็นสิ่งจำเป็นเมื่อคุณต้องการ **render HTML to PNG** เพื่อการใช้งานระดับมืออาชีพ + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## ขั้นตอนที่ 5: เปิด Hinting เพื่อข้อความที่คมชัดขึ้น + +Hinting ปรับเส้นรอบ glyph ให้สอดคล้องกับกริดพิกเซล ซึ่งมีประโยชน์เป็นพิเศษเมื่อใช้ขนาดฟอนต์เล็ก + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## ขั้นตอนที่ 6: เรนเดอร์และบันทึกไฟล์ PNG + +สุดท้ายเราจะส่งมอบทุกอย่างให้กับ `ImageRenderer` เมธอดนี้รับเอกสาร, เส้นทางปลายทาง, และตัวเลือกการเรนเดอร์ที่เราตั้งค่าไว้ + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +เมื่อโค้ดทำงานเสร็จ คุณจะพบ `output.png` ใน `YOUR_DIRECTORY` เปิดไฟล์นั้นและคุณควรเห็นพารากราฟ “Hello world” ในรูปแบบ bold‑italic Arial ที่ผ่านการ antialias และ hint อย่างสมบูรณ์ — **high quality PNG** พร้อมใช้สำหรับจดหมายข่าว, รูปย่อ, หรือกระบวนการต่อไปใด ๆ + + + +*ทำไมวิธีนี้ถึงได้ผล:* `ImageRenderer` แยกความซับซ้อนของการจัดวาง, การแยกวิเคราะห์ CSS, และการเรสเตอร์ไลซ์ออกไป ทำให้ได้ประสบการณ์ **convert html to image** ที่แท้จริงโดยไม่ต้องใช้เครื่องมือภายนอก + +## ตัวอย่างทำงานเต็มรูปแบบ + +ด้านล่างเป็นโปรแกรมที่พร้อมคัดลอกและวางทั้งหมด มันคอมไพล์ด้วย .NET 6 และสร้าง PNG ในขั้นตอนเดียว + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**ผลลัพธ์ที่คาดหวัง:** ไฟล์ชื่อ `output.png` ที่แสดงประโยค **Hello world** ในรูปแบบ bold‑italic Arial, ขอบเรียบเนียน, และไม่มีข้อบกพร่องทางภาพ + +## คำถามทั่วไป & กรณีขอบ + +| คำถาม | คำตอบ | +|----------|--------| +| *ฉันสามารถเรนเดอร์เว็บไซต์เต็มหน้าได้หรือไม่?* | ได้—เพียงโหลด URL ด้วย `new HTMLDocument("https://example.com")` แทนการใช้สตริงลิเทรัล | +| *แล้ว CSS หรือรูปภาพภายนอกล่ะ?* | ตรวจสอบให้แน่ใจว่าสามารถเข้าถึงได้ (URL แบบเต็มหรือฝัง base‑64). Aspose.HTML รองรับการเปลี่ยนเส้นทางและสามารถโหลดทรัพยากรระยะไกลได้ | +| *ฉันต้องทำการ dispose วัตถุหรือไม่?* | `HTMLDocument` implements `IDisposable`. ห่อไว้ในบล็อก `using` สำหรับโค้ด production เพื่อปลดปล่อยทรัพยากรเนทีฟโดยเร็ว | +| *ฉันจะเปลี่ยนรูปแบบภาพได้อย่างไร?* | ส่งส่วนขยายไฟล์ที่ต่างกัน (`output.jpg`, `output.tiff`) ไปยัง `Save`; renderer จะเลือก encoder ที่เหมาะสม | +| *ถ้าฉันต้องการพื้นหลังโปร่งใสจะทำอย่างไร?* | ตั้งค่า `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` ก่อนทำการเรนเดอร์ | + +## เคล็ดลับสำหรับการสร้าง PNG คุณภาพสูงยิ่งขึ้น + +1. **เพิ่ม DPI** – ตั้งค่า `imageOptions.Resolution = 300` สำหรับสินทรัพย์ที่พร้อมพิมพ์. +2. **กำหนดพื้นหลังอย่างชัดเจน** – พื้นหลังสีทึบช่วยหลีกเลี่ยงปัญหาความโปร่งใสที่ไม่ตั้งใจ. +3. **ใช้ฟอนต์ที่ปลอดภัยบนเว็บ** – หากเครื่องปลายทางไม่มีฟอนต์นั้น ให้ฝังฟอนต์ผ่าน `@font-face` ใน HTML. + +## ขั้นตอนต่อไป + +ตอนนี้คุณได้เชี่ยวชาญ **create html document c#** และสามารถ **render html to png** แล้ว ลองสำรวจต่อไป: + +- **การเรนเดอร์แบบชุด** – วนลูปผ่านคอลเลกชันของสตริง HTML เพื่อสร้างแกลเลอรี PNG. +- **การแปลงเป็น PDF** – เปลี่ยน `ImageRenderer` เป็น `PdfRenderer` เพื่อสร้าง PDF จากแหล่ง HTML เดียวกัน. +- **ข้อมูลแบบไดนามิก** – แทรกเนื้อหาที่ขับเคลื่อนด้วย JSON ลงใน HTML ก่อนเรนเดอร์ เหมาะสำหรับการสร้างรายงาน. + +คุณสามารถทดลองใช้สไตล์ CSS ต่าง ๆ, แคนวาสขนาดใหญ่ขึ้น, หรือแม้แต่กราฟิก SVG ได้ตามต้องการ กระบวนการยังคงเหมือนเดิม และ Aspose.HTML จะดูแลงานที่ซับซ้อนให้ + +--- + +*ขอให้สนุกกับการเขียนโค้ด! หากคุณเจอปัญหาใด ๆ ฝากคอมเมนต์ด้านล่างและเราจะช่วยแก้ไขร่วมกัน.* + +{{< /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 2474ca32c..a3ee3605d 100644 --- a/html/thai/net/html-extensions-and-conversions/_index.md +++ b/html/thai/net/html-extensions-and-conversions/_index.md @@ -65,6 +65,8 @@ Aspose.HTML สำหรับ .NET ไม่ใช่แค่ไลบรา ค้นพบพลังของ Aspose.HTML สำหรับ .NET: แปลง HTML เป็น XPS ได้อย่างง่ายดาย มีข้อกำหนดเบื้องต้น คำแนะนำทีละขั้นตอน และคำถามที่พบบ่อยรวมอยู่ด้วย ### [วิธีบีบอัด HTML เป็น Zip ใน C# – บันทึก HTML เป็น Zip](./how-to-zip-html-in-c-save-html-to-zip/) เรียนรู้วิธีบีบอัดไฟล์ HTML เป็นไฟล์ Zip ด้วย C# และ Aspose.HTML สำหรับ .NET อย่างง่ายดายและปลอดภัย +### [วิธีบีบอัด HTML ใน C# – ส่งออกหน้าเว็บเป็น ZIP ด้วย Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-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/) @@ -73,6 +75,8 @@ Aspose.HTML สำหรับ .NET ไม่ใช่แค่ไลบรา บันทึกไฟล์ HTML เป็น ZIP อย่างครบถ้วนด้วย C# ตามขั้นตอนของเรา ### [บันทึก HTML เป็น ZIP ใน C# – ตัวอย่างทำงานในหน่วยความจำเต็มรูปแบบ](./save-html-to-zip-in-c-complete-in-memory-example/) บันทึกไฟล์ HTML เป็นไฟล์ ZIP โดยใช้ C# ด้วยตัวอย่างทำงานในหน่วยความจำเต็มรูปแบบ +### [สร้างไฟล์เก็บ HTML จาก DOCX – คู่มือเต็ม](./create-html-archive-from-docx-step-by-step-guide/) +เรียนรู้วิธีสร้างไฟล์เก็บ HTML จากเอกสาร DOCX ด้วย Aspose.HTML สำหรับ .NET ตามขั้นตอนละเอียดและตัวอย่างโค้ด ## บทสรุป diff --git a/html/thai/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/thai/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..57385735e --- /dev/null +++ b/html/thai/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: สร้างไฟล์ HTML จาก DOCX และสร้างไฟล์ ZIP จากเอกสาร Word ด้วย C# เรียนรู้โค้ดเต็ม + ทำไมจึงทำงานได้ และข้อผิดพลาดทั่วไป +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: th +og_description: สร้างไฟล์ HTML จาก DOCX และสร้างไฟล์ ZIP จากเอกสาร Word ด้วย Aspose.Words. + โค้ดเต็ม, คำอธิบาย, และเคล็ดลับ. +og_title: สร้างไฟล์ HTML จาก DOCX – คอร์สสอน C# อย่างสมบูรณ์ +tags: +- Aspose.Words +- C# +- Document Processing +title: สร้างไฟล์ HTML จาก DOCX – คู่มือแบบขั้นตอนต่อขั้นตอน +url: /th/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สร้าง HTML archive จาก DOCX – คำแนะนำ C# ฉบับสมบูรณ์ + +เคยต้องการ **สร้าง HTML archive จาก DOCX** แต่ไม่แน่ใจว่าจะรวมไฟล์ที่ได้เป็นแพ็คเกจเดียวอย่างไร? คุณไม่ใช่คนเดียว ไม่ว่าคุณจะสร้างฟีเจอร์การแสดงตัวอย่างบนเว็บหรือส่งออกเอกสารสำหรับการใช้งานแบบออฟไลน์ การแปลงไฟล์ Word ให้เป็น HTML ZIP ที่เป็นอิสระเป็นความต้องการทั่วไป + +ในคู่มือนี้เราจะพาคุณผ่านขั้นตอนที่แม่นยำเพื่อ **สร้างไฟล์ ZIP จากเอกสาร Word** ด้วย Aspose.Words for .NET และอธิบาย “ทำไม” ของแต่ละบรรทัดเพื่อให้คุณปรับใช้โซลูชันนี้กับโปรเจกต์ของคุณได้ + +--- + +## สิ่งที่คุณต้องการ + +ก่อนที่เราจะเริ่มลงมือทำ โปรดตรวจสอบว่าคุณมี: + +- **Aspose.Words for .NET** (เวอร์ชันเสถียรล่าสุด เช่น 24.10) คุณสามารถติดตั้งผ่าน NuGet: `Install-Package Aspose.Words`. +- โปรเจกต์คอนโซลหรือเว็บ **.NET 6+** – สิ่งแวดล้อม C# ใดก็ได้ +- ไฟล์ Word อินพุต (`input.docx`) ที่อยู่ในโฟลเดอร์ที่คุณควบคุม +- ความรู้พื้นฐานของ C# – ไม่ต้องซับซ้อน เพียงแค่สามารถรันแอปคอนโซลได้ + +แค่นั้นเอง ไม่ต้องใช้ไลบรารีเพิ่มเติม ไม่ต้องทำเทคนิคบรรทัดคำสั่งที่ยุ่งยาก พร้อมหรือยัง? ไปเริ่มกันเลย + +--- + +## ขั้นตอนที่ 1 – โหลด DOCX ต้นฉบับเข้าสู่วัตถุ Document + +ก่อนอื่นเราต้องอ่านไฟล์ Word Aspose.Words จะทำการแยกประเภทไฟล์ให้คุณเป็นวัตถุ `Document` ที่สามารถทำงานได้ไม่ว่าต้นฉบับจะเป็น DOCX, DOC หรือแม้แต่ ODT + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**ทำไมเรื่องนี้ถึงสำคัญ:** การโหลดไฟล์เพียงครั้งเดียวที่ส่วนบนช่วยให้การใช้หน่วยความจำคาดเดาได้และทำให้คุณสามารถใช้อินสแตนซ์ `doc` ซ้ำสำหรับการส่งออกรูปแบบอื่น ๆ ต่อไป (PDF, PNG ฯลฯ) หากไฟล์มีขนาดใหญ่ Aspose.Words จะสตรีมข้อมูลอย่างมีประสิทธิภาพ ทำให้คุณไม่ต้องกังวลเรื่องการพังจากหน่วยความจำเต็ม + +--- + +## ขั้นตอนที่ 2 – ตั้งค่า HTML Save Options พร้อมการจัดการ Resource เริ่มต้น + +เมื่อคุณส่งออกเป็น HTML Aspose.Words จะสร้างไฟล์ `.html` พร้อมโฟลเดอร์ของทรัพยากร (รูปภาพ, CSS, ฟอนต์) ตามค่าเริ่มต้นทรัพยากรเหล่านี้จะถูกเขียนลงไฟล์ระบบ แต่เราสามารถบอกไลบรารีให้เก็บทุกอย่างในหน่วยความจำโดยใช้ `ResourceHandler` นี่คือกุญแจสำคัญในการสร้าง **HTML archive จาก DOCX** ที่เราจะบีบอัดต่อไป + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**ทำไมต้องใช้ `ResourceHandler`?** มันทำให้คุณไม่ต้องกังวลเกี่ยวกับโฟลเดอร์ชั่วคราว หมายความว่าคุณจะไม่เหลือไฟล์ขยะบนดิสก์ ตัวจัดการจะเก็บแต่ละทรัพยากรที่สร้างเป็น `MemoryStream` ซึ่งเราสามารถส่งต่อโดยตรงเข้าไปใน ZIP archive – เหมาะอย่างยิ่งสำหรับเว็บเซอร์วิสที่ต้องการส่งแพ็คเกจดาวน์โหลดเดียว + +--- + +## ขั้นตอนที่ 3 – บันทึกเอกสารและทรัพยากรทั้งหมดลงใน ZIP Archive + +ตอนนี้จุดมุ่งหมายของเราจะเกิดขึ้น เราขอให้ Aspose.Words บันทึกเอกสารด้วยตัวเลือกที่เราตั้งไว้ แล้วบีบอัดทุกอย่าง โค้ดด้านล่างใช้ `System.IO.Compression` เพื่อสร้างไฟล์ `result.zip` สุดท้าย + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**ทำไมวิธีนี้ถึงได้ผล:** `doc.Save(htmlOptions)` จะกระตุ้นการสร้างไฟล์ HTML และทรัพยากรที่เกี่ยวข้องทั้งหมด ซึ่ง `ResourceHandler` จะจับไว้ในหน่วยความจำ ลูป `foreach` จะวนผ่านแต่ละรายการที่จับได้และเขียนลงใน `ZipArchive` ผลลัพธ์คือไฟล์ `result.zip` เดียวที่มี `document.html` พร้อมรูปภาพ, CSS หรือฟอนต์ที่จำเป็นสำหรับการแสดงผลที่ตรงกับ DOCX ต้นฉบับ + +--- + +## ความแตกต่างทั่วไป & กรณีขอบ + +### 1. ปรับชื่อไฟล์ HTML + +หากคุณต้องการให้หน้า HTML มีชื่อเฉพาะ (เช่น `preview.html`) ให้ตั้งค่า `htmlOptions.HtmlVersion = HtmlVersion.Html5;` แล้วเปลี่ยนชื่อ entry เมื่อเพิ่มเข้า ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. จัดการเอกสารขนาดใหญ่มาก + +สำหรับเอกสารที่ใหญ่กว่า 100 MB ควรสตรีม ZIP ตรงไปยัง response stream (ใน ASP.NET) แทนการเขียนลงดิสก์ก่อน เปลี่ยน `FileStream` เป็นสตรีมของ response body แล้วโค้ดก็ยังใช้ได้เหมือนเดิม + +### 3. ยกเว้นทรัพยากรบางประเภท + +หากคุณไม่ต้องการรูปภาพ (อาจต้องการ HTML แบบข้อความเปล่า) ให้ตั้งค่า `htmlOptions.ExportImagesAsBase64 = true;` หรือปิดการส่งออกรูปภาพทั้งหมดด้วย `htmlOptions.ExportImages = false` `ResourceHandler` จะมีรายการน้อยลง ทำให้ ZIP มีขนาดเล็กลง + +### 4. เพิ่มไฟล์ Manifest + +ผู้ใช้บางรายอาจคาดหวังไฟล์ `manifest.json` ที่อธิบายเนื้อหาใน archive คุณสามารถสร้างไฟล์นี้แบบไดนามิกได้: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## เคล็ดลับระดับมืออาชีพ & สิ่งที่ต้องระวัง + +- **เคล็ดลับระดับมืออาชีพ:** ควรใช้บล็อก `using` เพื่อกำจัดวัตถุ `Document` และ `ZipArchive` เสมอ จะช่วยปล่อยทรัพยากรที่ไม่ได้จัดการและป้องกันการรั่วของไฟล์แฮนด์ล์ +- **ระวัง:** หากคุณรันโค้ดหลายครั้งกับ `result.zip` เดียวกัน ไฟล์จะถูกเขียนทับ เพิ่ม timestamp ลงในชื่อไฟล์หากต้องการ archive ที่ไม่ซ้ำกัน +- **เคล็ดลับด้านประสิทธิภาพ:** `ResourceHandler` เก็บทุกอย่างในหน่วยความจำ ซึ่งเหมาะกับไฟล์ส่วนใหญ่ (< 20 MB) สำหรับเอกสารขนาดมหาศาลให้เปลี่ยนเป็น `FileSystemStorage` เพื่อเขียนทรัพยากรชั่วคราวลงดิสก์ก่อนบีบอัด +- **หมายเหตุความเข้ากันได้:** HTML ที่สร้างขึ้นเป็นมาตรฐาน HTML5 และทำงานได้บนเบราว์เซอร์สมัยใหม่ เวอร์ชัน IE เก่าอาจต้องการ meta tag ความเข้ากันได้ ซึ่งคุณสามารถแทรกผ่าน `htmlOptions.PrependMetaTag` + +--- + +## ผลลัพธ์ที่คาดหวัง + +หลังจากรันโปรแกรม คุณจะพบ `result.zip` ใน `YOUR_DIRECTORY` เปิดไฟล์ ZIP – คุณควรเห็น: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +เปิด `document.html` ในเบราว์เซอร์ใดก็ได้ คุณจะเห็นการจำลองภาพที่ตรงกับ `input.docx` อย่างสมบูรณ์ ไม่มีรูปภาพหาย ไม่มีลิงก์เสีย – archive นี้เป็นไฟล์ที่บรรจุเองอย่างแท้จริง + +--- + + + +*ข้อความแทนภาพ: "แผนภาพแสดงกระบวนการจาก DOCX ไปยัง HTML archive แล้วบีบอัดเป็นไฟล์ ZIP"* + +--- + +## สรุป + +เราได้อธิบายกระบวนการครบถ้วนเพื่อ **สร้าง HTML archive จาก DOCX** และ **สร้างไฟล์ ZIP จากเอกสาร Word** ด้วย Aspose.Words ใน C# คู่มือได้พาคุณผ่านการโหลดไฟล์ต้นฉบับ การตั้งค่าการจัดการทรัพยากรในหน่วยความจำ และการบรรจุทุกอย่างลงใน zip archive ที่พร้อมสำหรับการดาวน์โหลดหรือการประมวลผลต่อไป + +ตอนนี้คุณสามารถนำโค้ดส่วนนี้ฝังลงในแอปพลิเคชันขนาดใหญ่ – API เว็บ, บริการพื้นหลัง, หรือแม้แต่เครื่องมือเดสก์ท็อป ถัดไปลองทดลองปรับ CSS เอง, ฝังฟอนต์, หรือเพิ่ม manifest JSON เพื่อการบูรณาการที่ลึกซึ้งยิ่งขึ้น + +หากคุณเจอปัญหาใดหรือมีไอเดียสำหรับการขยายฟีเจอร์ อย่าลังเลที่จะคอมเมนต์ด้านล่าง ขอให้สนุกกับการเขียนโค้ด! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/thai/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..3a3601e1b --- /dev/null +++ b/html/thai/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-20 +description: วิธีบีบอัด HTML เป็น zip ใน C# ด้วย Aspose.HTML – เรียนรู้วิธีส่งออกหน้าเว็บ + ดาวน์โหลดทรัพยากรของหน้าเว็บ และบันทึก HTML เป็น zip อย่างรวดเร็ว. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: th +og_description: วิธีบีบอัด HTML เป็น zip ใน C# ด้วย Aspose.HTML บทเรียนนี้จะแสดงวิธีส่งออกทรัพยากรของหน้าเว็บและบันทึก + HTML เป็นไฟล์ zip อย่างง่ายในไม่กี่ขั้นตอน. +og_title: วิธีบีบอัด HTML เป็น ZIP ใน C# – ส่งออกหน้าเว็บเป็นไฟล์ ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: วิธีบีบอัด HTML เป็น ZIP ใน C# – ส่งออกหน้าเว็บเป็นไฟล์ ZIP ด้วย Aspose.HTML +url: /th/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีบีบอัด HTML เป็น ZIP ใน C# – ส่งออกหน้าเว็บเป็น ZIP ด้วย Aspose.HTML + +เคยสงสัย **วิธีบีบอัด HTML** โดยตรงจากแอปพลิเคชัน C# ของคุณหรือไม่? คุณไม่ได้อยู่คนเดียว ในหลายโครงการเราต้อง **ส่งออกหน้าเว็บ** โดยดึงรูปภาพ, CSS, และสคริปต์ทั้งหมด แล้วบรรจุไว้ในไฟล์เดียวเพื่อใช้งานออฟไลน์หรือแจกจ่าย + +ในบทความนี้เราจะเดินผ่านตัวอย่างที่ทำงานได้เต็มรูปแบบซึ่งแสดง **วิธีบีบอัด HTML** ด้วยไลบรารี Aspose.HTML อย่างชัดเจน จบแล้วคุณจะสามารถ **ดาวน์โหลดทรัพยากรของหน้าเว็บ**, เก็บไว้ในหน่วยความจำ, และ **บันทึก HTML เป็น zip** เพียงไม่กี่บรรทัดของโค้ด ไม่ต้องใช้เครื่องมือภายนอก ไม่ต้องจัดการไฟล์ด้วยตนเอง—เพียงการทำงานอัตโนมัติแบบโปรแกรม + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะลงลึก โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้พร้อมใช้งาน: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 หรือใหม่กว่า (หรือ .NET Framework 4.6+) | Aspose.HTML รองรับทั้งสองแบบ แต่ runtime ล่าสุดให้ประสิทธิภาพที่ดีกว่า | +| Visual Studio 2022 (หรือ IDE สำหรับ C# ใดก็ได้) | ตัวแก้ไขที่สะดวกช่วยให้คุณตรวจจับข้อผิดพลาดของไวยากรณ์ได้เร็ว | +| Aspose.HTML for .NET NuGet package | ไลบรารีนี้ให้คลาส `HTMLDocument`, `HTMLSaveOptions`, และ `ResourceHandler` ที่เราจะใช้ | +| การเชื่อมต่ออินเทอร์เน็ต (สำหรับ URL เป้าหมาย) | เราจะโหลดหน้าเว็บสด (`https://example.com`) เพื่อสาธิต **การดาวน์โหลดทรัพยากรของหน้าเว็บ** | + +คุณสามารถเพิ่มแพคเกจ Aspose.HTML ผ่านคอนโซล NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +แค่นั้น—ไม่ต้องตั้งค่าเพิ่มเติมใด ๆ + +## วิธีบีบอัด HTML – การทำงานทีละขั้นตอน + +ด้านล่างเราจะแบ่งกระบวนการออกเป็นสี่ขั้นตอนหลัก แต่ละขั้นตอนอธิบายพร้อมโค้ดที่คุณสามารถคัดลอก‑วางได้ + +> **Pro tip:** เก็บโค้ดไว้ในคลาสไลบรารีแยกต่างหากหากคุณต้องการใช้ตรรกะนี้ในหลายโครงการ มันทำให้การทดสอบและการเวอร์ชันง่ายขึ้น + +### ขั้นตอนที่ 1: สร้าง Custom Resource Handler + +สิ่งแรกที่เราต้องการคือวิธีดักจับทรัพยากรภายนอกทุกอย่าง (รูปภาพ, CSS, JS) ที่หน้าเว็บร้องขอ Aspose.HTML ให้เราต่อ `ResourceHandler` ได้ ในกรณีนี้เราจะเก็บแต่ละทรัพยากรใน `MemoryStream` แต่คุณสามารถสลับไปใช้การจัดเก็บบนไฟล์ระบบหรือคลาวด์ได้ง่าย ๆ + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Neden önemli:* Belgeyi bellek içinde oluşturarak dosya‑I/O yükünden kaçınır ve tüm işlem hattını hızlı tutarız. `` etiketi sadece bir yer tutucudur—herhangi geçerli HTML ile, CSS, resimler veya hatta JavaScript (Aspose.HTML tarafından desteklendiği sürece) ile değiştirebilirsiniz. + +## Adım 2: WebFontStyle ile Kalın‑Eğik Yazı Tipi Tanımlama + +Keskin, stilize metin istiyorsanız, renderlayıcıya hangi yazı tipi ve stilin kullanılacağını söylemeniz gerekir. `FontInfo`, `WebFontStyle` bayraklarını birleştirmenize olanak tanır. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Neden önemli:* `WebFontStyle.Bold | WebFontStyle.Italic` kullanmak, metnin tam olarak “Hello world” ifadesinin kalın‑eğik görünmesini sağlar; bu, daha sonra **yüksek kaliteli png oluşturma** için marka veya UI mockup'ları açısından kritiktir. + +## Adım 3: Yazı Tipini Paragrafa Uygulama + +Şimdi `FontInfo`'yu ilk paragraf öğesine ekliyoruz. Bu, bir tarayıcının DevTools'unda yapacağınız şeye benzer. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Pro ipucu:* Belgenizde birden fazla öğe varsa, DOM ağacını (`htmlDoc.QuerySelectorAll`) dolaşarak yazı tiplerini seçici bir şekilde atayabilirsiniz. + +## Adım 4: Daha Pürüzsüz Raster Çıktı İçin Antialiasing'i Etkinleştirme + +Antialiasing, metin ve şekillerin kenarlarını yumuşatarak tırtıklı pikselleri önler. Profesyonel kullanım için **HTML'yi PNG olarak render etme** hedefliyorsanız bu bir zorunluluktur. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Adım 5: Daha Keskin Metin İçin Hinting'i Açma + +Hinting, glif konturlarını piksel ızgarasına hizalayacak şekilde ayarlar; bu, özellikle küçük yazı tipi boyutlarında faydalıdır. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Adım 6: PNG Dosyasını Render Et ve Kaydet + +Son olarak her şeyi `ImageRenderer`'a teslim ediyoruz. Metot, belgeyi, hedef yolu ve oluşturduğumuz render seçeneklerini alır. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Kod tamamlandığında `output.png` dosyasını `YOUR_DIRECTORY` içinde bulacaksınız. Açtığınızda kalın‑eğik Arial ile “Hello world” paragrafını, mükemmel antialiasing ve hinting uygulanmış olarak göreceksiniz—bu, bültenler, küçük resimler veya herhangi bir sonraki işlem için hazır bir **yüksek kaliteli PNG**. + + + +*Neden bu çalışıyor:* `ImageRenderer`, yerleşim, CSS ayrıştırma ve rasterleştirme gibi ağır işleri soyutlayarak dış araçlar olmadan gerçek bir **convert html to image** deneyimi sunar. + +## Tam Çalışan Örnek + +Aşağıda eksiksiz, kopyala‑yapıştır hazır program yer alıyor. .NET 6 ile derlenir ve PNG'yi tek seferde üretir. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Beklenen çıktı:** `output.png` adlı dosya, **Hello world** cümlesini kalın‑eğik Arial ile, yumuşak kenarlarla ve görsel bozulma olmadan gösterir. + +## Yaygın Sorular ve Kenar Durumları + +| Question | Answer | +|----------|--------| +| *Tam sayfa bir web sitesini render edebilir miyim?* | Evet—sadece bir dize literalı yerine `new HTMLDocument("https://example.com")` ile URL'yi yükleyin. | +| *Harici CSS veya resimler ne olacak?* | Erişilebilir olduklarından emin olun (mutlak URL'ler veya gömülü base‑64). Aspose.HTML yönlendirmeleri takip eder ve uzaktan kaynakları yükleyebilir. | +| *Nesneleri dispose etmem gerekiyor mu?* | `HTMLDocument` `IDisposable` arayüzünü uygular. Üretim kodunda yerel kaynakları hızlıca serbest bırakmak için bir `using` bloğu içinde sarın. | +| *Görüntü formatını nasıl değiştiririm?* | `Save` metoduna farklı bir dosya uzantısı (`output.jpg`, `output.tiff`) verin; renderlayıcı uygun kodlayıcıyı seçer. | +| *Şeffaf bir arka plan ihtiyacım olursa ne yapmalıyım?* | Renderlamadan önce `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` olarak ayarlayın. | + +## Daha Yüksek Kaliteli PNG'ler Üretmek İçin İpuçları + +1. **DPI'yi artırın** – Baskı‑hazır varlıklar için `imageOptions.Resolution = 300` olarak ayarlayın. +2. **Arka planı açıkça ayarlayın** – Katı bir arka plan, istenmeyen şeffaflık sorunlarını önler. +3. **Web‑uyumlu fontları kullanın** – Hedef makinede font yoksa, HTML içinde `@font-face` ile gömün. + +## Sonraki Adımlar + +Artık **create html document c#** konusunda uzmanlaştığınıza ve **render html to png** yapabildiğinize göre, aşağıdakileri keşfetmeyi düşünün: + +- **Toplu renderlama** – HTML dize koleksiyonu üzerinde döngü yaparak bir PNG galerisi oluşturun. +- **PDF dönüşümü** – Aynı HTML kaynağından PDF almak için `ImageRenderer` yerine `PdfRenderer` kullanın. +- **Dinamik veri** – Renderlamadan önce HTML'e JSON‑tabanlı içerik enjekte edin; rapor üretimi için mükemmeldir. + +Farklı CSS stilleri, daha büyük kanvaslar veya hatta SVG grafiklerle denemeler yapmaktan çekinmeyin. İş akışı aynı kalır ve Aspose.HTML ağır işleri halleder. + +--- + +*Kodlamanız keyifli olsun! Herhangi bir sorunla karşılaşırsanız, aşağıya yorum bırakın, birlikte çözüm bulalım.* + +{{< /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 8dd996b05..03ede80da 100644 --- a/html/turkish/net/html-extensions-and-conversions/_index.md +++ b/html/turkish/net/html-extensions-and-conversions/_index.md @@ -66,11 +66,14 @@ Aspose.HTML for .NET ile HTML'yi TIFF'e nasıl dönüştüreceğinizi öğrenin. ### [HTML'den PDF Oluşturma – C# Adım Adım Kılavuz](./create-pdf-from-html-c-step-by-step-guide/) Aspose.HTML for .NET kullanarak HTML'den PDF'ye nasıl dönüştüreceğinizi adım adım öğrenin. ### [C#'ta HTML'i Zip Dosyasına Sıkıştırma](./how-to-zip-html-in-c-save-html-to-zip/) +### [C#'ta HTML'i ZIP'e Dışa Aktarma – Aspose.HTML ile Web Sayfasını ZIP'e Aktarın](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) ### [Stil Verilmiş Metinle HTML Belgesi Oluşturma ve PDF'ye Dışa Aktarma – Tam Kılavuz](./create-html-document-with-styled-text-and-export-to-pdf-full/) ### [HTML'yi ZIP Olarak Kaydet – Tam C# Öğreticisi](./save-html-as-zip-complete-c-tutorial/) Aspose.HTML for .NET kullanarak HTML dosyalarını ZIP arşivine kaydetmeyi adım adım öğrenin. ### [C# ile HTML'yi ZIP'e Kaydet – Tam Bellek İçi Örnek](./save-html-to-zip-in-c-complete-in-memory-example/) Aspose.HTML for .NET kullanarak HTML dosyasını bellek içinde ZIP arşivine dönüştürmeyi adım adım öğrenin. +### [DOCX'ten HTML arşivi oluşturma – Adım adım kılavuz](./create-html-archive-from-docx-step-by-step-guide/) +Aspose.HTML for .NET kullanarak DOCX dosyasından HTML arşivi oluşturmayı adım adım öğrenin. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/html/turkish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/turkish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..28b7c8962 --- /dev/null +++ b/html/turkish/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-03-20 +description: DOCX'ten HTML arşivi oluşturun ve Word belgesinden C# ile ZIP dosyası + üretin. Tam kodu, neden çalıştığını ve yaygın hataları öğrenin. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: tr +og_description: DOCX'ten HTML arşivi oluşturun ve Aspose.Words kullanarak Word belgesinden + ZIP dosyası üretin. Tam kod, açıklamalar ve ipuçları. +og_title: DOCX'ten HTML arşivi oluşturun – Tam C# Öğreticisi +tags: +- Aspose.Words +- C# +- Document Processing +title: DOCX'ten HTML arşivi oluşturma – Adım adım rehber +url: /tr/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# DOCX'ten HTML arşivi oluşturma – Tam C# Öğreticisi + +Hiç **DOCX'ten HTML arşivi oluşturma** ihtiyacı duydunuz mu ama ortaya çıkan dosyaları tek bir paket içinde nasıl birleştireceğinizi bilmiyor muydunuz? Tek başınıza değilsiniz. İster bir web önizleme özelliği geliştiriyor olun, ister belgeleri çevrim dışı kullanım için dışa aktarıyor olun, bir Word dosyasını kendi içinde barındıran bir HTML ZIP'ine dönüştürmek yaygın bir gereksinimdir. + +Bu rehberde Aspose.Words for .NET kullanarak **bir Word belgesinden ZIP dosyası oluşturma** adımlarını adım adım gösterecek ve her satırın “neden”ini açıklayacağız, böylece çözümü kendi projelerinize uyarlayabilirsiniz. + +--- + +## İhtiyacınız Olanlar + +Başlamadan önce şunlara sahip olduğunuzdan emin olun: + +- **Aspose.Words for .NET** (en son kararlı sürüm, ör. 24.10). NuGet üzerinden alabilirsiniz: `Install-Package Aspose.Words`. +- **.NET 6+** konsol veya web projesi – herhangi bir C# ortamı yeterli. +- Kontrol ettiğiniz bir klasörde bulunan bir giriş Word dosyası (`input.docx`). +- Temel C# bilgisi – karmaşık bir şey değil, sadece bir konsol uygulaması çalıştırabilmek. + +Hepsi bu. Ek kütüphane yok, karmaşık komut satırı hileleri yok. Hazır mısınız? Hadi başlayalım. + +--- + +## Adım 1 – Kaynak DOCX'i Document Nesnesine Yükleme + +İlk olarak Word dosyasını okumamız gerekiyor. Aspose.Words dosya formatını soyutlayarak, kaynağın DOCX, DOC ya da ODT olmasına bakılmaksızın çalışabileceğiniz bir `Document` nesnesi sunar. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Bu neden önemli:** Dosyayı en başta bir kez yüklemek bellek kullanımını öngörülebilir kılar ve `doc` örneğini daha sonra (PDF, PNG vb.) birden fazla dışa aktarma formatı için yeniden kullanmanıza olanak tanır. Dosya çok büyükse, Aspose.Words veriyi verimli bir şekilde akış olarak işler, böylece bellek taşması hatalarıyla uğraşmazsınız. + +--- + +## Adım 2 – Varsayılan Kaynak İşleme ile HTML Kaydetme Seçeneklerini Yapılandırma + +HTML olarak dışa aktardığınızda Aspose.Words yalnızca bir `.html` dosyası değil, aynı zamanda bir kaynak klasörü (görseller, CSS, fontlar) oluşturur. Varsayılan olarak bu kaynaklar dosya sistemine yazılır, ancak bir `ResourceHandler` kullanarak her şeyi bellekte tutabiliriz. Bu, daha sonra zipleyebileceğimiz bir **DOCX'ten HTML arşivi** oluşturmanın anahtarıdır. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**`ResourceHandler` neden kullanılır?** Geçici klasörü soyutlayarak diskte gereksiz dosyalar bırakmazsınız. İşleyici, oluşturulan her kaynağı bir `MemoryStream` olarak saklar; bu da doğrudan bir ZIP arşivine beslenebilir – tek bir indirilebilir paket döndürmesi gereken web servisleri için mükemmeldir. + +--- + +## Adım 3 – Belgeyi ve Kaynaklarını ZIP Arşivine Kaydetme + +Şimdi sihir gerçekleşiyor. Aspose.Words'ten, az önce oluşturduğumuz seçeneklerle belgeyi kaydetmesini istiyoruz, ardından her şeyi zipliyoruz. Aşağıdaki kod `System.IO.Compression` kullanarak son `result.zip` dosyasını oluşturur. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Bu neden çalışır:** `doc.Save(htmlOptions)` HTML dosyasını ve ilgili tüm varlıkları üretir, `ResourceHandler` bunları bellekte yakalar. `foreach` döngüsü daha sonra yakalanan her girdiyi `ZipArchive` içine yazar. Sonuç, orijinal DOCX'in sadık bir render'ı için gerekli `document.html` ve tüm görseller, CSS ya da fontları içeren tek bir `result.zip` dosyasıdır. + +--- + +## Yaygın Varyasyonlar ve Kenar Durumları + +### 1. HTML Dosya Adını Özelleştirme + +HTML sayfasının belirli bir adı (ör. `preview.html`) olmasını istiyorsanız `htmlOptions.HtmlVersion = HtmlVersion.Html5;` ayarlayın ve ZIP'e eklerken girdiyi yeniden adlandırın: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Çok Büyük Belgelerle Çalışma + +100 MB'den büyük belgeler için ZIP'i doğrudan yanıt akışına (ASP.NET içinde) aktarmayı düşünün, önce diske yazmak yerine. `FileStream`'i yanıt gövdesi akışıyla değiştirin, kod aynı kalır. + +### 3. Belirli Kaynakları Hariç Tutma + +Görsellere ihtiyacınız yoksa (belki sadece düz metin HTML istiyorsunuz), `htmlOptions.ExportImagesAsBase64 = true;` ayarlayın ya da görsel dışa aktarmayı tamamen devre dışı bırakmak için `htmlOptions.ExportImages = false` kullanın. `ResourceHandler` daha az giriş içerecek ve ZIP daha küçük olacaktır. + +### 4. Manifest Dosyası Ekleme + +Bazı tüketiciler arşiv içeriğini tanımlayan bir `manifest.json` bekler. Bunu anında oluşturabilirsiniz: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Pro İpuçları ve Dikkat Edilmesi Gerekenler + +- **Pro ipucu:** `Document` ve `ZipArchive` nesnelerini her zaman `using` bloklarıyla serbest bırakın. Böylece yönetilmeyen kaynaklar temizlenir ve dosya tutamağı sızıntıları önlenir. +- **Dikkat:** Aynı `result.zip` üzerine kodu birden çok kez çalıştırırsanız dosya üzerine yazılır. Benzersiz arşivler gerekiyorsa dosya adına zaman damgası ekleyin. +- **Performans ipucu:** `ResourceHandler` her şeyi bellekte tutar, bu çoğu dosya (< 20 MB) için uygundur. Çok büyük belgeler için geçici kaynakları diske yazmak üzere `FileSystemStorage`'a geçin, ardından zipleyin. +- **Uyumluluk notu:** Oluşturulan HTML HTML5 uyumludur ve modern tarayıcılarda çalışır. Eski IE sürümleri bir uyumluluk meta etiketi gerektirebilir; bunu `htmlOptions.PrependMetaTag` ile ekleyebilirsiniz. + +--- + +## Beklenen Sonuç + +Programı çalıştırdıktan sonra `YOUR_DIRECTORY` içinde `result.zip` bulacaksınız. ZIP'i açın – şunları görmelisiniz: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +`document.html` dosyasını herhangi bir tarayıcıda açtığınızda `input.docx`'in sadık bir görsel kopyasını göreceksiniz. Eksik görsel yok, kırık bağlantı yok – arşiv gerçekten kendi içinde bütünleşik. + +--- + + + +*Resim alt metni: "DOCX'ten HTML arşivi oluşturma ve bir Word belgesinden ZIP dosyası üretme sürecini gösteren diyagram."* + +--- + +## Sonuç + +Aspose.Words ile C# içinde **DOCX'ten HTML arşivi oluşturma** ve **bir Word belgesinden ZIP dosyası üretme** sürecinin tamamını ele aldık. Öğreticide kaynağı yükleme, bellek içi kaynak işleme yapılandırma ve her şeyi indirmeye ya da daha ileri işlemeye hazır bir zip arşivine paketleme adımlarını gösterdik. + +Şimdi bu kod parçacığını daha büyük uygulamalara—web API'lerine, arka plan servislerine ya da masaüstü araçlarına—entegre edebilirsiniz. Sonraki adımda özel CSS denemeleri, font gömme veya daha zengin entegrasyonlar için bir JSON manifest eklemeyi deneyin. + +Herhangi bir sorunla karşılaşırsanız ya da geliştirme fikirleriniz varsa aşağıya yorum bırakın. Kodlamanın tadını çıkarın! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/turkish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..969e5a323 --- /dev/null +++ b/html/turkish/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-20 +description: C#'ta Aspose.HTML kullanarak HTML'i zipleme – web sayfasını dışa aktarmayı, + web sayfası kaynaklarını indirmeyi ve HTML'i hızlıca zip olarak kaydetmeyi öğrenin. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: tr +og_description: Aspose.HTML ile C#'ta HTML nasıl ziplenir. Bu öğreticide, web sayfası + kaynaklarını dışa aktarmayı ve HTML'yi birkaç basit adımda zip olarak kaydetmeyi + gösteriyoruz. +og_title: C#'ta HTML Nasıl Zip'lenir – Web Sayfasını ZIP'e Aktar +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: C#'ta HTML Nasıl Zip'lenir – Aspose.HTML ile Web Sayfasını ZIP'e Aktarma +url: /tr/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML'i C#'ta Zipleme – Aspose.HTML ile Web Sayfasını ZIP'e Aktarma + +C# uygulamanızdan doğrudan **HTML'i ziplemenin** nasıl yapılacağını hiç merak ettiniz mi? Yalnız değilsiniz. Birçok projede **web sayfasını dışa aktarmamız** gerekir, her resmi, CSS'i ve betiği alıp, ardından çevrim dışı kullanım veya dağıtım için tek bir arşive paketlememiz gerekir. + +Bu rehberde, Aspose.HTML kütüphanesini kullanarak **HTML'i ziplemenin** tam bir, çalıştırılabilir örneğini adım adım inceleyeceğiz. Sonunda **web sayfası kaynaklarını indirme**, bunları bellekte saklama ve sadece birkaç satır kodla **HTML'i zip olarak kaydetme** yeteneğine sahip olacaksınız. Harici araçlar yok, manuel dosya yönetimi yok—sadece temiz, programatik otomasyon. + +## Önkoşullar + +Başlamadan önce aşağıdakilerin elinizde olduğundan emin olun: + +| Gereksinim | Neden Önemli | +|------------|--------------| +| .NET 6.0 veya üzeri (veya .NET Framework 4.6+) | Aspose.HTML her ikisini de destekler, ancak en yeni çalışma zamanı daha iyi performans sağlar. | +| Visual Studio 2022 (veya herhangi bir C# IDE) | Rahat bir editör, sözdizimi hatalarını hızlıca görmenize yardımcı olur. | +| Aspose.HTML for .NET NuGet paketi | Kütüphane, kullanacağımız `HTMLDocument`, `HTMLSaveOptions` ve `ResourceHandler` sınıflarını sağlar. | +| Internet erişimi (hedef URL için) | Canlı bir sayfa (`https://example.com`) yükleyerek **web sayfası kaynaklarını indirme** işlemini göstereceğiz. | + +Aspose.HTML paketini NuGet konsolu aracılığıyla ekleyebilirsiniz: + +```powershell +Install-Package Aspose.HTML +``` + +Hepsi bu—ekstra yapılandırma gerekmez. + +## HTML'i Zipleme – Adım Adım Uygulama + +Aşağıda süreci dört mantıksal adıma bölüyoruz. Her adım açıklanıyor, ardından kopyalayıp‑yapıştırabileceğiniz tam kod veriliyor. + +> **Pro tip:** Mantığı birden fazla projede yeniden kullanmayı planlıyorsanız kodu ayrı bir sınıf kitaplığında tutun. Test ve sürüm yönetimi çok daha kolay olur. + +### Adım 1: Özel Bir Resource Handler Oluşturun + +İlk olarak, sayfanın talep ettiği her dış kaynağı (görseller, CSS, JS) yakalamamızı sağlayacak bir yol gerekir. Aspose.HTML, bir `ResourceHandler` eklememize izin verir. Bu örnekte her kaynağı bir `MemoryStream` içinde saklayacağız, ancak bunu dosya sistemi depolaması ya da bulut kovasıyla da değiştirebilirsiniz. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///Hello world
" +); +``` + +*Tại sao điều này quan trọng:* Bằng cách tạo tài liệu trong bộ nhớ, chúng ta tránh được chi phí file‑I/O và giữ toàn bộ pipeline nhanh. Thẻ `` chỉ là một placeholder—bạn có thể thay thế nó bằng bất kỳ HTML hợp lệ nào, bao gồm CSS, hình ảnh, hoặc thậm chí JavaScript (miễn là được Aspose.HTML hỗ trợ). + +## Bước 2: Định nghĩa phông chữ Đậm‑Nghiêng với WebFontStyle + +Nếu bạn muốn văn bản sắc nét, có kiểu dáng, bạn phải chỉ cho renderer biết phông chữ và kiểu nào sẽ dùng. `FontInfo` cho phép bạn kết hợp các flag `WebFontStyle`. + +```csharp +using Aspose.Html.Drawing; + +// Step 2 – set up a bold‑italic font +FontInfo paragraphFont = new FontInfo( + "Arial", // family + 16, // size in points + WebFontStyle.Bold | WebFontStyle.Italic // combine styles +); +``` + +*Tại sao điều này quan trọng:* Sử dụng `WebFontStyle.Bold | WebFontStyle.Italic` đảm bảo văn bản hiển thị chính xác như “Hello world” ở dạng đậm‑nghiêng, điều này rất quan trọng khi bạn sau này **generate high quality png** cho thương hiệu hoặc mockup UI. + +## Bước 3: Áp dụng phông chữ cho đoạn văn + +Bây giờ chúng ta gắn `FontInfo` vào phần tử đoạn văn đầu tiên. Điều này giống như những gì bạn làm trong DevTools của trình duyệt. + +```csharp +// Step 3 – apply the font to the first
element +htmlDoc.Body.FirstChild.Style.Font = paragraphFont; +``` + +*Mẹo chuyên nghiệp:* Nếu tài liệu của bạn có nhiều phần tử, bạn có thể duyệt cây DOM (`htmlDoc.QuerySelectorAll`) và gán phông chữ một cách chọn lọc. + +## Bước 4: Bật Antialiasing để tạo đầu ra raster mượt hơn + +Antialiasing làm mượt các cạnh của văn bản và hình dạng, ngăn ngừa các pixel răng cưa. Đây là tính năng bắt buộc khi bạn muốn **render HTML to PNG** cho mục đích chuyên nghiệp. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 4 – configure raster options +ImageRenderingOptions imageOptions = new ImageRenderingOptions +{ + UseAntialiasing = true // turn on smoothing +}; +``` + +## Bước 5: Bật Hinting để có văn bản sắc nét hơn + +Hinting điều chỉnh đường viền glyph để căn chỉnh với lưới pixel, rất hữu ích khi sử dụng kích thước phông chữ nhỏ. + +```csharp +using Aspose.Html.Drawing; + +// Step 5 – enable text hinting +TextOptions textOptions = new TextOptions +{ + UseHinting = true // improve glyph clarity +}; +``` + +## Bước 6: Render và Lưu file PNG + +Cuối cùng chúng ta giao mọi thứ cho `ImageRenderer`. Phương thức này nhận tài liệu, đường dẫn đích, và các tùy chọn render mà chúng ta đã xây dựng. + +```csharp +using Aspose.Html.Rendering.Image; + +// Step 6 – render and save +ImageRenderer imageRenderer = new ImageRenderer(); +imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions +); +``` + +Khi code hoàn thành, bạn sẽ thấy `output.png` trong `YOUR_DIRECTORY`. Mở nó và bạn sẽ thấy đoạn văn “Hello world” ở dạng Arial đậm‑nghiêng, được antialias và hint hoàn hảo—một **high quality PNG** sẵn sàng cho bản tin, hình thu nhỏ, hoặc bất kỳ quy trình downstream nào. + + + +*Tại sao điều này hoạt động:* `ImageRenderer` trừu tượng hoá việc tính toán nặng nhọc của layout, phân tích CSS, và rasterization, mang lại trải nghiệm **convert html to image** thực sự mà không cần công cụ bên ngoài. + +## Ví dụ Hoạt động Đầy đủ + +Dưới đây là chương trình hoàn chỉnh, sẵn sàng copy‑paste. Nó biên dịch với .NET 6 và tạo PNG trong một lần chạy. + +```csharp +using System; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // 1️⃣ Create an HTML document with a paragraph + HTMLDocument htmlDoc = new HTMLDocument( + "
Hello world
" + ); + + // 2️⃣ Define a bold‑italic font using WebFontStyle + FontInfo paragraphFont = new FontInfo( + "Arial", 16, WebFontStyle.Bold | WebFontStyle.Italic + ); + + // 3️⃣ Apply the font to the first paragraph element + htmlDoc.Body.FirstChild.Style.Font = paragraphFont; + + // 4️⃣ Enable antialiasing for raster image output + ImageRenderingOptions imageOptions = new ImageRenderingOptions + { + UseAntialiasing = true + }; + + // 5️⃣ Enable hinting for higher‑quality text rendering + TextOptions textOptions = new TextOptions + { + UseHinting = true + }; + + // 6️⃣ Render the HTML document to a PNG file using the configured options + ImageRenderer imageRenderer = new ImageRenderer(); + imageRenderer.Save( + htmlDoc, + "YOUR_DIRECTORY/output.png", + imageOptions, + textOptions + ); + + Console.WriteLine("✅ PNG generated successfully!"); + } +} +``` + +**Kết quả mong đợi:** Một file tên `output.png` hiển thị câu **Hello world** ở dạng Arial đậm‑nghiêng, các cạnh mượt mà, và không có hiện tượng lỗi hình ảnh. + +## Câu hỏi Thường gặp & Trường hợp Cạnh + +| Question | Answer | +|----------|--------| +| *Tôi có thể render một website toàn trang không?* | Có—chỉ cần tải URL bằng `new HTMLDocument("https://example.com")` thay vì một literal chuỗi. | +| *Còn CSS hoặc hình ảnh bên ngoài thì sao?* | Đảm bảo chúng có thể truy cập được (URL tuyệt đối hoặc nhúng base‑64). Aspose.HTML tuân theo các redirect và có thể tải tài nguyên từ xa. | +| *Tôi có cần giải phóng (dispose) các đối tượng không?* | `HTMLDocument` implements `IDisposable`. Đặt nó trong khối `using` cho mã production để giải phóng tài nguyên native kịp thời. | +| *Làm sao để thay đổi định dạng ảnh?* | Cung cấp phần mở rộng file khác (`output.jpg`, `output.tiff`) cho `Save`; renderer sẽ chọn encoder phù hợp. | +| *Nếu tôi cần nền trong suốt thì sao?* | Đặt `imageOptions.BackgroundColor = System.Drawing.Color.Transparent` trước khi render. | + +## Mẹo để Tạo PNG Chất lượng Cao hơn nữa + +1. **Tăng DPI** – Đặt `imageOptions.Resolution = 300` cho tài sản sẵn sàng in. +2. **Đặt nền một cách rõ ràng** – Nền đặc tránh các vấn đề về trong suốt không mong muốn. +3. **Sử dụng phông chữ web‑safe** – Nếu máy đích không có phông, nhúng nó qua `@font-face` trong HTML. + +## Bước Tiếp Theo + +Bây giờ bạn đã thành thạo **create html document c#** và có thể **render html to png**, hãy cân nhắc khám phá: + +- **Batch rendering** – Lặp qua một tập hợp các chuỗi HTML để tạo một bộ sưu tập PNG. +- **PDF conversion** – Thay `ImageRenderer` bằng `PdfRenderer` để tạo PDF từ cùng nguồn HTML. +- **Dynamic data** – Chèn nội dung dựa trên JSON vào HTML trước khi render, lý tưởng cho việc tạo báo cáo. + +Bạn có thể thoải mái thử nghiệm với các kiểu CSS khác nhau, canvas lớn hơn, hoặc ngay cả đồ họa SVG. Quy trình vẫn như cũ, và Aspose.HTML sẽ lo phần tính toán nặng. + +--- + +*Chúc lập trình vui vẻ! Nếu bạn gặp bất kỳ khó khăn nào, hãy để lại bình luận bên dưới và chúng tôi sẽ cùng bạn khắc phục.* + +{{< /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 169c7624f..d29a500f6 100644 --- a/html/vietnamese/net/html-extensions-and-conversions/_index.md +++ b/html/vietnamese/net/html-extensions-and-conversions/_index.md @@ -73,6 +73,10 @@ Tạo PDF từ HTML trong .NET bằng C#. Hướng dẫn chi tiết từng bư 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#. ### [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. +### [Cách Nén HTML trong C# – Xuất Trang Web thành ZIP với Aspose.HTML](./how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/) +Hướng dẫn chi tiết cách nén HTML và xuất trang web thành tệp ZIP bằng C# và Aspose.HTML, kèm ví dụ mã và tùy chọn cấu hình. +### [Tạo lưu trữ HTML từ DOCX – Hướng dẫn từng bước](./create-html-archive-from-docx-step-by-step-guide/) +Hướng dẫn chi tiết cách tạo lưu trữ HTML từ tệp DOCX bằng Aspose.HTML cho .NET. ## Phần kết luận diff --git a/html/vietnamese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md b/html/vietnamese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md new file mode 100644 index 000000000..5d324a61f --- /dev/null +++ b/html/vietnamese/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-20 +description: Tạo kho lưu trữ HTML từ DOCX và tạo file ZIP từ tài liệu Word trong C#. + Tìm hiểu toàn bộ mã nguồn, lý do hoạt động và các lỗi thường gặp. +draft: false +keywords: +- create html archive from docx +- generate zip file from word document +- Aspose.Words HTML export +- C# document conversion +- ZIP archive handling +language: vi +og_description: Tạo tệp lưu trữ HTML từ DOCX và tạo tệp ZIP từ tài liệu Word bằng + Aspose.Words. Mã đầy đủ, giải thích và mẹo. +og_title: Tạo tệp lưu trữ HTML từ DOCX – Hướng dẫn C# đầy đủ +tags: +- Aspose.Words +- C# +- Document Processing +title: Tạo tệp lưu trữ HTML từ DOCX – Hướng dẫn từng bước +url: /vi/net/html-extensions-and-conversions/create-html-archive-from-docx-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tạo lưu trữ HTML từ DOCX – Hướng dẫn C# đầy đủ + +Bạn đã bao giờ cần **tạo lưu trữ HTML từ DOCX** nhưng không chắc cách gói các tệp kết quả thành một gói duy nhất? Bạn không phải là người duy nhất. Dù bạn đang xây dựng tính năng xem trước trên web hay xuất tài liệu để sử dụng ngoại tuyến, việc chuyển một tệp Word thành một ZIP HTML tự chứa là một yêu cầu phổ biến. + +Trong hướng dẫn này, chúng tôi sẽ đi qua các bước **tạo tệp ZIP từ tài liệu Word** bằng Aspose.Words for .NET, đồng thời giải thích “tại sao” mỗi dòng mã lại cần thiết để bạn có thể áp dụng giải pháp vào dự án của mình. + +--- + +## Những gì bạn cần + +Trước khi bắt đầu, hãy chắc chắn rằng bạn có: + +- **Aspose.Words for .NET** (phiên bản ổn định mới nhất, ví dụ: 24.10). Bạn có thể tải về qua NuGet: `Install-Package Aspose.Words`. +- Một dự án console hoặc web **.NET 6+** – bất kỳ môi trường C# nào cũng được. +- Một tệp Word đầu vào (`input.docx`) nằm trong thư mục bạn kiểm soát. +- Kiến thức cơ bản về C# – không cần gì phức tạp, chỉ cần có khả năng chạy một ứng dụng console. + +Đó là tất cả. Không cần thư viện phụ trợ, không cần các thủ thuật dòng lệnh rắc rối. Sẵn sàng chưa? Hãy bắt đầu. + +--- + +## Bước 1 – Tải DOCX nguồn vào đối tượng Document + +Đầu tiên chúng ta cần đọc tệp Word. Aspose.Words trừu tượng hoá định dạng tệp, cung cấp cho bạn một đối tượng `Document` mà bạn có thể làm việc bất kể nguồn là DOCX, DOC hay thậm chí ODT. + +```csharp +using Aspose.Words; +using Aspose.Words.Saving; + +namespace HtmlArchiveDemo +{ + class Program + { + static void Main(string[] args) + { + // 👉 Step 1: Load the source document + string inputPath = @"YOUR_DIRECTORY\input.docx"; + Document doc = new Document(inputPath); +``` + +**Tại sao điều này quan trọng:** Việc tải tệp một lần ở đầu giúp việc sử dụng bộ nhớ dự đoán được và cho phép bạn tái sử dụng thể hiện `doc` cho nhiều định dạng xuất khác nhau sau này (PDF, PNG, v.v.). Nếu tệp rất lớn, Aspose.Words sẽ stream dữ liệu một cách hiệu quả, vì vậy bạn không phải lo lắng về lỗi hết bộ nhớ. + +--- + +## Bước 2 – Cấu hình tùy chọn lưu HTML với xử lý tài nguyên mặc định + +Khi xuất ra HTML, Aspose.Words không chỉ tạo một tệp `.html` mà còn tạo một thư mục chứa các tài nguyên (hình ảnh, CSS, phông chữ). Mặc định các tài nguyên này được ghi vào hệ thống tập tin, nhưng chúng ta có thể chỉ định thư viện giữ mọi thứ trong bộ nhớ bằng một `ResourceHandler`. Đây là chìa khóa để tạo **lưu trữ HTML từ DOCX** mà sau này có thể zip lại. + +```csharp + // 👉 Step 2: Set up HTML save options and let Aspose handle resources automatically + HTMLSaveOptions htmlOptions = new HTMLSaveOptions + { + // The ResourceHandler collects all generated files (HTML + assets) in memory. + OutputStorage = new ResourceHandler() + }; +``` + +**Tại sao dùng `ResourceHandler`?** Nó trừu tượng hoá thư mục tạm thời, nghĩa là bạn sẽ không để lại các tệp rải rác trên đĩa. Trình xử lý lưu mỗi tài nguyên được tạo ra dưới dạng `MemoryStream`, cho phép chúng ta đưa trực tiếp vào một tệp ZIP – lý tưởng cho các dịch vụ web cần trả về một gói tải xuống duy nhất. + +--- + +## Bước 3 – Lưu tài liệu và các tài nguyên của nó vào một tệp ZIP + +Bây giờ phép màu xảy ra. Chúng ta yêu cầu Aspose.Words lưu tài liệu với các tùy chọn vừa tạo, sau đó zip toàn bộ. Đoạn mã dưới đây sử dụng `System.IO.Compression` để tạo tệp `result.zip` cuối cùng. + +```csharp + // 👉 Step 3: Save the HTML + resources into a ZIP file + string zipPath = @"YOUR_DIRECTORY\result.zip"; + + using (var zipStream = new System.IO.FileStream(zipPath, System.IO.FileMode.Create)) + using (var archive = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode.Create)) + { + // Save the document; the ResourceHandler will populate its internal collection. + doc.Save(htmlOptions); + + // The ResourceHandler stores each file with a name (e.g., "document.html", "image1.png") + foreach (var entry in htmlOptions.OutputStorage) + { + var zipEntry = archive.CreateEntry(entry.Key); + using (var entryStream = zipEntry.Open()) + using (var sourceStream = entry.Value) + { + sourceStream.CopyTo(entryStream); + } + } + } + + System.Console.WriteLine("✅ HTML archive created and zipped at: " + zipPath); + } + } +} +``` + +**Tại sao cách này hoạt động:** `doc.Save(htmlOptions)` kích hoạt việc tạo tệp HTML và tất cả các tài nguyên liên quan, mà `ResourceHandler` sẽ bắt giữ trong bộ nhớ. Vòng lặp `foreach` sau đó duyệt qua mỗi mục đã bắt, ghi chúng vào `ZipArchive`. Kết quả là một tệp `result.zip` duy nhất chứa `document.html` cùng mọi hình ảnh, CSS hoặc phông chữ cần thiết để hiển thị chính xác nội dung gốc của DOCX. + +--- + +## Các biến thể phổ biến & Trường hợp đặc biệt + +### 1. Tùy chỉnh tên tệp HTML + +Nếu bạn muốn trang HTML có tên cụ thể (ví dụ: `preview.html`), đặt `htmlOptions.HtmlVersion = HtmlVersion.Html5;` và đổi tên mục khi thêm vào ZIP: + +```csharp +string htmlFileName = "preview.html"; +var htmlEntry = archive.CreateEntry(htmlFileName); +// ... copy the stream as shown above +``` + +### 2. Xử lý tài liệu rất lớn + +Đối với các tài liệu lớn hơn 100 MB, hãy cân nhắc stream ZIP trực tiếp tới luồng phản hồi (trong ASP.NET) thay vì ghi ra đĩa trước. Thay thế `FileStream` bằng luồng body của phản hồi, và mã vẫn giữ nguyên. + +### 3. Loại bỏ một số tài nguyên + +Nếu bạn không cần hình ảnh (có thể bạn chỉ muốn HTML dạng văn bản thuần), đặt `htmlOptions.ExportImagesAsBase64 = true;` hoặc tắt hoàn toàn việc xuất hình ảnh bằng `htmlOptions.ExportImages = false`. `ResourceHandler` sẽ chứa ít mục hơn, làm cho tệp ZIP nhỏ hơn. + +### 4. Thêm tệp Manifest + +Một số người tiêu dùng mong đợi một `manifest.json` mô tả nội dung của archive. Bạn có thể tạo nó ngay lập tức: + +```csharp +var manifest = new +{ + Created = DateTime.UtcNow, + SourceFile = Path.GetFileName(inputPath), + Files = htmlOptions.OutputStorage.Keys +}; +string manifestJson = System.Text.Json.JsonSerializer.Serialize(manifest); +var manifestEntry = archive.CreateEntry("manifest.json"); +using var writer = new System.IO.StreamWriter(manifestEntry.Open()); +writer.Write(manifestJson); +``` + +--- + +## Mẹo chuyên nghiệp & Những lưu ý + +- **Mẹo pro:** Luôn giải phóng các đối tượng `Document` và `ZipArchive` bằng các khối `using`. Điều này giải phóng tài nguyên không quản lý và tránh rò rỉ handle tệp. +- **Cẩn thận:** Nếu bạn chạy mã nhiều lần trên cùng một `result.zip`, tệp sẽ bị ghi đè. Thêm dấu thời gian vào tên tệp nếu cần các archive duy nhất. +- **Mẹo hiệu năng:** `ResourceHandler` lưu mọi thứ trong bộ nhớ, phù hợp với hầu hết các tệp (< 20 MB). Đối với tài liệu khổng lồ, chuyển sang `FileSystemStorage` để ghi tài nguyên tạm thời ra đĩa trước khi zip. +- **Lưu ý tương thích:** HTML được tạo tuân thủ HTML5 và hoạt động trên các trình duyệt hiện đại. Các phiên bản IE cũ có thể cần thẻ meta tương thích, bạn có thể chèn qua `htmlOptions.PrependMetaTag`. + +--- + +## Kết quả mong đợi + +Sau khi chạy chương trình, bạn sẽ thấy `result.zip` trong `YOUR_DIRECTORY`. Mở ZIP – bạn sẽ thấy: + +``` +document.html +image1.png (if the DOCX contained pictures) +styles.css (auto‑generated stylesheet) +``` + +Mở `document.html` bằng bất kỳ trình duyệt nào và bạn sẽ thấy bản sao trực quan chính xác của `input.docx`. Không thiếu hình ảnh, không liên kết bị hỏng – archive thực sự tự chứa. + + + +*Văn bản thay thế hình ảnh: "Sơ đồ minh họa quy trình chuyển DOCX thành lưu trữ HTML và tạo tệp ZIP từ tài liệu Word."* + +--- + +## Kết luận + +Chúng tôi vừa trình bày quy trình hoàn chỉnh để **tạo lưu trữ HTML từ DOCX** và **tạo tệp ZIP từ tài liệu Word** bằng Aspose.Words trong C#. Bài hướng dẫn đã dẫn bạn qua việc tải nguồn, cấu hình xử lý tài nguyên trong bộ nhớ, và đóng gói mọi thứ vào một archive zip sẵn sàng để tải xuống hoặc xử lý tiếp. + +Bây giờ bạn có thể nhúng đoạn mã này vào các ứng dụng lớn hơn—API web, dịch vụ nền, hoặc thậm chí công cụ desktop. Tiếp theo, hãy thử nghiệm với CSS tùy chỉnh, nhúng phông chữ, hoặc thêm manifest JSON để tích hợp phong phú hơn. + +Nếu gặp bất kỳ khó khăn nào hoặc có ý tưởng mở rộng, hãy để lại bình luận bên dưới. Chúc bạn lập trình vui vẻ! + +{{< /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/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md b/html/vietnamese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md new file mode 100644 index 000000000..201888bc7 --- /dev/null +++ b/html/vietnamese/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-20 +description: Cách nén HTML thành zip trong C# bằng Aspose.HTML – tìm hiểu cách xuất + trang web, tải xuống các tài nguyên của trang web và lưu HTML dưới dạng zip nhanh + chóng. +draft: false +keywords: +- how to zip html +- how to export webpage +- download webpage resources +- save html as zip +- export webpage to zip +language: vi +og_description: Cách nén HTML thành zip trong C# với Aspose.HTML. Hướng dẫn này chỉ + cho bạn cách xuất tài nguyên trang web và lưu HTML dưới dạng zip trong vài bước + đơn giản. +og_title: Cách Nén HTML trong C# – Xuất Trang Web thành ZIP +tags: +- C# +- Aspose.HTML +- ZIP +- Web Scraping +title: Cách nén HTML thành ZIP trong C# – Xuất trang web thành ZIP với Aspose.HTML +url: /vi/net/html-extensions-and-conversions/how-to-zip-html-in-c-export-webpage-to-zip-with-aspose-html/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Nén HTML thành ZIP trong C# – Xuất Trang Web thành ZIP với Aspose.HTML + +Bạn đã bao giờ tự hỏi **cách nén HTML** trực tiếp từ ứng dụng C# của mình chưa? Bạn không phải là người duy nhất. Trong nhiều dự án, chúng ta cần **xuất nội dung trang web**, lấy mọi hình ảnh, CSS và script, sau đó gói chúng lại thành một tệp lưu trữ duy nhất để sử dụng offline hoặc phân phối. + +Trong hướng dẫn này, chúng tôi sẽ đi qua một ví dụ hoàn chỉnh, có thể chạy được, cho thấy chính xác **cách nén HTML** bằng thư viện Aspose.HTML. Khi kết thúc, bạn sẽ có thể **tải xuống các tài nguyên của trang web**, lưu chúng trong bộ nhớ và **lưu HTML dưới dạng zip** chỉ với vài dòng mã. Không cần công cụ bên ngoài, không cần thao tác tệp thủ công—chỉ có tự động hóa sạch sẽ, lập trình. + +## Yêu cầu trước + +Trước khi chúng ta bắt đầu, hãy chắc chắn rằng bạn đã có những thứ sau: + +| Yêu cầu | Lý do quan trọng | +|-------------|----------------| +| .NET 6.0 or later (or .NET Framework 4.6+) | Aspose.HTML hỗ trợ cả hai, nhưng môi trường chạy mới nhất sẽ mang lại hiệu năng tốt hơn. | +| Visual Studio 2022 (or any C# IDE) | Một trình soạn thảo thoải mái giúp bạn nhanh chóng phát hiện lỗi cú pháp. | +| Aspose.HTML for .NET NuGet package | Thư viện cung cấp các lớp `HTMLDocument`, `HTMLSaveOptions` và `ResourceHandler` mà chúng ta sẽ sử dụng. | +| Internet access (for the target URL) | Chúng tôi sẽ tải một trang trực tiếp (`https://example.com`) để minh họa **tải xuống các tài nguyên của trang web**. | + +Bạn có thể thêm gói Aspose.HTML thông qua console NuGet: + +```powershell +Install-Package Aspose.HTML +``` + +Chỉ vậy—không cần cấu hình bổ sung. + +## Cách Nén HTML – Triển khai Bước‑đầu‑bước + +Dưới đây chúng tôi chia quy trình thành bốn bước logic. Mỗi bước được giải thích, sau đó là đoạn mã chính xác mà bạn có thể sao chép‑dán. + +> **Mẹo chuyên nghiệp:** Giữ mã trong một thư viện lớp riêng nếu bạn dự định tái sử dụng logic trong nhiều dự án. Điều này giúp việc kiểm thử và quản lý phiên bản trở nên dễ dàng. + +### Bước 1: Tạo Trình Xử Lý Tài Nguyên Tùy Chỉnh + +Điều đầu tiên chúng ta cần là một cách để chặn mọi tài nguyên bên ngoài (hình ảnh, CSS, JS) mà trang yêu cầu. Aspose.HTML cho phép chúng ta gắn một `ResourceHandler`. Trong trường hợp của chúng ta, chúng ta sẽ lưu mỗi tài nguyên vào một `MemoryStream`, nhưng bạn có thể dễ dàng thay thế bằng lưu trữ trên hệ thống tệp hoặc một bucket đám mây. + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Saving; + +///