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..a7c4f4217 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,16 @@ 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. +### [إنشاء PNG من HTML – دليل خطوة بخطوة كامل](./create-png-from-html-full-step-by-step-guide/) +دليل شامل يشرح كيفية تحويل ملفات HTML إلى صور PNG باستخدام Aspose.HTML خطوة بخطوة. +### [إنشاء PNG من HTML باستخدام Aspose – تحويل HTML إلى PNG](./create-png-from-html-with-aspose-render-html-to-png/) +تعلم كيفية تحويل ملفات HTML إلى صور PNG باستخدام Aspose خطوة بخطوة. +### [تحويل مستند Word إلى PNG – دليل برمجة كامل](./convert-word-document-to-png-complete-programming-guide/) +تعلم كيفية تحويل مستندات Word إلى صور PNG باستخدام Aspose.HTML خطوة بخطوة مع شرح شامل للخطوات. +### [تحويل docx إلى png في C# – دليل خطوة بخطوة كامل](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +تعلم كيفية تحويل ملفات docx إلى صور PNG باستخدام C# و Aspose.HTML من خلال دليل شامل خطوة بخطوة. +### [تحويل HTML إلى PNG – دليل كامل مع معالجات مخصصة وخيارات](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +دليل شامل يوضح كيفية تحويل HTML إلى PNG باستخدام معالجات مخصصة وإعدادات متقدمة في Aspose.HTML. ## خاتمة diff --git a/html/arabic/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/arabic/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..f958ba90f --- /dev/null +++ b/html/arabic/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-05-25 +description: حوّل ملفات docx إلى png بسرعة باستخدام C#. تعلّم كيفية تحويل Word إلى + صورة، وتصدير Word كـ png، وتعيين خط مخصص في دليل واحد. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: ar +og_description: تحويل ملف docx إلى png باستخدام C#. يوضح لك هذا الدليل كيفية تصدير + ملف Word كصورة png وتعيين خط مخصص للحصول على نتائج مثالية. +og_title: تحويل docx إلى png في C# – دليل برمجي كامل +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: تحويل ملف docx إلى png في C# – دليل شامل خطوة بخطوة +url: /ar/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تحويل docx إلى png في C# – دليل خطوة بخطوة كامل + +هل احتجت يومًا إلى **convert docx to png** لكنك لم تكن متأكدًا أي مكتبة ستعطيك حروفًا نظيفة ودقة صفحة كاملة؟ لست وحدك. في العديد من مشاريع أتمتة المكتب، تحويل مستند Word إلى صورة (فكر في “convert word to image”) هو أسرع طريقة لتضمين المحتوى في صفحة ويب أو بريد إلكتروني دون القلق بشأن تثبيتات Office. + +إليك ما يحدث: تتيح لك Aspose.Words for .NET API **export word as png** ببضع أسطر فقط، ويمكنك حتى ضبط إعدادات **set custom font** بحيث يبدو الناتج مطابقًا للأصل. في هذا الدرس سنستعرض العملية بالكامل—من تثبيت الحزمة إلى تصيير PNG النهائي—حتى تتمكن من بدء تحويل docx إلى png اليوم. + +## تحويل docx إلى png – نظرة عامة والمتطلبات المسبقة + +* **.NET 6.0 أو أحدث** – المثال يستهدف .NET 6، لكن الإصدارات السابقة تعمل أيضًا. +* **Aspose.Words for .NET** – حزمة NuGet التي توفر `Document`، `TextOptions`، و `ImageRenderer`. +* ملف **DOCX** عينة تريد تحويله إلى صورة (ضعه في مجلد يمكنك الإشارة إليه). +* اختياري: **خط TrueType مخصص** (مثل Times New Roman) إذا أردت تجاوز الخط الافتراضي للمستند. + +إذا كنت قد تحققت من هذه النقاط، فأنت جاهز لبدء تحويل word إلى image بثقة. + +## تثبيت Aspose.Words for .NET (convert word to image) + +الخطوة الأولى هي سحب المكتبة إلى مشروعك. افتح طرفية في مجلد الحل الخاص بك وشغّل الأمر التالي: + +```bash +dotnet add package Aspose.Words +``` + +هذا الأمر الواحد يضيف أحدث نسخة مستقرة من Aspose.Words، والتي تشمل الفئة `ImageRenderer` التي سنحتاجها لـ **export docx as png**. بعد انتهاء الاستعادة، أنت جاهز للانطلاق. + +> **نصيحة احترافية:** إذا كنت تستخدم Visual Studio، يمكنك أيضًا إضافة الحزمة عبر واجهة مدير الحزم NuGet—فقط ابحث عن “Aspose.Words”. + +## تحميل المستند المصدر (convert docx to png) + +الآن سنقوم بتحميل ملف DOCX. هذه هي النقطة التي يبدأ فيها خط أنابيب **convert docx to png** فعليًا. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` تمثل ملف Word بالكامل في الذاكرة. يمكن أن يكون المسار مطلقًا أو نسبيًا؛ فقط تأكد من وجود الملف، وإلا ستواجه `FileNotFoundException`. + +## تكوين خيارات تصيير النص (set custom font) + +إذا كان ملف DOCX الخاص بك يستخدم خطًا غير مثبت على الجهاز الهدف، قد يبدو PNG الناتج غير صحيح. لهذا السبب غالبًا ما تحتاج إلى **set custom font** قبل التصدير. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` يخبر المُصوّر بتطبيق تحسين البكسل الفرعي، مما يحدّ من حواف الحروف—مهم بشكل خاص لصور PNG عالية الدقة. +* `FontInfo` يجبر كل قطعة نصية على أن تُرسم بخط *Times New Roman* بحجم 14 pt، بغض النظر عما يحدده DOCX الأصلي. يمكنك استبدال الاسم بأي خط تملكه على الخادم. + +## إنشاء ImageRenderer (convert word to image) + +مع وجود المستند والخيارات جاهزة، نقوم بإنشاء كائن `ImageRenderer`. هذه الفئة تقوم بالعمل الشاق لتحويل الصفحات إلى صور bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* كتلة `using` تضمن أن المُصوّر يحرّر الموارد الأصلية (مثل مقبض GDI) بسرعة. +* `RenderToFile` تقبل مسارًا و`ImageFormat`. إذا كنت تحتاج جميع الصفحات، يمكنك التكرار عبر `renderer.PageCount` واستدعاء `RenderToFile` باسم ملف مخصص لكل صفحة. + +## التحقق من المخرجات (export docx as png) + +بعد تشغيل الكود، يجب أن ترى `hinted.png` في المجلد الذي حددته. افتحه بأي عارض صور—هل يبدو النص واضحًا؟ إذا استخدمت خطًا مخصصًا، ستلاحظ الخط المتسق عبر الصفحة بأكملها. + +إليك مرجع بصري سريع (استبدله بلقطتك الخاصة عند النشر): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") +*Alt text:* **convert docx to png example output** – صورة PNG لصفحة Word بخط Times New Roman. + +إذا ظهرت الصورة غير واضحة، تحقق مرة أخرى من أن `UseHinting` مضبوط على `true` وأن DPI للمُصوّر (الافتراضي 96) يتطابق مع احتياجاتك. يمكنك تعديل DPI عبر `renderer.ImageOptions.Resolution = 300;` قبل استدعاء `RenderToFile`. + +## برنامج كامل قابل للتنفيذ (export word as png) + +بجمع كل شيء معًا، إليك تطبيق وحدة تحكم مستقل يمكنك نسخه ولصقه في `Program.cs` وتشغيله: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**ما يفعله هذا البرنامج:** + +1. يحمل `input.docx`. +2. يجبر كل حرف على استخدام *Times New Roman* بحجم 14 pt مع تمكين الـ hinting. +3. يصدر الصفحة الأولى بدقة 300 DPI، منتجًا PNG عالي الجودة. +4. يكتب رسالة وحدة تحكم ودية تؤكد النجاح. + +شغّله باستخدام `dotnet run` وستحصل على صورة مُصوّرة بشكل مثالي جاهزة للعرض على الويب، أو تضمينها في PDF، أو أي سيناريو آخر تحتاج فيه إلى **convert docx to png** دون عبء Office. + +## أسئلة شائعة ومعالجة الحالات الطرفية + +* **ماذا لو احتجت جميع الصفحات؟** + قم بالتكرار عبر `renderer.PageCount` واستدعِ `RenderToFile` باسم ملف يتضمن رقم الصفحة، مثل `output_page_{i}.png`. + +* **هل يمكنني التصدير إلى صيغ صور أخرى؟** + بالتأكيد. استبدل `ImageFormat.Png` بـ `ImageFormat.Jpeg` أو `ImageFormat.Bmp` أو `ImageFormat.Tiff` حسب متطلباتك اللاحقة. + +* **المستند يستخدم خطوطًا مدمجة—هل ما زلت بحاجة إلى `set custom font`؟** + إذا كان DOCX يدمج الخطوط التي تريدها بالفعل، يمكنك تخطي خاصية `Font`. سيحترم المُصوّر الخط المدمج تلقائيًا. + +* **كيف أتعامل مع مستندات كبيرة دون استنزاف الذاكرة؟** + عالج صفحة واحدة في كل مرة داخل كتلة `using`، وتخلص من كل صورة bitmap تم إنشاؤها بعد الحفظ. هذا يحافظ على استهلاك الذاكرة منخفضًا. + +* **هل هناك قلق بشأن الترخيص؟** + تقدم Aspose.Words نسخة تجريبية مجانية مع علامة مائية. للاستخدام الإنتاجي، اشترِ ترخيصًا واستدعِ `License license = new License(); license.SetLicense("Aspose.Words.lic");` قبل تحميل المستند. + +## الخلاصة + +أصبح لديك الآن وصفة كاملة وجاهزة للإنتاج لـ **convert docx to png** باستخدام C#. يغطي الدليل كل شيء من تثبيت Aspose.Words (المكتبة المفضلة لـ **convert word to image**) إلى تكوين `TextOptions` لسيناريو **set custom font**، وأخيرًا تصيير ملف الصورة. مع هذه المعرفة يمكنك **export word as png**، تضمينه في صفحات الويب، إنشاء صور مصغرة، أو إدخاله في أي خط أنابيب لمعالجة الصور. + +ما التالي؟ جرّب تصدير صفحات متعددة، جرب إعدادات DPI مختلفة، أو غيّر صيغة الإخراج إلى + +## دروس ذات صلة + +- [كيفية تمكين التنعيم عند تحويل DOCX إلى PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [تحويل HTML إلى PNG في .NET باستخدام Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – إنشاء أرشيف zip دليل C#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/arabic/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/arabic/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..8cdba22c9 --- /dev/null +++ b/html/arabic/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: تعلم كيفية تحويل مستند Word إلى PNG بسرعة. يوضح هذا الدرس أيضًا كيفية + حفظ مستند Word كملف PNG مع تنعيم الحواف. +draft: false +keywords: +- convert word document to png +- save word document as png +language: ar +og_description: تحويل مستند Word إلى PNG ببضع أسطر من C#. اتبع هذا الدليل لحفظ مستند + Word كـ PNG بكفاءة. +og_title: تحويل مستند Word إلى PNG – دليل خطوة بخطوة +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: تحويل مستند Word إلى PNG – دليل برمجي شامل +url: /ar/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تحويل مستند Word إلى PNG – دليل برمجة كامل + +هل احتجت يوماً إلى **convert Word document to PNG** لكنك لم تكن متأكدًا من المكتبة أو الإعدادات التي تختارها؟ لست وحدك. في العديد من مشاريع أتمتة المكاتب تحتاج إلى صورة نقطية لملف `.docx`—قد يكون ذلك لمعاينات مصغرة، تضمين في البريد الإلكتروني، أو فحص بصري سريع. الخبر السار هو أنه ببضع أسطر من C# يمكنك أيضًا **save Word document as PNG** دون أي تعديل يدوي. + +في هذا الدرس سنستعرض مثالًا واقعيًا باستخدام Aspose.Words for .NET. سنغطي كل شيء من تحميل الملف المصدر، تعديل خيارات عرض الصورة للحصول على مخرجات واضحة، إلى كتابة ملف PNG على القرص. في النهاية ستحصل على طريقة قابلة لإعادة الاستخدام يمكنك إدراجها في أي مشروع .NET. + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +- **.NET 6.0** أو أحدث (الكود يعمل أيضًا على .NET Framework 4.6+). +- نسخة **مرخصة** من **Aspose.Words for .NET** (الإصدار التجريبي المجاني يكفي للاختبار). +- Visual Studio 2022 أو أي بيئة تطوير تفضلها. +- ملف Word تجريبي (`input.docx`) موجود في مجلد يمكنك الإشارة إليه. + +لا توجد حزم طرف ثالث أخرى مطلوبة. + +## الخطوة 1: إعداد المشروع واستيراد المساحات الاسمية + +أولاً، أنشئ تطبيق console جديد (أو أدمجه في خدمة موجودة). ثم أضف حزمة NuGet الخاصة بـ Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +الآن استورد المساحات الاسمية المطلوبة في ملفك: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **نصيحة احترافية:** إذا كنت تستهدف .NET 6+، يمكنك استخدام ميزة العبارات ذات المستوى الأعلى وتجاوز قالب `Main`. + +## الخطوة 2: تحميل مستند Word المصدر + +الخطوة الفعلية الأولى في خط أنابيب التحويل هي تحميل المستند الذي تريد تحويله إلى صورة نقطية. يدعم Aspose.Words صيغ `.doc`، `.docx`، `.rtf`، والعديد من الصيغ الأخرى، لذا لست مقيدًا بأنواع ملفات Office التقليدية. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +لماذا نتحقق من `PageCount`؟ لأن مستندًا لا يحتوي على صفحات سيولد PNG فارغًا، وهذا غالبًا ما يكون فشلًا صامتًا يسبب مشاكل في الشيفرة اللاحقة. + +## الخطوة 3: ضبط خيارات عرض الصورة + +عند تحويل محتوى Word القائم على المتجهات إلى bitmap، ستلاحظ حوافًا متعرجة إذا استخدمت الإعدادات الافتراضية. تمكين **antialiasing** يُنعّم تلك الخطوط، خاصةً للرسوم البيانية، الأشكال، والنصوص بأحجام صغيرة. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +قد تتساءل، “هل أحتاج دائمًا إلى antialiasing؟” عادةً نعم، إلا إذا كنت تُنشئ أيقونات صغيرة حيث الأداء يفوق جودة الصورة. + +## الخطوة 4: تصيير كل صفحة إلى ملف PNG منفصل + +يمكن أن يحتوي مستند Word على عدة صفحات. يتيح لك Aspose.Words تصيير المستند بالكامل كصورة واحدة، لكن النمط الأكثر شيوعًا هو إنشاء PNG لكل صفحة. أدناه سنقوم بالتكرار عبر الصفحات، ونصير كل واحدة إلى ملفها الخاص. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**لماذا نستخدم كتلة `using`؟** الـ `ImageRenderer` يحتفظ بموارد غير مُدارة (مثل مقابض GDI+). تغليفه داخل `using` يضمن تنظيفًا صحيحًا، مما يمنع تسرب الذاكرة في الخدمات طويلة التشغيل. + +### حالات خاصة ونصائح + +- **المستندات الكبيرة:** تصيير مستند مكوّن من 200 صفحة قد يستهلك ذاكرةً كبيرة. فكر في التصيير على دفعات أو زيادة خاصية `MaxMemoryUsage` إذا واجهت `OutOfMemoryException`. +- **خلفيات شفافة:** إذا كان ملف Word يحتوي على أشكال شفافة وتريد PNG شفاف، عيّن `BackgroundColor = Color.Transparent` في `ImageRenderingOptions`. +- **التحجيم:** لإنشاء صورة مصغرة، عدّل `ImageSaveOptions` (مثلاً `Resolution = 72`) أو غيّر حجم PNG الناتج باستخدام `System.Drawing`. + +## الخطوة 5: تجميعها في طريقة قابلة لإعادة الاستخدام + +وجود منطق التحويل في طريقة واحدة يجعل من السهل استدعاؤه من أي مكان—سواء كان API ويب، عامل خلفية، أو واجهة سطح مكتب. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +يمكنك الآن استدعاء: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +وستقوم الطريقة **save Word document as PNG** بأسماء ملفات `page_1.png`، `page_2.png`، إلخ. + +## النتيجة المتوقعة + +تشغيل الكود التجريبي على ملف `input.docx` مكوّن من ثلاث صفحات سيولد: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +افتح أيًا من ملفات PNG في عارض صور—سترى تصييرًا واضحًا ومضادًا للتعرج للصفحة المقابلة من Word. لا حدود إضافية، لا تشويه، مجرد لقطة bitmap دقيقة. + +## المشكلات الشائعة وكيفية تجنبها + +| المشكلة | السبب | الحل | +|-------|----------------|-----| +| **PNG فارغ** | المستند لم يُحمَّل (`doc` فارغ) أو فهرس الصفحة خارج النطاق. | تحقق من مسار الملف وتأكد أن `doc.PageCount` > 0 قبل التصيير. | +| **نص متعرج** | تم تعطيل antialiasing أو DPI منخفض جدًا. | عيّن `UseAntialiasing = true` وزد `Resolution` إذا لزم (مثلاً 150 DPI). | +| **نفاد الذاكرة** | تصيير صفحات كبيرة بدقة عالية داخل حلقة ضيقة. | صِّر صفحة واحدة في كل مرة (كما هو موضح) وتأكد من التخلص من `ImageRenderer` فورًا. | +| **ألوان غير صحيحة** | اللون الخلفي افتراضيًا أبيض؛ المستندات الشفافة تظهر بيضاء. | عيّن `BackgroundColor = Color.Transparent` عند الحاجة. | + +## الخاتمة + +لقد استعرضنا طريقة نظيفة وجاهزة للإنتاج **convert Word document to PNG**، وبالتمديد **save Word document as PNG** باستخدام Aspose.Words for .NET. الخطوات بسيطة: + +1. حمّل ملف `.docx` باستخدام `Document`. +2. اضبط `ImageRenderingOptions` (antialiasing، DPI، الخلفية). +3. تكرّر عبر الصفحات واستدعِ `ImageRenderer.RenderToFile`. + +مع طريقة `ConvertWordToPng` القابلة لإعادة الاستخدام، يمكنك الآن دمج معاينات مبنية على الصور في أي تطبيق C#—سواء كان خدمة ويب تُنشئ صورًا مصغرة لعقود مرفوعة، أداة سطح مكتب تُؤرّخ تقارير كـ PNG، أو مهمة دفعية تُحضّر أصولًا لنظام إدارة محتوى. + +**ما الخطوة التالية؟** جرّب تنسيقات صور أخرى (`ImageFormat.Jpeg`، `Bmp`) أو استكشف `PdfSaveOptions` إذا كنت تحتاج PDF بجانب PNGs. قد ترغب أيضًا في إضافة علامات مائية أو تعديل حجم الإخراج أثناء التشغيل. + +برمجة سعيدة، ولا تتردد في ترك تعليق إذا واجهت أي صعوبات! + +## دروس ذات صلة + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/arabic/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..53fd3c016 --- /dev/null +++ b/html/arabic/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: أنشئ PNG من HTML بسرعة باستخدام Aspose.HTML. تعلّم كيفية تحويل HTML إلى + PNG ومعالجة الموارد بكفاءة. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: ar +og_description: إنشاء PNG من HTML باستخدام Aspose.HTML. يوضح هذا الدليل كيفية تحويل + HTML إلى PNG، وعرض HTML كـ PNG، ومعالجة الموارد بشكل صحيح. +og_title: إنشاء PNG من HTML – دورة برمجة شاملة +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: إنشاء PNG من HTML – دليل خطوة بخطوة كامل +url: /ar/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء PNG من HTML – دليل خطوة‑بخطوة كامل + +هل تساءلت يومًا كيف **create PNG from HTML** دون الحاجة إلى مجموعة من الأدوات الخارجية؟ لست وحدك. سواء كنت تبني مولد معاينات بريد إلكتروني، لوحة تقارير، أو خدمة صور مصغرة، فإن تحويل شيفرة HTML إلى صورة PNG واضحة هو حاجة شائعة. في هذا الدرس سنستعرض مثالًا كاملاً قابلاً للتنفيذ ي **renders HTML to PNG**، يوضح لك كيفية **convert HTML to PNG** باستخدام Aspose.HTML، وحتى يشرح **how to handle resources** مثل الصور، CSS، والخطوط. + +سنبدأ بسلسلة HTML صغيرة، نُعدّ `ResourceHandler` مخصصًا يكتب كل أصل خارجي إلى القرص، ثم ننتهي بحفظ ملف PNG مثالي. في النهاية ستحصل على حل مستقل يمكنك إدراجه في أي مشروع .NET. + +## ما ستتعلمه + +- كيفية إنشاء `HTMLDocument` من سلسلة أو ملف. +- كيفية تنفيذ `ResourceHandler` مخصص بحيث يتم حفظ كل مورد يطلبه المُعالج محليًا. +- الخطوات الدقيقة لـ **render HTML to PNG** باستخدام `ImageRenderer`. +- المشكلات الشائعة (الخطوط المفقودة، عناوين URL النسبية) والطريقة المثلى **to handle resources**. +- كيفية التحقق من النتيجة وتعديل حجم الصورة أو تنسيقها إذا لزم الأمر. + +### المتطلبات المسبقة + +- .NET 6.0 أو أحدث (الكود يعمل أيضًا على .NET Framework 4.7+). +- إشارة إلى حزمة NuGet **Aspose.HTML for .NET**. +- إلمام أساسي بـ C# وتدفقات غير المتزامنة (ليس مطلوبًا، لكنه مفيد). + +بدون أدوات خارجية، بدون متصفحات بدون رأس—فقط C# عادي و Aspose.HTML. + +--- + +## إنشاء PNG من HTML – نظرة عامة + +Below is the **complete, ready‑to‑run code**. Feel free to copy‑paste it into a console app, adjust the `YOUR_DIRECTORY` placeholder, and hit F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Replace `"YOUR_DIRECTORY"` with an absolute path (e.g., `Path.GetFullPath("./output")`) to avoid surprises when the app runs from a different working directory. + +--- + +## الخطوة 1: إعداد مستند HTML + +The first thing we do is wrap a raw HTML string in an `HTMLDocument`. Aspose.HTML treats this object as a fully‑featured DOM, meaning it will resolve `` tags, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +يمكنك استبدال السلسلة بأي HTML تريده — ربما ناتج عرض Razor أو تحويل Markdown إلى HTML. الجزء المهم هو أن المستند يعرف عن المعالج المخصص الذي سنمرره لاحقًا. + +--- + +## خيارات عرض الصورة – ضبط تنعيم الحواف وتحسين الخط + +العرض العادي يعمل، لكن أحيانًا تحتاج إلى لمسة إضافية: حواف أكثر سلاسة، نص أوضح، أو تموضع دقيق للبيكسل. هنا تتألق **خيارات عرض الصورة**. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*ما الذي يحدث خلف الكواليس؟* +`ImageRenderingOptions` تخبر العارض أي خط يستخدم وما إذا كان سيُنعّم الأشكال الهندسية. `TextOptions` يركز على كيفية تمثيل الحروف — التحسين (hinting) يطابق الأحرف مع شبكة البكسل، وهو مفيد خاصةً عند الأحجام الصغيرة. + +--- + +## تحويل HTML مع خيارات – تطبيق إعدادات العرض + +مع المستند والإعدادات جاهزة، يمكننا أخيرًا **تحويل HTML مع خيارات**. سننتج ثلاثة ملفات: + +1. PNG أساسي (بدون خيارات إضافية). +2. PNG مع تنعيم الحواف. +3. PNG مع تحسين الخط. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +لاحظ أن كل `ImageRenderer` يتلقى معاملًا ثانيًا مختلفًا: المعالج العادي، إعدادات تنعيم الحواف، وإعدادات تحسين الخط. هذا النمط يتيح لك تبديل التكوينات دون تعديل أي كود آخر — مثالي لاختبارات الوحدة أو أعلام الميزات. + +> **سؤال شائع:** *“هل يمكنني دمج تنعيم الحواف وتحسين الخط في تمريرة واحدة؟”* +> بالتأكيد. فقط أنشئ كائن خيارات واحد يحدد كل من `UseAntialiasing` و `UseHinting` إلى `true`، ثم مرره إلى `ImageRenderer`. + +--- + +## التحقق من الناتج – ما المتوقع + +بعد تشغيل البرنامج، افتح ملفات PNG الثلاثة: + +- **out.png** – لقطة دقيقة للـ HTML، لكن الحواف قد تبدو متعرجة قليلًا. +- **img.png** – خطوط ومنحنيات أكثر سلاسة بفضل تنعيم الحواف. +- **txt.png** – النص يظهر أكثر حدة، خاصةً بحجم 12 pt Verdana، بفضل تحسين الخط. + +إذا بدت أي من الصور غير صحيحة، تحقق من أن `YOUR_DIRECTORY/Resources` يحتوي على الملف `logo.png` المشار إليه. فقدان الأصول سيجعل العارض يستخدم عنصرًا بديلًا قد يبدو غريبًا. + +--- + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل، جاهز للنسخ واللصق في تطبيق Console. يتضمن جميع توجيهات `using` وطريقة `Main` بسيطة. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +شغّل البرنامج، افحص ملفات PNG الثلاثة، وسترى بالضبط كيف يؤثر كل خيار على الصورة النهائية. لا تتردد في التجربة — غيّر الخط، شغّل أو أوقف `UseAntialiasing`، أو أضف قواعد CSS إضافية. السماء هي الحد عندما تريد **تحويل HTML إلى صورة** حسب الطلب. + +--- + +## الخطوات التالية والمواضيع ذات الصلة + +- **المعالجة الدفعية:** تكرار مجموعة من مقاطع HTML وإنشاء صور مصغرة لكل منها. +- **تحويل إلى PDF:** دمج PNGs مع مكتبة PDF (مثل iTextSharp) لإنتاج مستندات متعددة الصفحات. +- **الموارد الديناميكية:** توسيع `MyHandler` لجلب الصور من CDN أو قاعدة بيانات بدلاً من نظام الملفات. +- **تحسين الأداء:** تخزين الصور المولدة مؤقتًا عندما لا يتغير HTML الأصلي؛ هذا يقلل من استهلاك المعالج بشكل كبير. + +إذا كنت مهتمًا بتخصيص أعمق، ألقِ نظرة على خاصية `RenderTransform` في `ImageRenderer` للدوران أو التحجيم، أو استكشف إعدادات `CssEngine` للتحكم المتقدم في التخطيط. + +--- + +## الخلاصة + +غطينا كل ما تحتاجه لت **تحويل HTML إلى PNG** في C#: معالج موارد مخصص، تحميل العلامات، ضبط *خيارات عرض الصورة*، وأخيرًا **تحويل HTML مع خيارات** تمنحك تنعيم الحواف وتحسين الخط. المثال الكامل القابل للتنفيذ يجب أن يعمل فورًا، والتصميم المعياري يجعل من السهل دمجه في مشاريع أكبر. + +جرّبه، عدّل الإعدادات، ودع الصور المولدة تتحدث في حملتك البريدية التالية، أو لوحة التحكم، أو أداة التقارير الخاصة بك. + +## دروس ذات صلة + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/chinese/net/generate-jpg-and-png-images/_index.md index 3a7bc53dc..3b1507f1d 100644 --- a/html/chinese/net/generate-jpg-and-png-images/_index.md +++ b/html/chinese/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,14 @@ Aspose.HTML for .NET 提供了一种将 HTML 转换为图像的简单方法。 了解如何在使用 Aspose.HTML for .NET 将 DOCX 文档转换为 PNG 或 JPG 图像时启用抗锯齿,以提升图像质量。 ### [使用 C# 将 docx 转换为 png 并创建 zip 存档教程](./convert-docx-to-png-create-zip-archive-c-tutorial/) 学习如何使用 C# 将 DOCX 文档转换为 PNG 图像并打包为 ZIP 文件的完整步骤。 +### [使用 Aspose 将 HTML 渲染为 PNG](./create-png-from-html-with-aspose-render-html-to-png/) +本教程演示如何使用 Aspose.HTML 将 HTML 内容直接渲染为 PNG 图像。 +### [将 Word 文档转换为 PNG – 完整编程指南](./convert-word-document-to-png-complete-programming-guide/) +学习如何使用 Aspose.HTML for .NET 将 Word 文档转换为 PNG 图像的完整步骤和代码示例。 +### [使用 C# 将 docx 转换为 png – 完整分步指南](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +学习如何使用 C# 将 DOCX 文档转换为 PNG 图像的完整步骤和代码示例。 +### [使用自定义处理程序和选项将 HTML 渲染为 PNG – 完整指南](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +本教程详细讲解如何使用 Aspose.HTML for .NET 的自定义处理程序和选项,将 HTML 内容渲染为高质量的 PNG 图像。 ## 结论 diff --git a/html/chinese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/chinese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..006603d94 --- /dev/null +++ b/html/chinese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-05-25 +description: 使用 C# 快速将 docx 转换为 png。学习如何将 Word 转换为图像、将 Word 导出为 png,以及在同一教程中设置自定义字体。 +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: zh +og_description: 使用 C# 将 docx 转换为 png。本指南展示了如何将 Word 导出为 png 并设置自定义字体,以获得完美效果。 +og_title: 在 C# 中将 docx 转换为 png – 完整编程指南 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: 在 C# 中将 docx 转换为 png – 完整的逐步指南 +url: /zh/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 C# 中将 docx 转换为 png – 完整分步指南 + +是否曾经需要 **convert docx to png**,但不确定哪个库能够提供清晰的字形和完整页面的保真度?你并不孤单。在许多办公自动化项目中,将 Word 文档转换为图像(比如 “convert word to image”)是将内容嵌入网页或电子邮件的最快方式,而无需担心 Office 的安装。 + +事实是:Aspose.Words for .NET API 只需几行代码就能 **export word as png**,并且你甚至可以 **set custom font** 设置,使输出看起来与原始文档完全一致。在本教程中,我们将完整演示整个过程——从安装包到渲染最终的 PNG——让你今天就能开始将 docx 转换为 png。 + +## Convert docx to png – 概览与先决条件 + +在我们深入代码之前,确保你已经准备好所有必需的东西: + +* **.NET 6.0 或更高** – 示例针对 .NET 6,但更早的版本也可使用。 +* **Aspose.Words for .NET** – 一个提供 `Document`、`TextOptions` 和 `ImageRenderer` 的 NuGet 包。 +* 一个你想转换为图像的 **sample DOCX** 文件(放在可引用的文件夹中)。 +* 可选:一个 **custom TrueType font**(例如 Times New Roman),如果你想覆盖文档的默认字体。 + +如果这些都已勾选,你就可以自信地开始将 word 转换为图像了。 + +## Install Aspose.Words for .NET(convert word to image) + +第一步是将库引入你的项目。打开解决方案文件夹中的终端并运行: + +```bash +dotnet add package Aspose.Words +``` + +这条命令会添加最新的稳定版 Aspose.Words,其中包含我们进行 **export docx as png** 所需的 `ImageRenderer` 类。恢复完成后即可开始。 + +> **Pro tip:** 如果你使用 Visual Studio,也可以通过 NuGet 包管理器 UI 添加该包——只需搜索 “Aspose.Words”。 + +## Load the source document(convert docx to png) + +现在我们将加载 DOCX 文件。这就是 **convert docx to png** 流程真正开始的地方。 + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` 表示内存中的整个 Word 文件。路径可以是绝对或相对的;只需确保文件存在,否则会抛出 `FileNotFoundException`。 + +## Configure text rendering options(set custom font) + +如果你的 DOCX 使用的字体未在目标机器上安装,渲染出的 PNG 可能会出现问题。这就是为什么在导出前通常需要 **set custom font**。 + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` 告诉渲染器应用子像素 hinting,可锐化字母边缘——对高分辨率 PNG 尤其重要。 +* `FontInfo` 强制所有文本使用 *Times New Roman*、14 pt 绘制,无论原始 DOCX 指定什么字体。你可以将名称替换为服务器上拥有的任何字体。 + +## Create an ImageRenderer(convert word to image) + +准备好文档和选项后,我们实例化 `ImageRenderer`。该类负责将页面转换为位图图像的繁重工作。 + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +几点说明: + +* `using` 块确保渲染器及时释放本机资源(如 GDI 句柄)。 +* `RenderToFile` 接受路径和 `ImageFormat`。如果需要所有页面,可以遍历 `renderer.PageCount` 并使用特定页码的文件名调用 `RenderToFile`。 + +## Verify the output(export docx as png) + +代码运行后,你应该会在指定的文件夹中看到 `hinted.png`。使用任意图像查看器打开——文字是否清晰?如果使用了自定义字体,你会注意到整页使用一致的字体。 + +下面是一个快速的视觉参考(发布时请替换为你自己的截图): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – 使用 Times New Roman 字体的 Word 页面 PNG 渲染图。 + +如果图像模糊,请再次确认 `UseHinting` 已设置为 `true`,并且渲染器的 DPI(默认 96)符合你的需求。你可以在调用 `RenderToFile` 前通过 `renderer.ImageOptions.Resolution = 300;` 调整 DPI。 + +## Full, runnable program(export word as png) + +将所有内容整合在一起,下面是一个可自行复制粘贴到 `Program.cs` 并运行的完整控制台应用程序: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**该程序的功能:** + +1. 加载 `input.docx`。 +2. 强制每个字符使用 *Times New Roman*、14 pt,并启用 hinting。 +3. 以 300 DPI 渲染第一页,生成高质量 PNG。 +4. 在控制台输出友好的成功提示信息。 + +使用 `dotnet run` 运行它,你将得到一张完美渲染的图像,可用于网页展示、PDF 嵌入或任何需要 **convert docx to png** 而不想依赖 Office 的场景。 + +## Common questions and edge‑case handling + +* **如果我需要所有页面怎么办?** + 遍历 `renderer.PageCount`,并使用包含页码的文件名调用 `RenderToFile`,例如 `output_page_{i}.png`。 + +* **我可以导出为其他图像格式吗?** + 当然。根据下游需求,将 `ImageFormat.Png` 替换为 `ImageFormat.Jpeg`、`ImageFormat.Bmp` 或 `ImageFormat.Tiff`。 + +* **我的文档使用嵌入字体——还需要 `set custom font` 吗?** + 如果 DOCX 已经嵌入了所需的字体,可以跳过 `Font` 属性。渲染器会自动使用嵌入的字体。 + +* **如何处理大型文档而不耗尽内存?** + 在 `using` 块内一次处理一页,保存后释放生成的位图。这可以保持低内存占用。 + +* **是否有授权方面的顾虑?** + Aspose.Words 提供带水印的免费试用。生产环境请购买许可证,并在加载文档前调用 `License license = new License(); license.SetLicense("Aspose.Words.lic");`。 + +## Conclusion + +现在,你已经拥有使用 C# 将 **convert docx to png** 的完整、可用于生产的方案。指南涵盖了从安装 Aspose.Words(用于 **convert word to image** 的首选库)到为 **set custom font** 场景配置 `TextOptions`,以及最终渲染图像文件的全部步骤。有了这些知识,你可以 **export word as png**,将其嵌入网页、生成缩略图,或输送到任何图像处理流水线中。 + +接下来做什么?尝试导出多页,实验不同的 DPI 设置,或将输出格式切换为 + +## Related Tutorials + +- [在将 DOCX 转换为 PNG/JPG 时如何启用抗锯齿](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [使用 Aspose.HTML 在 .NET 中将 HTML 转换为 PNG](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – 创建 zip 存档 C# 教程](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/chinese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/chinese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..e522d2bb2 --- /dev/null +++ b/html/chinese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-05-25 +description: 学习如何快速将 Word 文档转换为 PNG。本教程还展示了如何使用抗锯齿将 Word 文档保存为 PNG。 +draft: false +keywords: +- convert word document to png +- save word document as png +language: zh +og_description: 使用几行 C# 将 Word 文档转换为 PNG。按照本指南高效地将 Word 文档保存为 PNG。 +og_title: 将Word文档转换为PNG – 步骤指南 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: 将 Word 文档转换为 PNG – 完整编程指南 +url: /zh/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 将 Word 文档转换为 PNG – 完整编程指南 + +是否曾经需要 **将 Word 文档转换为 PNG**,却不确定该选用哪个库或哪些设置?你并不孤单。在许多办公自动化项目中,你往往需要获取 `.docx` 文件的栅格图像——可能用于缩略图预览、邮件嵌入或快速视觉检查。好消息是,只需几行 C# 代码,你同样可以 **将 Word 文档保存为 PNG**,无需任何手动操作。 + +在本教程中,我们将通过 Aspose.Words for .NET 的真实案例进行演示。我们会覆盖从加载源文件、调整图像渲染选项以获得清晰输出,到将 PNG 文件写入磁盘的全部过程。完成后,你将拥有一个可在任何 .NET 项目中直接使用的可复用方法。 + +## 前置条件 + +在开始之前,请确保你具备以下条件: + +- **.NET 6.0** 或更高版本(代码同样适用于 .NET Framework 4.6+)。 +- 一份 **已授权** 的 **Aspose.Words for .NET**(免费试用版可用于测试)。 +- Visual Studio 2022 或任意你喜欢的 IDE。 +- 一个示例 Word 文件(`input.docx`),放置在可引用的文件夹中。 + +无需其他第三方包。 + +## 第一步:创建项目并导入命名空间 + +首先,创建一个新的控制台应用(或集成到现有服务中),然后添加 Aspose.Words NuGet 包: + +```bash +dotnet add package Aspose.Words +``` + +接下来在文件中引入所需的命名空间: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **小技巧:** 如果你针对的是 .NET 6+,可以使用顶层语句特性,省去 `Main` 方法的样板代码。 + +## 第二步:加载源 Word 文档 + +转换管道的第一步是真正加载需要栅格化的文档。Aspose.Words 支持 `.doc`、`.docx`、`.rtf` 等多种格式,因而不局限于传统的 Office 文件类型。 + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +为什么要检查 `PageCount`?因为零页文档会生成空的 PNG,这通常是一个无声的失败,会导致下游代码出错。 + +## 第三步:配置图像渲染选项 + +将基于矢量的 Word 内容转换为位图时,如果使用默认设置会出现锯齿。启用抗锯齿可以平滑这些线条,尤其是图表、形状以及小尺寸文本。 + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +你可能会问,“我是否总是需要抗锯齿?”通常是的,除非你在生成极小的图标,此时性能可能比视觉保真度更重要。 + +## 第四步:将每页渲染为单独的 PNG 文件 + +Word 文档可能包含多页。Aspose.Words 允许将整个文档渲染为单张图像,但更常见的做法是为每页生成一张 PNG。下面的代码会遍历页面,将每页渲染到独立的文件中。 + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**为什么要使用 `using` 块?** `ImageRenderer` 持有非托管资源(如 GDI+ 句柄)。将其包装在 `using` 中可确保及时释放,防止长时间运行的服务出现内存泄漏。 + +### 边缘情况与技巧 + +- **大文档:** 渲染 200 页的文档会占用大量内存。可以考虑分批渲染,或在出现 `OutOfMemoryException` 时提升 `MaxMemoryUsage` 属性。 +- **透明背景:** 如果 Word 文件中包含透明形状且你希望得到透明 PNG,请在 `ImageRenderingOptions` 中设置 `BackgroundColor = Color.Transparent`。 +- **缩放:** 若需生成缩略图,可调节 `ImageSaveOptions`(例如 `Resolution = 72`),或使用 `System.Drawing` 对生成的 PNG 进行尺寸调整。 + +## 第五步:封装为可复用的方法 + +将转换逻辑放入单一方法,可在任意位置调用——无论是 Web API、后台任务还是桌面 UI。 + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +现在你可以这样调用: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +该方法将 **将 Word 文档保存为 PNG**,文件名为 `page_1.png`、`page_2.png` 等。 + +## 预期输出 + +在三页的 `input.docx` 上运行示例代码后,将生成: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +在图像查看器中打开任意 PNG,你应当看到对应 Word 页面的清晰、抗锯齿渲染。没有额外的边框、没有失真,只有忠实的位图快照。 + +## 常见问题及解决方案 + +| 问题 | 产生原因 | 解决办法 | +|------|----------|----------| +| **空白 PNG** | 文档未加载(`doc` 为 null)或页索引超出范围。 | 检查文件路径并确保 `doc.PageCount` > 0 后再渲染。 | +| **文字锯齿** | 抗锯齿未开启或 DPI 太低。 | 设置 `UseAntialiasing = true`,并可适当提升 `Resolution`(如 150 DPI)。 | +| **内存不足** | 在紧密循环中以高 DPI 渲染超大页面。 | 如示例所示一次渲染单页,并及时释放 `ImageRenderer`。 | +| **颜色不正确** | 背景默认白色;透明文档显示为白色。 | 需要时将 `BackgroundColor = Color.Transparent`。 | + +## 结论 + +我们已经演示了一种简洁、可投入生产的方式,使用 Aspose.Words for .NET **将 Word 文档转换为 PNG**,进而 **将 Word 文档保存为 PNG**。关键步骤如下: + +1. 使用 `Document` 加载 `.docx`。 +2. 调整 `ImageRenderingOptions`(抗锯齿、DPI、背景)。 +3. 遍历页面并调用 `ImageRenderer.RenderToFile`。 + +有了可复用的 `ConvertWordToPng` 方法,你现在可以在任何 C# 应用中集成基于图像的预览——无论是为上传的合同生成缩略图的 Web 服务、将报告归档为 PNG 的桌面工具,还是为内容管理系统准备资产的批处理任务。 + +**接下来可以做什么?** 试着使用其他图像格式(`ImageFormat.Jpeg`、`Bmp`),或在需要 PDF 时探索 `PdfSaveOptions`。你也可以考虑在生成时添加水印或动态调整输出尺寸。 + +祝编码愉快,如有问题欢迎留言交流! + + +## 相关教程 + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md b/html/chinese/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md new file mode 100644 index 000000000..b23642659 --- /dev/null +++ b/html/chinese/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-05-25 +description: 使用 Aspose HTML 在 C# 中将 HTML 生成 PNG。了解如何高效地将 HTML 渲染为 PNG 并将 HTML 转换为图像。 +draft: false +keywords: +- create png from html +- render html to png +- convert html to image +- render html as png +- how to use aspose +language: zh +og_description: 使用 Aspose HTML 在 C# 中将 HTML 生成 PNG。本指南逐步演示如何将 HTML 渲染为 PNG 并将 HTML + 转换为图像。 +og_title: 使用 Aspose 从 HTML 创建 PNG – 将 HTML 渲染为 PNG +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + headline: create png from html with Aspose – render html to png + type: TechArticle +- description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + name: create png from html with Aspose – render html to png + steps: + - name: Build an in‑memory HTML document + text: First we need a DOM that Aspose can chew on. Think of `HTMLDocument` as + a lightweight browser page living entirely in memory. + - name: Configure image rendering options (including fonts) + text: Now we tell the renderer how we want the final PNG to look. This is where + you can set DPI, background color, and—most importantly for crisp text—the font + information. + - name: Initialise the `ImageRenderer` + text: With the document and options ready, we create the renderer. This object + orchestrates the conversion pipeline. + - name: Render the HTML to a PNG file + text: Finally, we ask the renderer to write the image to a stream. You can write + to a `MemoryStream` if you need the PNG in‑memory, but here we’ll stick to a + file on disk. + - name: Verify the generated image + text: 'After the code runs, open `YOUR_DIRECTORY/text.png` in any image viewer. + You should see the word “Sample text” rendered in Arial, size 16, exactly as + defined in the HTML. If the text looks blurry, try increasing the DPI:' + - name: Tips & tricks for advanced scenarios + text: '| Situation | Recommended tweak | |-----------|-------------------| | **Multiple + pages** | Loop over `HTMLDocument` pages and call `renderer.RenderToStream` + for each. | | **Custom background** | Set `renderingOptions.BackgroundColor + = Color.White;` | | **Embedding web fonts** | Use `new WebFontInfo(' + type: HowTo +tags: +- Aspose.HTML +- C# +- Image rendering +title: 使用 Aspose 将 HTML 创建为 PNG – 将 HTML 渲染为 PNG +url: /zh/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 HTML 创建 PNG – 完整的 C# 指南与 Aspose.HTML + +是否曾想过 **从 HTML 创建 PNG** 而不必使用一堆命令行工具?你并不孤单。许多开发者在需要快速获取 HTML 片段的图像快照时会卡住——可能是用于电子邮件缩略图、报告预览,或社交媒体卡片。好消息是?使用 Aspose.HTML,你只需几行代码即可 **将 HTML 渲染为 PNG**,并且全程停留在 .NET 生态系统中。 + +在本教程中,我们将逐步演示使用 Aspose **将 HTML 转换为图像** 的全部过程,解释每一步的意义,并展示如何使用自定义字体 **将 HTML 渲染为 PNG**。完成后,你将拥有一个可直接运行的 C# 代码片段,能够从任意 HTML 字符串生成 PNG 文件,并了解可调节的参数以获得更高质量的输出。无需外部浏览器、无需无头 Chrome——纯 .NET。 + +## 所需环境 + +在开始之前,请确保你具备以下条件: + +- **.NET 6+**(代码同样适用于 .NET Framework 4.6+) +- 已安装 **Aspose.HTML for .NET** NuGet 包(`Aspose.Html`) +- 基本的 C# IDE(Visual Studio、Rider 或 VS Code) +- 对将要保存 PNG 的文件夹拥有写入权限 + +就这些——不需要额外的二进制文件或系统字体,因为 Aspose 已经内置了渲染引擎。准备好了吗?让我们开始吧。 + +![create png from html example](placeholder.png "create png from html example") + +## 从 HTML 创建 PNG – 步骤指南 + +下面我们将整个过程拆分为清晰的编号步骤。每一步都包含 **原因**、**具体操作**,以及常见边缘情况的 **如果‑怎么办** 说明。 + +### 步骤 1:构建内存中的 HTML 文档 + +首先我们需要一个 Aspose 能够处理的 DOM。把 `HTMLDocument` 看作是完全驻留在内存中的轻量级浏览器页面。 + +```csharp +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +// Step 1: Create an in‑memory HTML document with the desired content. +var htmlDoc = new HTMLDocument( + "

Sample text

" +); +``` + +**为什么?** +Aspose.HTML 并不直接读取原始字符串;它期望一个模拟真实网页的文档对象。通过将包含标记的字符串传入,你可以保持工作流简洁,并避免在此阶段处理文件 I/O。 + +**如果** 你的 HTML 已经是磁盘上的完整文件怎么办?只需将字符串构造器替换为 `new HTMLDocument("file.html")`,Aspose 会为你加载该文件。 + +### 步骤 2:配置图像渲染选项(包括字体) + +现在我们告诉渲染器最终 PNG 的外观。这里可以设置 DPI、背景颜色,以及——对清晰文字最关键的——字体信息。 + +```csharp +// Step 2: Set up image rendering options, including the font to use. +var renderingOptions = new ImageRenderingOptions +{ + // Choose the font family, size, and style (Normal, Italic, Oblique, etc.). + Font = new FontInfo("Arial", 16, WebFontStyle.Normal) +}; +``` + +**为什么?** +如果省略 `FontInfo` 部分,Aspose 将回退到默认字体,这可能与你预期的外观不符。指定字体可确保 **将 HTML 渲染为 PNG** 的输出与浏览器中看到的保持一致。 + +**如果** 目标字体未在服务器上安装怎么办?Aspose 可以通过 `WebFontInfo` 嵌入网络字体——只需指向 `.ttf` 文件或 URL,渲染器会为你获取。 + +### 步骤 3:初始化 `ImageRenderer` + +文档和选项准备好后,我们创建渲染器。该对象负责整个转换管道。 + +```csharp +// Step 3: Initialise the renderer with the document and options. +using (var renderer = new ImageRenderer(htmlDoc, renderingOptions)) +{ + // Step 4 lives inside this block. +} +``` + +**为什么?** +`ImageRenderer` 是核心组件,它解析 DOM、应用 CSS、栅格化布局,最终生成位图。将其放在 `using` 块中可确保本机资源及时释放——这是一个小但重要的性能技巧。 + +### 步骤 4:将 HTML 渲染为 PNG 文件 + +最后,我们让渲染器将图像写入流。如果需要内存中的 PNG,可以写入 `MemoryStream`,但这里我们直接保存到磁盘文件。 + +```csharp + // Step 4: Render the HTML to a PNG image and write it to a file. + using (var outputStream = new FileStream("YOUR_DIRECTORY/text.png", FileMode.Create)) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + } +``` + +**为什么?** +`RenderToStream` 让你完全掌控输出格式。传入 `ImageFormat.Png` 告诉 Aspose 将位图编码为无损 PNG,适合截图或需要透明度的场景。 + +**如果** 需要 JPEG 呢?只需将 `ImageFormat.Png` 替换为 `ImageFormat.Jpeg`,并可通过 `JpegOptions` 设置质量。 + +### 步骤 5:验证生成的图像 + +代码运行后,在任意图像查看器中打开 `YOUR_DIRECTORY/text.png`。你应该看到 “Sample text” 以 Arial、16 号字体渲染,正如 HTML 中定义的那样。如果文字模糊,可尝试提升 DPI: + +```csharp +renderingOptions.Resolution = new Resolution(300, 300); // 300 DPI for high‑res output +``` + +### 步骤 6:高级场景的技巧与建议 + +| 场景 | 推荐调整 | +|-----------|-------------------| +| **多页文档** | 遍历 `HTMLDocument` 的页面,对每页调用 `renderer.RenderToStream` | +| **自定义背景** | 设置 `renderingOptions.BackgroundColor = Color.White;` | +| **嵌入网络字体** | 在 `FontInfo` 中使用 `new WebFontInfo("https://example.com/font.ttf")` | +| **大型 HTML 内容** | 增加 `renderingOptions.PageWidth`/`PageHeight` 以避免裁剪 | + +这些调整帮助你 **将 HTML 转换为图像**,适用于新闻通讯、PDF 或任何需要静态快照的场景。 + +## 将 HTML 渲染为 PNG – 常见陷阱及解决方案 + +即使 API 简单,也可能遇到以下小问题: + +1. **缺少字体导致回退** – 若 Aspose 找不到 “Arial”,会使用通用字体,导致布局变化。务必捆绑所需字体或指向网络字体 URL。 +2. **输出为 0 × 0** – 忘记设置 `PageWidth`/`PageHeight` 会产生 0 × 0 PNG。渲染器默认使用视口大小,请确保 HTML 通过 CSS(如 `width: 800px; height: 600px;`)定义尺寸。 +3. **文件访问错误** – 写入只读文件夹会抛异常。使用 `Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)` 可获得安全的默认路径。 + +解决这些问题即可构建可靠的 **将 HTML 渲染为 PNG** 流程。 + +## 如何使用 Aspose – 下一步 + +掌握基础后,你可能会想 **如何使用 Aspose** 完成更复杂的任务。以下是几种自然的扩展思路: + +- **批量转换** – 循环处理 HTML 字符串列表,生成 PNG 并打包成 ZIP。 +- **PDF 生成** – 将 `ImageRenderer` 的输出与 `PdfRenderer` 结合,嵌入截图到 PDF 中。 +- **云端集成** – 将代码部署到 Azure Functions,实现按需图像生成。 + +官方 Aspose.HTML 文档(https://docs.aspose.com/html/net/)提供详细的 API 参考、示例项目和性能基准。如果计划超出单张图片的使用场景,这里是宝贵的资源。 + +## 预期输出 + +运行上述完整代码片段后,会生成名为 `text.png` 的文件。其视觉内容与原始 HTML 完全一致: + +``` ++---------------------------+ +| Sample text | +| (Arial, 16pt, Normal) | ++---------------------------+ +``` + +该 PNG 为无损格式,支持透明度,可被任何标准图像查看器打开。 + +## 完整可运行示例(复制‑粘贴即用) + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // Step 1: Create an in‑memory HTML document. + var htmlDoc = new HTMLDocument( + "

Sample text

" + ); + + // Step 2: Set rendering options (font, DPI, etc.). + var renderingOptions = + + +## 相关教程 + +- [如何使用 Aspose 将 HTML 渲染为 PNG – 步骤指南](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [如何使用 Aspose 将 HTML 渲染为 PNG – 完整指南](/html/english/net/rendering-html-documents/how-to-render-html-to-png-with-aspose-complete-guide/) +- [在 .NET 中使用 Aspose.HTML 将 HTML 渲染为 PNG](/html/english/net/rendering-html-documents/render-html-as-png/) + +{{< /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/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md b/html/chinese/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md new file mode 100644 index 000000000..d817d08a9 --- /dev/null +++ b/html/chinese/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md @@ -0,0 +1,287 @@ +--- +category: general +date: 2026-05-25 +description: 使用 C# 将 HTML 渲染为 PNG。了解如何将 HTML 转换为图像,微调图像渲染选项,并在几步内使用选项渲染 HTML。 +draft: false +keywords: +- render html to png +- convert html to image +- image rendering options +- render html with options +language: zh +og_description: 在 C# 中将 HTML 渲染为 PNG。本指南展示了如何将 HTML 转换为图像,配置图像渲染选项,并使用选项渲染 HTML 以获得完美效果。 +og_title: 将HTML渲染为PNG – 步骤详解 C# 教程 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + headline: Render HTML to PNG – Complete Guide with Custom Handlers & Options + type: TechArticle +- description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + name: Render HTML to PNG – Complete Guide with Custom Handlers & Options + steps: + - name: A basic PNG (no extra options). + text: A basic PNG (no extra options). + - name: An antialiased PNG. + text: An antialiased PNG. + - name: A hint‑enabled PNG. + text: A hint‑enabled PNG. + type: HowTo +tags: +- C# +- HTML +- graphics +- image rendering +title: 将HTML渲染为PNG – 完整指南,包含自定义处理程序和选项 +url: /zh/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 将 HTML 渲染为 PNG – 完整指南,包含自定义处理程序和选项 + +是否曾经需要**将 HTML 渲染为 PNG**,但不确定该调用哪个 API?您并非唯一遇到此问题的人——许多开发者在构建新闻通讯、缩略图或类似 PDF 的预览时都会碰到这堵墙。好消息是?只需几行 C#,您就可以**即时将 HTML 转换为图像**,甚至还能微调*图像渲染选项*,获得锐利的效果。 + +在本教程中,我们将通过一个真实案例进行演示:自定义 `ResourceHandler` 决定外部资源的存放位置,加载 `HTMLDocument`,最后将该标记渲染为 PNG 文件(包括带和不带抗锯齿或字体提示的情况)。完成后,您将能够**使用选项渲染 HTML**,满足任何视觉质量需求。 + +## 您将构建的内容 + +- 一个可复用的资源处理程序,将图像、字体或 CSS 写入您控制的文件夹。 +- 一个简单的 HTML 文档加载器,可替换为任意标记字符串。 +- 两个渲染通道:一个普通渲染,一个使用*图像渲染选项*(抗锯齿、提示)。 +- 可直接粘贴到控制台应用或单元测试中的可运行 C# 代码。 + +无需除假设的 `HtmlRenderer` 命名空间之外的外部库,但您将看到确切的插入点,以便使用您喜欢的 HTML‑to‑image 引擎。 + +--- + +## 先决条件 + +- .NET 6.0 或更高版本(代码同样可以在 .NET Core 上编译)。 +- 对 C# 类和 `using` 语句有基本了解。 +- 磁盘上有一个目录,教程可以在其中写入文件(代码片段中的 `YOUR_DIRECTORY`)。 + +如果您已经具备这些条件,让我们开始吧。 + +--- + +## 将 HTML 渲染为 PNG – 自定义资源处理程序 + +在渲染 HTML 时,外部资源(图像、字体、CSS)通常需要一个落脚点。默认情况下,许多渲染器会写入临时文件夹,这可能导致安全隐患。我们的第一步是**将 HTML 渲染为 PNG**,同时完全控制这些资产。 + +```csharp +using System; +using System.IO; + +// Step 1: Define a custom resource handler to control where external resources are written +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + // Combine your target folder with the resource name + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} +``` + +*为什么这很重要:* +`ResourceHandler` 基类让渲染器询问:“嘿,我该把这个图像放在哪里?”通过重写 `HandleResource`,我们将所有请求指向 `YOUR_DIRECTORY/Resources`。这可以防止渲染器在系统各处散布文件,并让清理工作变得轻而易举。 + +> **专业提示:** 如果您预料到名称冲突,请在保存前在 `info.Name` 前加上 GUID。 + +--- + +## 将 HTML 转换为图像 – 加载文档 + +现在处理程序已经准备就绪,我们需要一个 `HTMLDocument` 实例。可以把它看作承载您的标记、脚本和样式引用的画布。 + +```csharp +using HtmlRenderer; // hypothetical namespace + +// Step 2: Load an HTML document that may reference external resources +HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); +``` + +您可以将字符串替换为任意 HTML——比如 Razor 视图的输出或 Markdown‑to‑HTML 转换结果。关键是文档能够识别我们稍后传入的自定义处理程序。 + +--- + +## 图像渲染选项 – 微调抗锯齿和字体提示 + +普通渲染可以工作,但有时您需要额外的打磨:更平滑的边缘、更清晰的文字或正确的子像素定位。这时**图像渲染选项**就派上用场了。 + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*底层发生了什么?* +`ImageRenderingOptions` 告诉渲染器使用哪种字体以及是否平滑几何形状。`TextOptions` 则专注于字形的光栅化——提示会将字符对齐到像素网格,在小尺寸时尤为有用。 + +--- + +## 使用选项渲染 HTML – 应用渲染设置 + +准备好文档和选项后,我们终于可以**使用选项渲染 HTML**。我们将生成三个文件: + +1. 基础 PNG(无额外选项)。 +2. 抗锯齿 PNG。 +3. 启用提示的 PNG。 + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +请注意,每个 `ImageRenderer` 接收的第二个参数不同:普通处理程序、抗锯齿设置以及提示设置。此模式让您无需更改其他代码即可切换配置——非常适合单元测试或功能标记。 + +> **常见问题:** *“我可以在一次渲染中同时使用抗锯齿和提示吗?”* +> 完全可以。只需创建一个同时将 `UseAntialiasing` 和 `UseHinting` 设置为 `true` 的选项对象,然后将其传递给 `ImageRenderer`。 + +--- + +## 验证输出 – 预期结果 + +运行程序后,打开这三个 PNG 文件: + +- **out.png** – 对 HTML 的忠实快照,但边缘可能略显锯齿。 +- **img.png** – 由于抗锯齿,线条和曲线更平滑。 +- **txt.png** – 文字更锐利,尤其是在 12 pt Verdana 时,因为启用了字体提示。 + +如果任何图像显示异常,请再次确认 `YOUR_DIRECTORY/Resources` 中包含引用的 `logo.png`。缺失的资源会导致渲染器回退到占位符,可能会显得怪异。 + +--- + +## 完整工作示例 + +下面是完整的程序代码,可直接复制粘贴到控制台应用中。它包含所有 `using` 指令以及一个最小的 `Main` 方法。 + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +运行程序,检查这三个 PNG,您将清晰看到每个选项如何影响最终图像。随意尝试——更换字体、切换 `UseAntialiasing`,或添加更多 CSS 规则。只要**按需将 HTML 转换为图像**,想象空间几乎无限。 + +--- + +## 后续步骤与相关主题 + +- **批量处理:** 循环遍历一组 HTML 片段,为每个生成缩略图。 +- **PDF 转换:** 将 PNG 与 PDF 库(例如 iTextSharp)结合,生成多页文档。 +- **动态资源:** 扩展 `MyHandler`,从 CDN 或数据库而非文件系统获取图像。 +- **性能调优:** 当源 HTML 未改变时缓存渲染图像,可显著降低 CPU 负载。 + +如果您对更深层的自定义感兴趣,可研究 `ImageRenderer` 的 `RenderTransform` 属性,以实现旋转或缩放;或探索 `CssEngine` 设置,以获得高级布局控制。 + +--- + +## 结论 + +我们已经覆盖了在 C# 中**将 HTML 渲染为 PNG**所需的全部内容:自定义资源处理程序、加载标记、配置*图像渲染选项*,以及最终**使用选项渲染 HTML**,实现抗锯齿和字体提示。完整、可运行的示例应当开箱即用,模块化设计也便于在更大的项目中进行适配。 + +试一试,调节设置,让渲染出的图像在您的下一次邮件营销、仪表盘或报告工具中发挥作用。Got + +## 相关教程 + +- [如何将 HTML 渲染为 PNG – 完整 C# 指南](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [如何使用 Aspose 将 HTML 渲染为 PNG – 步骤指南](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [从 HTML 创建 PNG – 完整 C# 渲染指南](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/czech/net/generate-jpg-and-png-images/_index.md index 11b9c8465..652b264b2 100644 --- a/html/czech/net/generate-jpg-and-png-images/_index.md +++ b/html/czech/net/generate-jpg-and-png-images/_index.md @@ -14,7 +14,7 @@ url: /cs/net/generate-jpg-and-png-images/ # Vytvářejte obrázky JPG a PNG -Aspose.HTML for .NET je výkonná knihovna, která umožňuje vývojářům snadno vytvářet obrázky JPG a PNG z dokumentů HTML. V tomto tutoriálu prozkoumáme, jak využít plný potenciál Aspose.HTML pro .NET ke generování vysoce kvalitních obrázků z vašeho obsahu HTML. +Aspose.HTML for .NET je výkonná knihovna, která umožňuje vývojářům snadno vytvářet obrázky JPG a PNG z dokumentů HTML. V tomto tutoriálu prozkoumáme, jak využít plný potenciál Aspose.HTML pro .NET ke generování vysoce kvalitních obrázků z vašho obsahu HTML. ## Proč Aspose.HTML pro .NET? @@ -45,10 +45,20 @@ Naučte se používat Aspose.HTML pro .NET k manipulaci s dokumenty HTML, převo Naučte se, jak při převodu dokumentů DOCX na PNG nebo JPG povolit antialiasing pro hladší výstup. ### [Převod docx na png – vytvoření zip archivu C# tutoriál](./convert-docx-to-png-create-zip-archive-c-tutorial/) Naučte se převést soubory DOCX na PNG a zabalit je do ZIP archivu pomocí C# a Aspose.HTML. +### [Převod docx na png v C# – Kompletní krok‑za‑krokem průvodce](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Naučte se převést soubory DOCX na PNG v C# pomocí Aspose.HTML s podrobným krok‑za‑krokem návodem. +### [Vytvořte PNG z HTML – Kompletní krok za krokem průvodce](./create-png-from-html-full-step-by-step-guide/) +Naučte se podrobný postup, jak převést HTML na PNG pomocí Aspose.HTML pro .NET, včetně nastavení a optimalizace. +### [Vytvořte PNG z HTML pomocí Aspose – renderování HTML do PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Naučte se, jak pomocí Aspose.HTML převést HTML soubor na PNG obrázek s nastavením kvality a rozměrů. +### [Převod dokumentu Word do PNG – Kompletní programovací průvodce](./convert-word-document-to-png-complete-programming-guide/) +Naučte se převést dokument Word do PNG pomocí Aspose.HTML pro .NET s podrobným krok za krokem návodem. +### [Vykreslení HTML do PNG – Kompletní průvodce s vlastními handlery a možnostmi](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Naučte se pomocí Aspose.HTML převést HTML na PNG s vlastními handlery a pokročilými možnostmi nastavení. ## Závěr -Na závěr, Aspose.HTML for .NET poskytuje uživatelsky přívětivé a výkonné řešení pro generování obrázků JPG a PNG z obsahu HTML. Ať už jste zkušený vývojář nebo teprve začínáte, tyto výukové programy vás provedou celým procesem. Vytvářejte vizuálně přitažlivé obrázky, které vynikají a pozvednou vaše projekty pomocí Aspose.HTML for .NET. +Na závěr, Aspose.HTML for .NET poskytuje uživatelsky přívětivé a výkonné řešení pro generování obrázků JPG a PNG z obsahu HTML. Ať už jste zkušený vývojář nebo teprve začínáte, tyto výukové programy vás provedou celým procesem. Vytvářejte vizuálně přitažlivé obrázky, které vynikají a pozvednou vaše projekty pomocí Aspose.HTML pro .NET. Tak proč čekat? Začněte objevovat svět HTML na konverzi obrázků s Aspose.HTML pro .NET ještě dnes. Odemkněte nové možnosti a udělejte své webové a desktopové aplikace ještě poutavější a vizuálně přitažlivější. Šťastné kódování! {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/html/czech/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/czech/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..ade7945c9 --- /dev/null +++ b/html/czech/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-05-25 +description: Rychle převádějte docx na png pomocí C#. Naučte se, jak převést Word + na obrázek, exportovat Word jako png a nastavit vlastní písmo v jednom tutoriálu. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: cs +og_description: Převést docx na png pomocí C#. Tento průvodce vám ukáže, jak exportovat + Word jako PNG a nastavit vlastní písmo pro dokonalé výsledky. +og_title: Převod docx na png v C# – Kompletní programovací průvodce +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Převod docx na png v C# – Kompletní průvodce krok za krokem +url: /cs/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Převod docx na png v C# – Kompletní krok‑za‑krokem průvodce + +Už jste někdy potřebovali **convert docx to png**, ale nebyli jste si jisti, která knihovna vám poskytne čisté glyfy a plnou věrnost stránky? Nejste v tom sami. V mnoha projektech automatizace kanceláře je převod Word dokumentu na obrázek (myslete na „convert word to image“) nejrychlejší způsob, jak vložit obsah na webovou stránku nebo do e‑mailu, aniž byste se museli starat o instalace Office. + +Zde je podstata: API Aspose.Words pro .NET vám umožní **export word as png** pomocí několika řádků kódu a můžete dokonce **set custom font** nastavení, aby výstup vypadal přesně jako originál. V tomto tutoriálu projdeme celý proces – od instalace balíčku až po vykreslení finálního PNG – abyste mohli ještě dnes začít převádět docx na png. + +## Convert docx to png – Přehled a předpoklady + +Než se ponoříme do kódu, ujistěte se, že máte vše, co potřebujete: + +* **.NET 6.0 nebo novější** – příklad cílí na .NET 6, ale starší verze také fungují. +* **Aspose.Words for .NET** – NuGet balíček, který poskytuje `Document`, `TextOptions` a `ImageRenderer`. +* **Ukázkový soubor DOCX**, který chcete převést na obrázek (umístěte jej do složky, na kterou můžete odkazovat). +* Volitelně: **vlastní TrueType font** (např. Times New Roman), pokud chcete přepsat výchozí font dokumentu. + +Pokud máte všechny tyto položky zaškrtnuté, jste připraveni s jistotou převádět word na image. + +## Instalace Aspose.Words for .NET (convert word to image) + +Prvním krokem je přidání knihovny do vašeho projektu. Otevřete terminál ve složce řešení a spusťte: + +```bash +dotnet add package Aspose.Words +``` + +Tento jediný příkaz přidá nejnovější stabilní verzi Aspose.Words, která obsahuje třídu `ImageRenderer`, kterou budeme potřebovat pro **export docx as png**. Po dokončení obnovení jste připraveni. + +> **Tip:** Pokud používáte Visual Studio, můžete balíček také přidat přes UI NuGet Package Manager – stačí vyhledat „Aspose.Words“. + +## Načtení zdrojového dokumentu (convert docx to png) + +Nyní načteme soubor DOCX. Toto je okamžik, kdy pipeline **convert docx to png** skutečně začíná. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` představuje celý Word soubor v paměti. Cesta může být absolutní nebo relativní; jen se ujistěte, že soubor existuje, jinak narazíte na `FileNotFoundException`. + +## Nastavení možností vykreslování textu (set custom font) + +Pokud váš DOCX používá font, který není nainstalován na cílovém počítači, vykreslené PNG může vypadat špatně. Proto často potřebujete **set custom font** před exportem. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` říká rendereru, aby použil sub‑pixel hinting, což zaostřuje hrany písmen – obzvláště důležité pro PNG s vysokým rozlišením. +* `FontInfo` vynutí, aby každý kus textu byl vykreslen s *Times New Roman* ve velikosti 14 pt, bez ohledu na to, co originální DOCX specifikuje. Klidně nahraďte název libovolným fontem, který máte na serveru. + +## Vytvoření ImageRenderer (convert word to image) + +S dokumentem a nastavením připravenými vytvoříme instanci `ImageRenderer`. Tato třída provádí těžkou práci převodu stránek na bitmapové obrázky. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Několik poznámek: + +* Blok `using` zajišťuje, že renderer uvolní nativní zdroje (např. GDI handle) okamžitě. +* `RenderToFile` přijímá cestu a `ImageFormat`. Pokud potřebujete všechny stránky, můžete iterovat přes `renderer.PageCount` a volat `RenderToFile` s názvem souboru specifickým pro stránku. + +## Ověření výstupu (export docx as png) + +Po spuštění kódu byste měli vidět `hinted.png` ve složce, kterou jste zadali. Otevřete jej v libovolném prohlížeči obrázků – vypadá text ostrý? Pokud jste použili vlastní font, všimnete si konzistentního typu písma po celé stránce. + +Zde je rychlá vizuální reference (nahraďte vlastním screenshotem při publikování): + +![příklad výstupu převodu docx na png](https://example.com/assets/convert-docx-to-png.png "příklad výstupu převodu docx na png") + +*Alt text:* **příklad výstupu převodu docx na png** – PNG rendering of a Word page with Times New Roman font. + +Pokud obrázek vypadá rozmazaně, dvojitě zkontrolujte, že `UseHinting` je nastaven na `true` a že DPI rendereru (výchozí 96) odpovídá vašim potřebám. DPI můžete upravit pomocí `renderer.ImageOptions.Resolution = 300;` před voláním `RenderToFile`. + +## Kompletní, spustitelný program (export word as png) + +Sestavením všeho dohromady získáte samostatnou konzolovou aplikaci, kterou můžete zkopírovat‑vložit do `Program.cs` a spustit: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Co tento program dělá:** + +1. Načte `input.docx`. +2. Vynutí, aby každý znak používal *Times New Roman* ve velikosti 14 pt s povoleným hintingem. +3. Vykreslí první stránku při 300 DPI, čímž vytvoří vysoce kvalitní PNG. +4. Vypíše přátelskou zprávu do konzole potvrzující úspěch. + +Spusťte jej pomocí `dotnet run` a získáte perfektně vykreslený obrázek připravený pro webové zobrazení, vložení do PDF nebo jakýkoli jiný scénář, kde potřebujete **convert docx to png** bez zátěže Office. + +## Časté otázky a řešení okrajových případů + +* **Co když potřebuji všechny stránky?** + Iterujte přes `renderer.PageCount` a volajte `RenderToFile` s názvem souboru, který obsahuje číslo stránky, např. `output_page_{i}.png`. + +* **Mohu exportovat do jiných formátů obrázků?** + Rozhodně. Nahraďte `ImageFormat.Png` za `ImageFormat.Jpeg`, `ImageFormat.Bmp` nebo `ImageFormat.Tiff` podle vašich downstream požadavků. + +* **Můj dokument používá vložené fonty – potřebuji stále `set custom font`?** + Pokud DOCX již obsahuje vložené fonty, můžete vlastnost `Font` přeskočit. Renderer automaticky respektuje vložený font. + +* **Jak zacházet s velkými dokumenty, aniž bych vyčerpával paměť?** + Zpracovávejte jednu stránku najednou uvnitř bloku `using` a po uložení každého bitmapu jej uvolněte. Tím udržíte nízkou paměťovou stopu. + +* **Existuje problém s licencováním?** + Aspose.Words nabízí bezplatnou zkušební verzi s vodoznakem. Pro produkční použití zakupte licenci a zavolejte `License license = new License(); license.SetLicense("Aspose.Words.lic");` před načtením dokumentu. + +## Závěr + +Nyní máte kompletní, připravený recept na **convert docx to png** pomocí C#. Průvodce pokryl vše od instalace Aspose.Words (knihovna go‑to pro **convert word to image**) po konfiguraci `TextOptions` pro scénář **set custom font** a nakonec vykreslení souboru obrázku. S těmito znalostmi můžete **export word as png**, vložit jej na webové stránky, generovat miniatury nebo jej použít v jakémkoli pipeline pro zpracování obrázků. + +Co dál? Vyzkoušejte export více stránek, experimentujte s různými nastaveními DPI nebo přepněte výstupní formát na + +## Související tutoriály + +- [Jak povolit antialiasing při převodu DOCX na PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Převod HTML na PNG v .NET pomocí Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – vytvoření zip archivu c# tutoriál](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/czech/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/czech/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..720ca425b --- /dev/null +++ b/html/czech/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Naučte se rychle převést dokument Word do PNG. Tento tutoriál také ukazuje, + jak uložit dokument Word jako PNG s vyhlazováním. +draft: false +keywords: +- convert word document to png +- save word document as png +language: cs +og_description: Převést dokument Word na PNG pomocí několika řádků C#. Postupujte + podle tohoto návodu a uložte dokument Word jako PNG efektivně. +og_title: Převod dokumentu Word na PNG – krok za krokem +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Převod dokumentu Word do PNG – Kompletní programovací průvodce +url: /cs/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Převod Word dokumentu do PNG – Kompletní programovací průvodce + +Už jste někdy potřebovali **převést Word dokument do PNG**, ale nebyli jste si jisti, kterou knihovnu nebo nastavení zvolit? Nejste v tom sami. V mnoha projektech automatizace kanceláře nakonec potřebujete rastrový obrázek souboru `.docx` – třeba pro náhledové miniatury, vložení do e‑mailu nebo rychlou vizuální kontrolu. Dobrou zprávou je, že s několika řádky C# můžete také **uložit Word dokument jako PNG** bez jakéhokoli ručního zásahu. + +V tomto tutoriálu projdeme reálný příklad s Aspose.Words pro .NET. Pokryjeme vše od načtení zdrojového souboru, úpravy možností vykreslování obrázku pro ostrý výstup, až po zápis PNG souboru na disk. Na konci budete mít znovupoužitelnou metodu, kterou můžete vložit do libovolného .NET projektu. + +## Požadavky + +Než se pustíme dál, ujistěte se, že máte: + +- **.NET 6.0** nebo novější (kód funguje také na .NET Framework 4.6+). +- **Licencovanou** kopii **Aspose.Words pro .NET** (zkušební verze stačí pro testování). +- Visual Studio 2022 nebo jakékoli jiné IDE, které preferujete. +- Ukázkový Word soubor (`input.docx`) umístěný ve složce, na kterou můžete odkazovat. + +Žádné další balíčky třetích stran nejsou potřeba. + +## Krok 1: Nastavení projektu a import jmenných prostorů + +Nejprve vytvořte novou konzolovou aplikaci (nebo ji začleňte do existující služby). Pak přidejte NuGet balíček Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Nyní přiveďte potřebné jmenné prostory do souboru: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Tip:** Pokud cílíte na .NET 6+, můžete využít funkci top‑level statements a vynechat boilerplate metodu `Main`. + +## Krok 2: Načtení zdrojového Word dokumentu + +Prvním skutečným krokem v pipeline převodu je načíst dokument, který chcete rasterizovat. Aspose.Words podporuje `.doc`, `.docx`, `.rtf` a mnoho dalších formátů, takže nejste omezeni jen na klasické typy souborů Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Proč kontrolujeme `PageCount`? Protože dokument s nulovým počtem stránek by vytvořil prázdné PNG, což je často tichá chyba, která způsobí problémy v následujícím kódu. + +## Krok 3: Nastavení možností vykreslování obrázku + +Při převodu vektorového obsahu Wordu do bitmapy si všimnete zubatých hran, pokud použijete výchozí nastavení. Povolení antialiasingu vyhladí tyto linie, zejména u grafů, tvarů a textu v malých velikostech. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Možná se ptáte: „Potřebuji vždy antialiasing?“ Obvykle ano, pokud nevytváříte drobné ikony, kde výkon převyšuje vizuální věrnost. + +## Krok 4: Vykreslení každé stránky do samostatného PNG souboru + +Word dokument může obsahovat více stránek. Aspose.Words umožňuje vykreslit celý dokument jako jeden obrázek, ale běžnější je generovat jedno PNG na stránku. Níže projdeme smyčkou stránky a vykreslíme každou do vlastního souboru. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Proč použít blok `using`?** `ImageRenderer` drží neřízené prostředky (např. GDI+ handle). Zabalení do `using` zaručuje řádné uvolnění, čímž se předejde únikům paměti v dlouho běžících službách. + +### Okrajové případy a tipy + +- **Velké dokumenty:** Vykreslení 200‑stránkového dokumentu může být paměťově náročné. Zvažte vykreslování po dávkách nebo zvýšení vlastnosti `MaxMemoryUsage`, pokud narazíte na `OutOfMemoryException`. +- **Průhledná pozadí:** Pokud váš Word soubor obsahuje průhledné tvary a chcete průhledné PNG, nastavte `BackgroundColor = Color.Transparent` v `ImageRenderingOptions`. +- **Škálování:** Pro vytvoření miniatury upravte `ImageSaveOptions` (např. `Resolution = 72`) nebo změňte velikost výsledného PNG pomocí `System.Drawing`. + +## Krok 5: Zabalte to do znovupoužitelné metody + +Mít logiku převodu v jedné metodě usnadňuje volání odkudkoli – ať už z webového API, background workeru nebo desktopového UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Nyní můžete zavolat: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +A metoda **uloží Word dokument jako PNG** soubory pojmenované `page_1.png`, `page_2.png` atd. + +## Očekávaný výstup + +Spuštěním ukázkového kódu na třístránkovém `input.docx` získáte: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Otevřete kterýkoli z těchto PNG v prohlížeči obrázků – měli byste vidět ostrý, antialiasovaný výstup odpovídající Word stránce. Žádné extra okraje, žádné zkreslení, jen věrný bitmapový snímek. + +## Časté problémy a jak se jim vyhnout + +| Problém | Proč se vyskytuje | Řešení | +|-------|----------------|-----| +| **Prázdné PNG** | Dokument se nenačetl (`doc` je null) nebo index stránky mimo rozsah. | Ověřte cestu k souboru a ujistěte se, že `doc.PageCount` > 0 před vykreslením. | +| **Zubatý text** | Antialiasing vypnutý nebo DPI příliš nízké. | Nastavte `UseAntialiasing = true` a případně zvýšte `Resolution` (např. 150 DPI). | +| **Out‑of‑Memory** | Vykreslování velmi velkých stránek při vysokém DPI ve smyčce. | Vykreslujte po jedné stránce (jak je ukázáno) a rychle uvolňujte `ImageRenderer`. | +| **Nesprávné barvy** | Výchozí barva pozadí je bílá; průhledné dokumenty se zobrazí bílě. | Nastavte `BackgroundColor = Color.Transparent`, pokud je potřeba. | + +## Závěr + +Právě jsme ukázali čistý, produkčně připravený způsob, jak **převést Word dokument do PNG** a tím i **uložit Word dokument jako PNG** pomocí Aspose.Words pro .NET. Kroky jsou jednoduché: + +1. Načtěte `.docx` pomocí `Document`. +2. Vyladěte `ImageRenderingOptions` (antialiasing, DPI, pozadí). +3. Projděte stránky a zavolejte `ImageRenderer.RenderToFile`. + +S znovupoužitelnou metodou `ConvertWordToPng` můžete nyní integrovat náhledy založené na obrázcích do libovolné C# aplikace – ať už jde o webovou službu generující miniatury nahraných smluv, desktopový nástroj archivující zprávy jako PNG, nebo dávkový úkol připravující assety pro systém správy obsahu. + +**Co dál?** Vyzkoušejte další formáty obrázků (`ImageFormat.Jpeg`, `Bmp`) nebo prozkoumejte `PdfSaveOptions`, pokud potřebujete PDF vedle PNG. Můžete také přidat vodoznaky nebo měnit velikost výstupu za běhu. + +Šťastné kódování a klidně zanechte komentář, pokud narazíte na nějaké potíže! + +## Související tutoriály + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/czech/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..89e29e4a4 --- /dev/null +++ b/html/czech/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,294 @@ +--- +category: general +date: 2026-05-25 +description: Rychle vytvořte PNG z HTML pomocí Aspose.HTML. Naučte se renderovat HTML + do PNG, převádět HTML na PNG a efektivně spravovat zdroje. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: cs +og_description: Vytvořte PNG z HTML pomocí Aspose.HTML. Tento průvodce ukazuje, jak + renderovat HTML do PNG, převést HTML na PNG a správně zacházet s prostředky. +og_title: Vytvořte PNG z HTML – Kompletní programovací tutoriál +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Vytvořte PNG z HTML – Kompletní průvodce krok po kroku +url: /cs/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Vytvoření PNG z HTML – Kompletní průvodce krok za krokem + +Už jste se někdy zamýšleli, jak **create PNG from HTML** bez používání spousty nástrojů třetích stran? Nejste v tom sami. Ať už vytváříte generátor náhledů e‑mailů, dashboard pro reportování nebo službu s miniaturami, převod HTML značky na ostrý PNG obrázek je běžná potřeba. V tomto tutoriálu vás provedeme kompletním, spustitelným příkladem, který **renders HTML to PNG**, ukáže vám, jak **convert HTML to PNG** pomocí Aspose.HTML, a dokonce vysvětlí **how to handle resources** jako obrázky, CSS a fonty. + +Začneme s malým HTML řetězcem, nastavíme vlastní `ResourceHandler`, který zapíše každý externí asset na disk, a skončíme uložením dokonalého PNG souboru. Na konci budete mít samostatné řešení, které můžete vložit do libovolného .NET projektu. + +## Co se naučíte + +- Jak vytvořit `HTMLDocument` ze řetězce nebo souboru. +- Jak implementovat vlastní `ResourceHandler`, aby se každý zdroj, který renderer požaduje, uložil lokálně. +- Přesné kroky k **render HTML to PNG** pomocí `ImageRenderer`. +- Běžné úskalí (chybějící fonty, relativní URL) a nejlepší způsob **to handle resources**. +- Jak ověřit výstup a upravit velikost nebo formát obrázku podle potřeby. + +### Požadavky + +- .NET 6.0 nebo novější (kód také funguje na .NET Framework 4.7+). +- Odkaz na NuGet balíček **Aspose.HTML for .NET**. +- Základní znalost C# a asynchronních streamů (není povinná, ale užitečná). + +Žádné externí nástroje, žádné headless prohlížeče – jen čistý C# a Aspose.HTML. + +--- + +## Vytvoření PNG z HTML – Přehled + +Níže je **kompletní, připravený ke spuštění kód**. Klidně jej zkopírujte a vložte do konzolové aplikace, upravte zástupný text `YOUR_DIRECTORY` a stiskněte F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Nahraďte `"YOUR_DIRECTORY"` absolutní cestou (např. `Path.GetFullPath("./output")`), aby nedošlo k překvapením, když aplikace běží z jiného pracovního adresáře. + +## Krok 1: Připravte HTML dokument + +Prvním krokem je zabalit surový HTML řetězec do `HTMLDocument`. Aspose.HTML s tímto objektem zachází jako s plnohodnotným DOM, což znamená, že rozpozná `` tagy, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Můžete nahradit řetězec libovolným HTML — například výstupem Razor view nebo konverzí Markdown‑to‑HTML. Důležité je, že dokument ví o vlastním handleru, který předáme později. + +--- + +## Možnosti renderování obrázku – Jemné ladění antialiasingu a hintingu fontů + +Prosté renderování funguje, ale někdy potřebujete ten extra lesk: hladší hrany, čitelnější text nebo správné sub‑pixelové umístění. Zde vstupují do hry **možnosti renderování obrázku**. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Co se děje pod kapotou?* +`ImageRenderingOptions` říká rendereru, jaký font použít a zda vyhlazovat geometrické tvary. `TextOptions` se zaměřuje na to, jak jsou rasterizovány glyfy — hinting zarovnává znaky k mřížce pixelů, což je obzvláště užitečné při malých velikostech. + +--- + +## Renderování HTML s možnostmi – Použití nastavení renderování + +S připraveným dokumentem a možnostmi můžeme konečně **renderovat HTML s možnostmi**. Vytvoříme tři soubory: + +1. Základní PNG (bez extra možností). +2. Antialiasovaný PNG. +3. PNG s povoleným hintingem. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Všimněte si, že každý `ImageRenderer` dostane jiný druhý argument: prostý handler, nastavení antialiasingu a nastavení hintingu. Tento vzor vám umožní měnit konfiguraci bez úpravy dalšího kódu — ideální pro unit testy nebo feature flagy. + +> **Častá otázka:** *„Mohu kombinovat antialiasing a hinting v jednom průchodu?“* +> Rozhodně. Stačí vytvořit jeden objekt možností, který nastaví jak `UseAntialiasing`, tak `UseHinting` na `true`, a předat jej `ImageRenderer`. + +--- + +## Ověření výstupu – Co očekávat + +Po spuštění programu otevřete tři PNG soubory: + +- **out.png** – věrná snímka HTML, ale hrany mohou vypadat mírně zubatě. +- **img.png** – hladší linie a křivky díky antialiasingu. +- **txt.png** – text je ostřejší, zejména při 12 pt Verdana, díky hintingu fontů. + +Pokud některý z obrázků vypadá špatně, zkontrolujte, že `YOUR_DIRECTORY/Resources` obsahuje odkazovaný `logo.png`. Chybějící assety způsobí, že renderer použije zástupný obrázek, který může vypadat podivně. + +--- + +## Kompletní funkční příklad + +Níže je celý program, připravený ke zkopírování do konzolové aplikace. Obsahuje všechny `using` direktivy a minimální metodu `Main`. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Spusťte program, prohlédněte si tři PNG a uvidíte přesně, jak každá možnost ovlivňuje finální obrázek. Nebojte se experimentovat — změňte font, přepněte `UseAntialiasing` nebo přidejte další CSS pravidla. Možnosti jsou neomezené, když **převádíte HTML na obrázek** na vyžádání. + +--- + +## Další kroky a související témata + +- **Dávkové zpracování:** Procházet kolekci HTML útržků a generovat miniatury pro každý. +- **Konverze do PDF:** Kombinovat PNG s PDF knihovnou (např. iTextSharp) pro vytvoření vícestránkových dokumentů. +- **Dynamické zdroje:** Rozšířit `MyHandler`, aby načítal obrázky z CDN nebo databáze místo souborového systému. +- **Ladění výkonu:** Cacheovat vykreslené obrázky, pokud se zdrojové HTML nezměnilo; výrazně to snižuje zatížení CPU. + +Pokud vás zajímá hlubší přizpůsobení, podívejte se na vlastnost `RenderTransform` třídy `ImageRenderer` pro rotaci nebo škálování, nebo prozkoumejte nastavení `CssEngine` pro pokročilou kontrolu layoutu. + +--- + +## Závěr + +Probrali jsme vše, co potřebujete k **renderování HTML do PNG** v C#: vlastní resource handler, načtení markupu, konfiguraci *možností renderování obrázku* a nakonec **renderování HTML s možnostmi**, které vám poskytují antialiasing a hinting fontů. Kompletní, spustitelný příklad by měl fungovat hned po rozbalení a modulární design usnadňuje adaptaci na větší projekty. + +Vyzkoušejte to, upravte nastavení a nechte vykreslené obrázky mluvit za vás ve vaší další e‑mailové kampani, dashboardu nebo nástroji pro reportování. Got + +## Související tutoriály + +- [Jak renderovat HTML jako PNG – Kompletní C# průvodce](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Jak použít Aspose k renderování HTML do PNG – Krok za krokem průvodce](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Vytvořit PNG z HTML – Kompletní C# průvodce renderováním](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/dutch/net/generate-jpg-and-png-images/_index.md index e05f0c0a7..7212652da 100644 --- a/html/dutch/net/generate-jpg-and-png-images/_index.md +++ b/html/dutch/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Leer hoe u Aspose.HTML voor .NET kunt gebruiken om HTML-documenten te bewerken, Leer hoe u antialiasing inschakelt bij het omzetten van DOCX-bestanden naar PNG- of JPG-afbeeldingen met Aspose.HTML. ### [docx naar png converteren – zip-archief maken C#-tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Leer hoe u een DOCX-bestand naar PNG converteert en de resultaten in een zip-archief opslaat met C# en Aspose.HTML. +### [PNG maken vanuit HTML – volledige stapsgewijze handleiding](./create-png-from-html-full-step-by-step-guide/) +Leer hoe u met Aspose.HTML voor .NET PNG-afbeeldingen genereert uit HTML met een gedetailleerde stap‑voor‑stap handleiding. +### [PNG maken vanuit HTML met Aspose – HTML renderen naar PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Leer hoe u met Aspose.HTML HTML-inhoud omzet naar PNG-afbeeldingen via een eenvoudige render‑pipeline. +### [Word-document naar PNG converteren – volledige programmeergids](./convert-word-document-to-png-complete-programming-guide/) +Leer hoe u een Word-document converteert naar PNG met een volledige programmeergids. +### [docx naar png converteren – volledige stapsgewijze handleiding](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Leer hoe u een DOCX‑bestand naar PNG converteert in C# met een volledige stapsgewijze gids met Aspose.HTML. +### [HTML renderen naar PNG – Complete gids met aangepaste handlers en opties](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Leer hoe u HTML naar PNG rendert met aangepaste handlers en diverse opties in een volledige stap‑voor‑stap gids. ## Conclusie diff --git a/html/dutch/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/dutch/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..8c900fb9d --- /dev/null +++ b/html/dutch/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-05-25 +description: Converteer docx snel naar png met C#. Leer hoe je Word naar een afbeelding + converteert, Word exporteert als png, en een aangepast lettertype instelt in één + tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: nl +og_description: Converteer docx naar png met C#. Deze gids laat zien hoe je Word exporteert + als png en een aangepast lettertype instelt voor perfecte resultaten. +og_title: Docx naar png converteren in C# – Volledige programmeergids +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Docx naar png converteren in C# – Complete stapsgewijze handleiding +url: /nl/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Converteer docx naar png in C# – Complete Stapsgewijze Gids + +Heb je ooit **convert docx to png** moeten, maar wist je niet welke bibliotheek je schone glyphs en volledige paginavernieuwing geeft? Je bent niet de enige. In veel kantoor‑automatiseringsprojecten is het omzetten van een Word‑document naar een afbeelding (denk aan “convert word to image”) de snelste manier om inhoud in een webpagina of e‑mail in te sluiten zonder je zorgen te maken over Office‑installaties. + +Het punt is: de Aspose.Words for .NET API laat je **export word as png** doen met slechts een handvol regels, en je kunt zelfs **set custom font** instellingen gebruiken zodat de output er precies uitziet als het origineel. In deze tutorial lopen we het volledige proces door — van het installeren van het pakket tot het renderen van de uiteindelijke PNG — zodat je vandaag nog kunt beginnen met het converteren van docx naar png. + +## Convert docx to png – Overzicht en Vereisten + +Voordat we in de code duiken, laten we zorgen dat je alles hebt wat je nodig hebt: + +* **.NET 6.0 of later** – het voorbeeld richt zich op .NET 6, maar eerdere versies werken ook. +* **Aspose.Words for .NET** – een NuGet‑pakket dat `Document`, `TextOptions` en `ImageRenderer` levert. +* Een **sample DOCX** bestand dat je wilt omzetten naar een afbeelding (plaats het in een map die je kunt refereren). +* Optioneel: een **custom TrueType font** (bijv. Times New Roman) als je het standaardlettertype van het document wilt overschrijven. + +Als je die punten hebt afgevinkt, ben je klaar om met vertrouwen **convert word to image** te starten. + +## Installeer Aspose.Words for .NET (convert word to image) + +De eerste stap is het ophalen van de bibliotheek in je project. Open een terminal in je solution‑map en voer uit: + +```bash +dotnet add package Aspose.Words +``` + +Dat enkele commando voegt de nieuwste stabiele versie van Aspose.Words toe, die de `ImageRenderer`‑klasse bevat die we nodig hebben voor **export docx as png**. Nadat het herstel is voltooid, ben je klaar om te gaan. + +> **Pro tip:** Als je Visual Studio gebruikt, kun je het pakket ook toevoegen via de NuGet Package Manager UI — zoek gewoon naar “Aspose.Words”. + +## Laad het bron‑document (convert docx to png) + +Nu laden we het DOCX‑bestand. Dit is het moment waarop de **convert docx to png**‑pipeline daadwerkelijk begint. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` vertegenwoordigt het volledige Word‑bestand in het geheugen. Het pad kan absoluut of relatief zijn; zorg er gewoon voor dat het bestand bestaat, anders krijg je een `FileNotFoundException`. + +## Configureer tekst‑renderopties (set custom font) + +Als je DOCX een lettertype gebruikt dat niet op de doelmachine is geïnstalleerd, kan de gerenderde PNG er verkeerd uitzien. Daarom moet je vaak **set custom font** toepassen vóór het exporteren. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` vertelt de renderer om sub‑pixel hinting toe te passen, wat de randen van letters scherper maakt — vooral belangrijk voor high‑resolution PNG’s. +* `FontInfo` dwingt elk stuk tekst om getekend te worden met *Times New Roman* op 14 pt, ongeacht wat het originele DOCX specificeert. Voel je vrij om de naam te vervangen door elk lettertype dat je op de server hebt. + +## Maak een ImageRenderer (convert word to image) + +Met het document en de opties klaar, instantieren we `ImageRenderer`. Deze klasse doet het zware werk van het omzetten van pagina’s naar bitmap‑afbeeldingen. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* Het `using`‑blok zorgt ervoor dat de renderer native resources (zoals GDI‑handles) direct vrijgeeft. +* `RenderToFile` accepteert een pad en een `ImageFormat`. Als je alle pagina’s nodig hebt, kun je over `renderer.PageCount` itereren en `RenderToFile` aanroepen met een paginagespecificeerde bestandsnaam. + +## Verifieer de output (export docx as png) + +Nadat de code is uitgevoerd, zou je `hinted.png` in de opgegeven map moeten zien. Open het met een willekeurige afbeeldingsviewer — ziet de tekst scherp uit? Als je een custom font hebt gebruikt, merk je het consistente lettertype over de hele pagina. + +Hier is een snelle visuele referentie (vervang door je eigen screenshot bij publicatie): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – een PNG‑rendering van een Word‑pagina met Times New Roman‑lettertype. + +Als de afbeelding er wazig uitziet, controleer dan of `UseHinting` op `true` staat en of de DPI van de renderer (standaard 96) aan je eisen voldoet. Je kunt de DPI aanpassen via `renderer.ImageOptions.Resolution = 300;` vóór het aanroepen van `RenderToFile`. + +## Volledig, uitvoerbaar programma (export word as png) + +Alles samenvoegend, hier is een zelfstandige console‑app die je kunt kopiëren‑plakken in `Program.cs` en uitvoeren: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Wat dit programma doet:** + +1. Laadt `input.docx`. +2. Forceert elk teken om *Times New Roman* op 14 pt te gebruiken met hinting ingeschakeld. +3. Renderde de eerste pagina op 300 DPI, waardoor een PNG van hoge kwaliteit ontstaat. +4. Schrijft een vriendelijke console‑melding die succes bevestigt. + +Voer het uit met `dotnet run` en je hebt een perfect gerenderde afbeelding klaar voor weergave op het web, PDF‑invoeging, of elke andere situatie waarin je **convert docx to png** nodig hebt zonder de overhead van Office. + +## Veelgestelde vragen en edge‑case handling + +* **What if I need all pages?** + Loop over `renderer.PageCount` en roep `RenderToFile` aan met een bestandsnaam die het paginanummer bevat, bijv. `output_page_{i}.png`. + +* **Can I export to other image formats?** + Zeker. Vervang `ImageFormat.Png` door `ImageFormat.Jpeg`, `ImageFormat.Bmp` of `ImageFormat.Tiff` afhankelijk van je downstream‑vereisten. + +* **My document uses embedded fonts—do I still need `set custom font`?** + Als het DOCX de gewenste lettertypen al embedde, kun je de `Font`‑eigenschap overslaan. De renderer respecteert het ingebedde lettertype automatisch. + +* **How do I handle large documents without exhausting memory?** + Verwerk één pagina tegelijk binnen het `using`‑blok, en maak elke gegenereerde bitmap vrij na het opslaan. Dit houdt de geheugengebruik laag. + +* **Is there a licensing concern?** + Aspose.Words biedt een gratis proefversie met een watermerk. Voor productiegebruik koop je een licentie en roep je `License license = new License(); license.SetLicense("Aspose.Words.lic");` aan vóór het laden van het document. + +## Conclusie + +Je hebt nu een complete, productie‑klare handleiding om **convert docx to png** te gebruiken met C#. De gids behandelde alles van het installeren van Aspose.Words (de go‑to library voor **convert word to image**) tot het configureren van `TextOptions` voor een **set custom font** scenario, en uiteindelijk het renderen van het afbeeldingsbestand. Met deze kennis kun je **export word as png**, embedden in webpagina's, thumbnails genereren, of het voeden in elke beeld‑verwerkings‑pipeline. + +Wat is het volgende? Probeer meerdere pagina’s te exporteren, experimenteer met verschillende DPI‑instellingen, of wissel het uitvoerformaat naar + +## Gerelateerde Tutorials + +- [Hoe antialiasing in te schakelen bij het converteren van DOCX naar PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [HTML naar PNG converteren in .NET met Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip‑archief maken c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/dutch/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/dutch/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..c653d5fe6 --- /dev/null +++ b/html/dutch/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-05-25 +description: Leer hoe je een Word‑document snel naar PNG converteert. Deze tutorial + laat ook zien hoe je een Word‑document opslaat als PNG met antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: nl +og_description: Converteer een Word‑document naar PNG met een paar regels C#. Volg + deze gids om een Word‑document efficiënt als PNG op te slaan. +og_title: Word-document converteren naar PNG – Stapsgewijze handleiding +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Word-document converteren naar PNG – Complete programmeergids +url: /nl/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word-document naar PNG converteren – Complete programmeergids + +Heb je ooit **Word-document naar PNG** moeten converteren, maar wist je niet welke bibliotheek of instellingen je moest kiezen? Je bent niet de enige. In veel office‑automatiseringsprojecten heb je uiteindelijk een rasterafbeelding van een `.docx`‑bestand nodig — bijvoorbeeld voor miniatuurvoorbeelden, e‑mailbijlagen of snelle visuele controles. Het goede nieuws is dat je met een handvol C#‑regels ook **Word-document als PNG** kunt opslaan zonder handmatig gedoe. + +In deze tutorial lopen we een real‑world voorbeeld door met Aspose.Words for .NET. We behandelen alles van het laden van het bronbestand, het aanpassen van de afbeeldingsrenderopties voor een scherp resultaat, tot het wegschrijven van het PNG‑bestand naar schijf. Aan het einde heb je een herbruikbare methode die je in elk .NET‑project kunt gebruiken. + +## Voorvereisten + +- **.NET 6.0** of later (de code werkt ook op .NET Framework 4.6+). +- Een **gelicentieerde** kopie van **Aspose.Words for .NET** (de gratis proefversie werkt voor testen). +- Visual Studio 2022 of een IDE naar keuze. +- Een voorbeeld‑Word‑bestand (`input.docx`) geplaatst in een map die je kunt refereren. + +Er zijn geen andere externe pakketten vereist. + +## Stap 1: Het project opzetten en namespaces importeren + +Allereerst, maak een nieuwe console‑app (of integreer in een bestaande service). Voeg vervolgens het Aspose.Words NuGet‑pakket toe: + +```bash +dotnet add package Aspose.Words +``` + +Breng nu de benodigde namespaces in je bestand: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** Als je .NET 6+ target, kun je de top‑level statements‑functionaliteit gebruiken en de `Main`‑method boilerplate overslaan. + +## Stap 2: Laad het bron‑Word‑document + +De eerste echte stap in de conversiepijplijn is het laden van het document dat je wilt rasteren. Aspose.Words ondersteunt `.doc`, `.docx`, `.rtf` en vele andere formaten, zodat je niet beperkt bent tot de klassieke Office‑bestandstypen. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Waarom controleren we `PageCount`? Omdat een document met nul pagina's een lege PNG zou produceren, wat vaak een stille fout is die downstream‑code in de problemen brengt. + +## Stap 3: Configureer afbeeldingsrenderopties + +Bij het converteren van vector‑gebaseerde Word‑inhoud naar een bitmap merk je gekartelde randen op als je de standaardinstellingen behoudt. Het inschakelen van antialiasing maakt die lijnen gladder, vooral voor grafieken, vormen en tekst op kleine formaten. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Je vraagt je misschien af: “Heb ik altijd antialiasing nodig?” Meestal ja, tenzij je zeer kleine iconen genereert waarbij prestaties belangrijker zijn dan visuele nauwkeurigheid. + +## Stap 4: Render elke pagina naar een afzonderlijk PNG‑bestand + +Een Word‑document kan meerdere pagina's bevatten. Aspose.Words laat je het hele document als één afbeelding renderen, maar het gebruikelijkere patroon is om één PNG per pagina te genereren. Hieronder lopen we door de pagina's en renderen elke naar een eigen bestand. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Waarom een `using`‑blok gebruiken?** De `ImageRenderer` houdt onbeheerste resources (zoals GDI+‑handles) vast. Het omhullen met `using` garandeert een juiste opruiming, waardoor geheugenlekken in langdurige services worden voorkomen. + +### Randgevallen & Tips + +- **Grote documenten:** Het renderen van een document van 200 pagina's kan veel geheugen verbruiken. Overweeg om in batches te renderen of de eigenschap `MaxMemoryUsage` te verhogen als je een `OutOfMemoryException` tegenkomt. +- **Transparante achtergronden:** Als je Word‑bestand transparante vormen bevat en je een transparante PNG wilt, stel dan `BackgroundColor = Color.Transparent` in `ImageRenderingOptions`. +- **Schalen:** Om een miniatuur te maken, pas `ImageSaveOptions` aan (bijv. `Resolution = 72`) of wijzig de grootte van de resulterende PNG met `System.Drawing`. + +## Stap 5: Verpak het in een herbruikbare methode + +De conversielogica in één enkele methode hebben, maakt het eenvoudig om deze overal aan te roepen — of het nu een web‑API, een achtergrond‑worker of een desktop‑UI is. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Je kunt nu aanroepen: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +En de methode zal **Word-document als PNG** opslaan met bestandsnamen `page_1.png`, `page_2.png`, enz. + +## Verwachte output + +Het uitvoeren van de voorbeeldcode op een drie‑pagina `input.docx` zal produceren: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Open een van die PNG‑bestanden in een afbeeldingsviewer — je zou een scherp, antialiased weergave van de corresponderende Word‑pagina moeten zien. Geen extra randen, geen vervorming, alleen een getrouwe bitmap‑snapshot. + +## Veelvoorkomende valkuilen en hoe ze te vermijden + +| Probleem | Waarom het gebeurt | Oplossing | +|----------|--------------------|-----------| +| **Blank PNG** | Document didn't load (`doc` is null) or page index out of range. | Verify the file path and ensure `doc.PageCount` > 0 before rendering. | +| **Jagged Text** | Antialiasing disabled or DPI too low. | Set `UseAntialiasing = true` and optionally increase `Resolution` (e.g., 150 DPI). | +| **Out‑of‑Memory** | Rendering very large pages at high DPI in a tight loop. | Render one page at a time (as shown) and dispose the `ImageRenderer` promptly. | +| **Incorrect Colors** | Background color defaults to white; transparent docs appear white. | Set `BackgroundColor = Color.Transparent` when needed. | + +## Conclusie + +We hebben zojuist een schone, productie‑klare manier getoond om **Word-document naar PNG** te **converteren** en, bij uitbreiding, **Word-document als PNG** op te slaan met Aspose.Words for .NET. De stappen zijn eenvoudig: + +1. Laad de `.docx` met `Document`. +2. Stel `ImageRenderingOptions` af (antialiasing, DPI, achtergrond). +3. Loop door de pagina's en roep `ImageRenderer.RenderToFile` aan. + +Met de herbruikbare `ConvertWordToPng`‑methode kun je nu afbeeldings‑gebaseerde previews integreren in elke C#‑applicatie — of het nu een webservice is die miniaturen genereert voor geüploade contracten, een desktop‑tool die rapporten archiveert als PNG, of een batch‑taak die assets voorbereidt voor een content‑managementsysteem. + +**Wat nu?** Probeer te experimenteren met andere beeldformaten (`ImageFormat.Jpeg`, `Bmp`) of verken `PdfSaveOptions` als je naast de PNG's een PDF nodig hebt. Je kunt ook kijken naar het toevoegen van watermerken of het dynamisch aanpassen van de grootte van de output. + +Veel plezier met coderen, en voel je vrij om een reactie achter te laten als je ergens tegenaan loopt! + +## Gerelateerde tutorials + +- [convert docx naar png – zip‑archief maken c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Hoe antialiasing in te schakelen bij het converteren van DOCX naar PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Hoe Aspose te gebruiken om HTML naar PNG te renderen – Stapsgewijze gids](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/dutch/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..52b6b36df --- /dev/null +++ b/html/dutch/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,308 @@ +--- +category: general +date: 2026-05-25 +description: Maak snel PNG van HTML met Aspose.HTML. Leer hoe je HTML naar PNG rendert, + HTML naar PNG converteert en bronnen efficiënt beheert. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: nl +og_description: Maak PNG van HTML met Aspose.HTML. Deze gids laat zien hoe je HTML + naar PNG rendert, HTML naar PNG converteert en resources correct afhandelt. +og_title: Maak PNG van HTML – Complete programmeertutorial +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Maak PNG van HTML – Volledige stap‑voor‑stap gids +url: /nl/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG maken van HTML – Volledige Stapsgewijze Gids + +Heb je je ooit afgevraagd hoe je **PNG van HTML kunt maken** zonder een heleboel externe tools te gebruiken? Je bent niet de enige. Of je nu een e‑mail preview‑generator, een rapportagedashboard of een thumbnail‑service bouwt, het omzetten van HTML‑markup naar een scherpe PNG‑afbeelding is een veelvoorkomende behoefte. In deze tutorial lopen we een compleet, uitvoerbaar voorbeeld door dat **HTML rendert naar PNG**, je laat zien hoe je **HTML naar PNG converteert** met Aspose.HTML, en zelfs uitlegt **hoe je resources moet afhandelen** zoals afbeeldingen, CSS en lettertypen. + +We beginnen met een kleine HTML‑string, stellen een aangepaste `ResourceHandler` in die elk extern asset naar schijf schrijft, en eindigen met het opslaan van een perfecte PNG‑bestand. Aan het einde heb je een zelfstandige oplossing die je in elk .NET‑project kunt gebruiken. + +## Wat je zult leren + +- Hoe je een `HTMLDocument` maakt vanuit een string of bestand. +- Hoe je een aangepaste `ResourceHandler` implementeert zodat elke resource die de renderer opvraagt lokaal wordt opgeslagen. +- De exacte stappen om **HTML naar PNG te renderen** met `ImageRenderer`. +- Veelvoorkomende valkuilen (ontbrekende lettertypen, relatieve URL's) en de beste manier **om resources af te handelen**. +- Hoe je de output verifieert en de afbeeldingsgrootte of -formaat aanpast indien nodig. + +### Vereisten + +- .NET 6.0 of later (de code werkt ook op .NET Framework 4.7+). +- Een referentie naar het **Aspose.HTML for .NET** NuGet‑pakket. +- Basiskennis van C# en asynchrone streams (niet vereist, maar handig). + +Geen externe tools, geen headless browsers—alleen plain C# en Aspose.HTML. + +--- + +## PNG maken van HTML – Overzicht + +Hieronder staat de **complete, kant‑klaar code**. Voel je vrij om deze te kopiëren‑plakken in een console‑app, de `YOUR_DIRECTORY`‑placeholder aan te passen, en op F5 te drukken. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Vervang `"YOUR_DIRECTORY"` door een absoluut pad (bijv. `Path.GetFullPath("./output")`) om verrassingen te voorkomen wanneer de app vanuit een andere werkmap wordt uitgevoerd. + +--- + +## Stap 1: Bereid het HTML‑document voor + +Het eerste wat we doen is een ruwe HTML‑string in een `HTMLDocument` wikkelen. Aspose.HTML behandelt dit object als een volledig functionerende DOM, wat betekent dat het ``‑tags, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Je kunt de string vervangen door elke HTML die je wilt—misschien de output van een Razor‑view of een Markdown‑naar‑HTML conversie. Het belangrijke is dat het document weet van de aangepaste handler die we later zullen doorgeven. + +--- + +## Image rendering options – Fijn afstellen van antialiasing en font hinting + +Eenvoudig renderen werkt, maar soms heb je die extra polish nodig: gladdere randen, duidelijkere tekst, of correcte sub‑pixel positionering. Hier komen **image rendering options** van pas. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Wat gebeurt er onder de motorkap?* +`ImageRenderingOptions` vertelt de renderer welke lettertype te gebruiken en of geometrische vormen moeten worden gladgestreken. `TextOptions` richt zich op hoe glyphs worden gerasterd—hinting aligneert tekens op het pixelraster, wat vooral nuttig is bij kleine formaten. + +--- + +## HTML renderen met opties – Rendering‑instellingen toepassen + +Met het document en de opties klaar, kunnen we eindelijk **HTML renderen met opties**. We zullen drie bestanden produceren: + +1. Een basis‑PNG (zonder extra opties). +2. Een antialias‑PNG. +3. Een hint‑geactiveerde PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +> **Veelgestelde vraag:** *“Kan ik antialiasing en hinting combineren in één pass?”* +> Absoluut. Maak gewoon één opties‑object dat zowel `UseAntialiasing` als `UseHinting` op `true` zet, en geef het door aan `ImageRenderer`. + +--- + +## Controleer de output – Wat te verwachten + +Nadat je het programma hebt uitgevoerd, open je de drie PNG‑bestanden: + +- **out.png** – een getrouwe weergave van de HTML, maar de randen kunnen wat gekarteld lijken. +- **img.png** – gladdere lijnen en curven dankzij antialiasing. +- **txt.png** – tekst ziet er scherper uit, vooral bij 12 pt Verdana, door font hinting. + +Als een van de afbeeldingen er niet goed uitziet, controleer dan dubbel of `YOUR_DIRECTORY/Resources` het refererende `logo.png` bevat. Ontbrekende assets zorgen ervoor dat de renderer terugvalt op een placeholder, wat er vreemd uit kan zien. + +--- + +## Volledig werkend voorbeeld + +Hieronder staat het volledige programma, klaar om te kopiëren‑en‑plakken in een console‑app. Het bevat alle `using`‑directives en een minimale `Main`‑methode. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Voer het programma uit, inspecteer de drie PNG‑s, en je zult precies zien hoe elke optie de uiteindelijke afbeelding beïnvloedt. Voel je vrij om te experimenteren—verander het lettertype, schakel `UseAntialiasing` in of uit, of voeg meer CSS‑regels toe. De mogelijkheden zijn eindeloos wanneer je **HTML naar afbeelding converteert** op aanvraag. + +--- + +## Volgende stappen & gerelateerde onderwerpen + +- **Batchverwerking:** Loop over een collectie HTML‑snippets en genereer miniaturen voor elk. +- **PDF-conversie:** Combineer de PNG‑s met een PDF‑bibliotheek (bijv. iTextSharp) om meer‑pagina documenten te maken. +- **Dynamische resources:** Breid `MyHandler` uit om afbeeldingen op te halen van een CDN of een database in plaats van het bestandssysteem. +- **Prestatie‑optimalisatie:** Cache gerenderde afbeeldingen wanneer de bron‑HTML niet is veranderd; dit vermindert de CPU‑belasting drastisch. + +Als je geïnteresseerd bent in diepere aanpassingen, kijk dan naar de `RenderTransform`‑eigenschap van `ImageRenderer` voor rotatie of schaling, of verken de `CssEngine`‑instellingen voor geavanceerde layout‑controle. + +--- + +## Conclusie + +We hebben alles behandeld wat je nodig hebt om **HTML naar PNG te renderen** in C#: een aangepaste resource handler, het laden van markup, het configureren van *image rendering options*, en uiteindelijk **HTML renderen met opties** die antialiasing en font hinting bieden. Het volledige, uitvoerbare voorbeeld zou direct moeten werken, en het modulaire ontwerp maakt het eenvoudig aan te passen voor grotere projecten. + +Probeer het, pas de instellingen aan, en laat de gerenderde afbeeldingen het woord doen in je volgende e‑mailcampagne, dashboard, of rapportagetool. Got + +## Gerelateerde tutorials + +- [Hoe HTML te renderen als PNG – Complete C# gids](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Hoe Aspose te gebruiken om HTML naar PNG te renderen – Stapsgewijze gids](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [PNG maken vanuit HTML – Volledige C# rendergids](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/english/net/generate-jpg-and-png-images/_index.md index 3cc4b6acd..f50d187b9 100644 --- a/html/english/net/generate-jpg-and-png-images/_index.md +++ b/html/english/net/generate-jpg-and-png-images/_index.md @@ -34,7 +34,7 @@ Creating images is just the first step. Aspose.HTML for .NET allows you to furth ## Integrating with .NET Projects -Integrating Aspose.HTML for .NET into your .NET projects is hassle-free. The library is designed to seamlessly blend with your existing code, making it an excellent choice for developers. You can use it to enhance your applications with image generation capabilities effortlessly. +Integrating Aspose.HTML for .NET into your .NET projects is hassle‑free. The library is designed to seamlessly blend with your existing code, making it an excellent choice for developers. You can use it to enhance your applications with image generation capabilities effortlessly. ## Generate JPG and PNG Images Tutorials ### [Generate JPG Images by ImageDevice in .NET with Aspose.HTML](./generate-jpg-images-by-imagedevice/) @@ -45,6 +45,16 @@ Learn to use Aspose.HTML for .NET to manipulate HTML documents, convert HTML to Learn how to enable antialiasing for sharper PNG/JPG output when converting DOCX files using Aspose.HTML for .NET. ### [convert docx to png – create zip archive c# tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Learn how to convert DOCX files to PNG images and package them into a ZIP archive using C# and Aspose.HTML. +### [Create PNG from HTML – Full Step‑by‑Step Guide](./create-png-from-html-full-step-by-step-guide/) +A comprehensive step-by-step guide to generate PNG images from HTML using Aspose.HTML for .NET. +### [create png from html with Aspose – render html to png](./create-png-from-html-with-aspose-render-html-to-png/) +Learn how to render HTML to PNG images using Aspose.HTML for .NET with a clear step‑by‑step guide. +### [Convert Word Document to PNG – Complete Programming Guide](./convert-word-document-to-png-complete-programming-guide/) +Learn how to convert Word documents to PNG images using Aspose.HTML for .NET with a comprehensive programming guide. +### [Convert docx to png in C# – Complete Step‑by‑Step Guide](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Learn how to convert DOCX files to PNG images using C# and Aspose.HTML with a detailed step‑by‑step guide. +### [Render HTML to PNG – Complete Guide with Custom Handlers & Options](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Learn how to render HTML to PNG using Aspose.HTML for .NET with custom handlers, options, and detailed step‑by‑step instructions. ## Conclusion diff --git a/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..4095f28ce --- /dev/null +++ b/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Convert docx to png quickly using C#. Learn how to convert word to image, + export word as png, and set custom font in a single tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: en +og_description: Convert docx to png with C#. This guide shows you how to export word + as png and set custom font for perfect results. +og_title: Convert docx to png in C# – Full Programming Guide +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Convert docx to png in C# – Complete Step‑by‑Step Guide +url: /net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convert docx to png in C# – Complete Step‑by‑Step Guide + +Ever needed to **convert docx to png** but weren’t sure which library would give you clean glyphs and full‑page fidelity? You’re not alone. In many office‑automation projects, turning a Word document into an image (think “convert word to image”) is the fastest way to embed content in a web page or an email without worrying about Office installations. + +Here’s the thing: the Aspose.Words for .NET API lets you **export word as png** with just a handful of lines, and you can even **set custom font** settings so the output looks exactly like the original. In this tutorial we’ll walk through the entire process—from installing the package to rendering the final PNG—so you can start converting docx to png today. + +## Convert docx to png – Overview and Prerequisites + +Before we dive into code, let’s make sure you have everything you need: + +* **.NET 6.0 or later** – the example targets .NET 6, but earlier versions work too. +* **Aspose.Words for .NET** – a NuGet package that provides `Document`, `TextOptions`, and `ImageRenderer`. +* A **sample DOCX** file you want to turn into an image (place it in a folder you can reference). +* Optional: a **custom TrueType font** (e.g., Times New Roman) if you want to override the document’s default font. + +If you’ve got those boxes checked, you’re ready to start converting word to image with confidence. + +## Install Aspose.Words for .NET (convert word to image) + +The first step is pulling the library into your project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.Words +``` + +That single command adds the latest stable version of Aspose.Words, which includes the `ImageRenderer` class we’ll need for **export docx as png**. After the restore finishes, you’re good to go. + +> **Pro tip:** If you’re using Visual Studio, you can also add the package via the NuGet Package Manager UI—just search for “Aspose.Words”. + +## Load the source document (convert docx to png) + +Now we’ll load the DOCX file. This is the point where the **convert docx to png** pipeline actually begins. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` represents the entire Word file in memory. The path can be absolute or relative; just make sure the file exists, otherwise you’ll hit a `FileNotFoundException`. + +## Configure text rendering options (set custom font) + +If your DOCX uses a font that isn’t installed on the target machine, the rendered PNG might look off. That’s why you often need to **set custom font** before exporting. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` tells the renderer to apply sub‑pixel hinting, which sharpens the edges of letters—especially important for high‑resolution PNGs. +* `FontInfo` forces every piece of text to be drawn with *Times New Roman* at 14 pt, regardless of what the original DOCX specifies. Feel free to replace the name with any font you have on the server. + +## Create an ImageRenderer (convert word to image) + +With the document and options ready, we instantiate `ImageRenderer`. This class does the heavy lifting of turning pages into bitmap images. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +A couple of notes: + +* The `using` block ensures the renderer releases native resources (like GDI handles) promptly. +* `RenderToFile` accepts a path and an `ImageFormat`. If you need all pages, you can loop over `renderer.PageCount` and call `RenderToFile` with a page‑specific filename. + +## Verify the output (export docx as png) + +After the code runs, you should see `hinted.png` in the folder you specified. Open it with any image viewer—does the text look crisp? If you used a custom font, you’ll notice the consistent typeface across the whole page. + +Here’s a quick visual reference (replace with your own screenshot when publishing): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – a PNG rendering of a Word page with Times New Roman font. + +If the image looks blurry, double‑check that `UseHinting` is set to `true` and that the DPI of the renderer (default 96) matches your needs. You can adjust DPI via `renderer.ImageOptions.Resolution = 300;` before calling `RenderToFile`. + +## Full, runnable program (export word as png) + +Putting everything together, here’s a self‑contained console app you can copy‑paste into `Program.cs` and run: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**What this program does:** + +1. Loads `input.docx`. +2. Forces every character to use *Times New Roman* at 14 pt with hinting enabled. +3. Renders the first page at 300 DPI, producing a high‑quality PNG. +4. Writes a friendly console message confirming success. + +Run it with `dotnet run` and you’ll have a perfectly rendered image ready for web display, PDF embedding, or any other scenario where you need to **convert docx to png** without the overhead of Office. + +## Common questions and edge‑case handling + +* **What if I need all pages?** + Loop over `renderer.PageCount` and call `RenderToFile` with a filename that includes the page number, e.g., `output_page_{i}.png`. + +* **Can I export to other image formats?** + Absolutely. Replace `ImageFormat.Png` with `ImageFormat.Jpeg`, `ImageFormat.Bmp`, or `ImageFormat.Tiff` depending on your downstream requirements. + +* **My document uses embedded fonts—do I still need `set custom font`?** + If the DOCX already embeds the fonts you want, you can skip the `Font` property. The renderer will respect the embedded font automatically. + +* **How do I handle large documents without exhausting memory?** + Process one page at a time inside the `using` block, and dispose of each generated bitmap after saving. This keeps the memory footprint low. + +* **Is there a licensing concern?** + Aspose.Words offers a free trial with a watermark. For production use, purchase a license and call `License license = new License(); license.SetLicense("Aspose.Words.lic");` before loading the document. + +## Conclusion + +You now have a complete, production‑ready recipe to **convert docx to png** using C#. The guide covered everything from installing Aspose.Words (the go‑to library for **convert word to image**) to configuring `TextOptions` for a **set custom font** scenario, and finally rendering the image file. With this knowledge you can **export word as png**, embed it in web pages, generate thumbnails, or feed it into any image‑processing pipeline. + +What’s next? Try exporting multiple pages, experiment with different DPI settings, or switch the output format to + + +## Related Tutorials + +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Convert HTML to PNG in .NET with Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/english/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/english/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..a3b0bdcea --- /dev/null +++ b/html/english/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-05-25 +description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: en +og_description: Convert Word document to PNG with a few lines of C#. Follow this guide + to save Word document as PNG efficiently. +og_title: Convert Word Document to PNG – Step‑by‑Step Guide +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Convert Word Document to PNG – Complete Programming Guide +url: /net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convert Word Document to PNG – Complete Programming Guide + +Ever needed to **convert Word document to PNG** but weren't sure which library or settings to pick? You're not alone. In many office‑automation projects you end up needing a raster image of a `.docx` file—maybe for thumbnail previews, email embeds, or quick visual checks. The good news is that with a handful of lines of C# you can also **save Word document as PNG** without any manual fiddling. + +In this tutorial we’ll walk through a real‑world example using Aspose.Words for .NET. We'll cover everything from loading the source file, tweaking image rendering options for crisp output, to writing the PNG file to disk. By the end you’ll have a reusable method that you can drop into any .NET project. + +## Prerequisites + +Before we dive in, make sure you have: + +- **.NET 6.0** or later (the code works on .NET Framework 4.6+ as well). +- A **licensed** copy of **Aspose.Words for .NET** (the free trial works for testing). +- Visual Studio 2022 or any IDE you prefer. +- A sample Word file (`input.docx`) placed in a folder you can reference. + +No other third‑party packages are required. + +## Step 1: Set Up the Project and Import Namespaces + +First things first, create a new console app (or integrate into an existing service). Then add the Aspose.Words NuGet package: + +```bash +dotnet add package Aspose.Words +``` + +Now bring the needed namespaces into your file: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** If you’re targeting .NET 6+, you can use the top‑level statements feature and skip the `Main` method boilerplate. + +## Step 2: Load the Source Word Document + +The first real step in the conversion pipeline is to load the document you want to rasterize. Aspose.Words supports `.doc`, `.docx`, `.rtf`, and many other formats, so you’re not limited to the classic Office file types. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Why do we check `PageCount`? Because a zero‑page document would produce an empty PNG, which is often a silent failure that trips up downstream code. + +## Step 3: Configure Image Rendering Options + +When converting vector‑based Word content to a bitmap, you’ll notice jagged edges if you stick with the defaults. Enabling antialiasing smooths those lines, especially for charts, shapes, and text at small sizes. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +You might wonder, “Do I always need antialiasing?” Typically, yes, unless you’re generating tiny icons where performance outweighs visual fidelity. + +## Step 4: Render Each Page to a Separate PNG File + +A Word document can contain multiple pages. Aspose.Words lets you render the whole document as a single image, but the more common pattern is to generate one PNG per page. Below we’ll loop through the pages, rendering each to its own file. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Why use a `using` block?** The `ImageRenderer` holds unmanaged resources (like GDI+ handles). Wrapping it in `using` guarantees proper cleanup, preventing memory leaks in long‑running services. + +### Edge Cases & Tips + +- **Large Documents:** Rendering a 200‑page doc can be memory‑intensive. Consider rendering in batches or increasing the `MaxMemoryUsage` property if you run into `OutOfMemoryException`. +- **Transparent Backgrounds:** If your Word file contains transparent shapes and you want a transparent PNG, set `BackgroundColor = Color.Transparent` in `ImageRenderingOptions`. +- **Scaling:** To produce a thumbnail, adjust `ImageSaveOptions` (e.g., `Resolution = 72`) or resize the resulting PNG with `System.Drawing`. + +## Step 5: Wrap It Up in a Reusable Method + +Having the conversion logic in a single method makes it easy to call from anywhere—be it a web API, a background worker, or a desktop UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +You can now call: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +And the method will **save Word document as PNG** files named `page_1.png`, `page_2.png`, etc. + +## Expected Output + +Running the sample code on a three‑page `input.docx` will produce: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Open any of those PNGs in an image viewer—you should see a crisp, antialiased render of the corresponding Word page. No extra borders, no distortion, just a faithful bitmap snapshot. + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank PNG** | Document didn't load (`doc` is null) or page index out of range. | Verify the file path and ensure `doc.PageCount` > 0 before rendering. | +| **Jagged Text** | Antialiasing disabled or DPI too low. | Set `UseAntialiasing = true` and optionally increase `Resolution` (e.g., 150 DPI). | +| **Out‑of‑Memory** | Rendering very large pages at high DPI in a tight loop. | Render one page at a time (as shown) and dispose the `ImageRenderer` promptly. | +| **Incorrect Colors** | Background color defaults to white; transparent docs appear white. | Set `BackgroundColor = Color.Transparent` when needed. | + +## Conclusion + +We’ve just demonstrated a clean, production‑ready way to **convert Word document to PNG** and, by extension, **save Word document as PNG** using Aspose.Words for .NET. The steps are straightforward: + +1. Load the `.docx` with `Document`. +2. Tune `ImageRenderingOptions` (antialiasing, DPI, background). +3. Loop through pages and call `ImageRenderer.RenderToFile`. + +Armed with the reusable `ConvertWordToPng` method, you can now integrate image‑based previews into any C# application—whether it’s a web service that generates thumbnails for uploaded contracts, a desktop tool that archives reports as PNG, or a batch job that prepares assets for a content‑management system. + +**What’s next?** Try experimenting with other image formats (`ImageFormat.Jpeg`, `Bmp`) or explore `PdfSaveOptions` if you need a PDF alongside the PNGs. You might also look into adding watermarks or resizing the output on the fly. + +Happy coding, and feel free to drop a comment if you hit any snags! + + +## Related Tutorials + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/english/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..74c118da7 --- /dev/null +++ b/html/english/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,311 @@ +--- +category: general +date: 2026-05-25 +description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: en +og_description: Create PNG from HTML with Aspose.HTML. This guide shows how to render + HTML to PNG, convert HTML to PNG and properly handle resources. +og_title: Create PNG from HTML – Complete Programming Tutorial +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Create PNG from HTML – Full Step‑by‑Step Guide +url: /net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Create PNG from HTML – Full Step‑by‑Step Guide + +Ever wondered how to **create PNG from HTML** without juggling a bunch of third‑party tools? You're not the only one. Whether you're building an email preview generator, a reporting dashboard, or a thumbnail service, turning HTML markup into a crisp PNG image is a common need. In this tutorial we’ll walk through a complete, runnable example that **renders HTML to PNG**, shows you how to **convert HTML to PNG** with Aspose.HTML, and even explains **how to handle resources** like images, CSS, and fonts. + +We'll start with a tiny HTML string, set up a custom `ResourceHandler` that writes every external asset to disk, and finish by saving a perfect PNG file. By the end you’ll have a self‑contained solution you can drop into any .NET project. + +## What You’ll Learn + +- How to create an `HTMLDocument` from a string or file. +- How to implement a custom `ResourceHandler` so that every resource the renderer requests gets saved locally. +- The exact steps to **render HTML to PNG** using `ImageRenderer`. +- Common pitfalls (missing fonts, relative URLs) and the best way **to handle resources**. +- How to verify the output and tweak image size or format if needed. + +### Prerequisites + +- .NET 6.0 or later (the code also works on .NET Framework 4.7+). +- A reference to the **Aspose.HTML for .NET** NuGet package. +- Basic familiarity with C# and asynchronous streams (not required, but helpful). + +No external tools, no headless browsers—just plain C# and Aspose.HTML. + +--- + +## Create PNG from HTML – Overview + +Below is the **complete, ready‑to‑run code**. Feel free to copy‑paste it into a console app, adjust the `YOUR_DIRECTORY` placeholder, and hit F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Replace `"YOUR_DIRECTORY"` with an absolute path (e.g., `Path.GetFullPath("./output")`) to avoid surprises when the app runs from a different working directory. + +--- + +## Step 1: Prepare the HTML Document + +The first thing we do is wrap a raw HTML string in an `HTMLDocument`. Aspose.HTML treats this object as a fully‑featured DOM, meaning it will resolve `` tags, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +You can replace the string with any HTML you like—perhaps the output of a Razor view or a Markdown‑to‑HTML conversion. The important part is that the document knows about the custom handler we’ll pass later. + +--- + +## Image Rendering Options – Fine‑Tuning Antialiasing and Font Hinting + +Plain rendering works, but sometimes you need that extra polish: smoother edges, clearer text, or correct sub‑pixel positioning. This is where **image rendering options** shine. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*What’s happening under the hood?* +`ImageRenderingOptions` tells the renderer which font to use and whether to smooth geometric shapes. `TextOptions` focuses on how glyphs are rasterized—hinting aligns characters to the pixel grid, which is especially useful at small sizes. + +--- + +## Render HTML with Options – Applying Rendering Settings + +With the document and options prepared, we can finally **render HTML with options**. We’ll produce three files: + +1. A basic PNG (no extra options). +2. An antialiased PNG. +3. A hint‑enabled PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Notice how each `ImageRenderer` receives a different second argument: the plain handler, the antialiasing settings, and the hinting settings. This pattern lets you swap configurations without changing any other code—perfect for unit tests or feature flags. + +> **Common question:** *“Can I combine antialiasing and hinting in one pass?”* +> Absolutely. Just create a single options object that sets both `UseAntialiasing` and `UseHinting` to `true`, then pass it to `ImageRenderer`. + +--- + +## Verify the Output – What to Expect + +After you run the program, open the three PNG files: + +- **out.png** – a faithful snapshot of the HTML, but edges might look a bit jagged. +- **img.png** – smoother lines and curves thanks to antialiasing. +- **txt.png** – text appears sharper, especially at 12 pt Verdana, because of font hinting. + +If any of the images look off, double‑check that `YOUR_DIRECTORY/Resources` contains the referenced `logo.png`. Missing assets will cause the renderer to fall back to a placeholder, which can look odd. + +--- + +## Full Working Example + +Below is the entire program, ready to copy‑paste into a console app. It includes all `using` directives and a minimal `Main` method. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Run the program, inspect the three PNGs, and you’ll see exactly how each option influences the final picture. Feel free to experiment—change the font, toggle `UseAntialiasing`, or add more CSS rules. The sky’s the limit when you **convert HTML to image** on demand. + +--- + +## Next Steps & Related Topics + +- **Batch processing:** Loop over a collection of HTML snippets and generate thumbnails for each. +- **PDF conversion:** Combine the PNGs with a PDF library (e.g., iTextSharp) to produce multi‑page documents. +- **Dynamic resources:** Extend `MyHandler` to fetch images from a CDN or a database instead of the file system. +- **Performance tuning:** Cache rendered images when the source HTML hasn’t changed; this reduces CPU load dramatically. + +If you’re interested in deeper customisation, look into the `RenderTransform` property of `ImageRenderer` for rotation or scaling, or explore the `CssEngine` settings for advanced layout control. + +--- + +## Conclusion + +We’ve covered everything you need to **render HTML to PNG** in C#: a custom resource handler, loading markup, configuring *image rendering options*, and finally **rendering HTML with options** that give you antialiasing and font hinting. The complete, runnable example should work out of the box, and the modular design makes it easy to adapt to larger projects. + +Give it a try, tweak the settings, and let the rendered images do the talking in your next email campaign, dashboard, or reporting tool. Got + + +## Related Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/french/net/generate-jpg-and-png-images/_index.md index 59ca2dad1..e9d7c7552 100644 --- a/html/french/net/generate-jpg-and-png-images/_index.md +++ b/html/french/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Apprenez à utiliser Aspose.HTML pour .NET pour manipuler des documents HTML, co Apprenez à activer l'anticrénelage pour améliorer la qualité des images PNG/JPG générées à partir de documents DOCX avec Aspose.HTML. ### [Convertir docx en png – créer une archive zip tutoriel C#](./convert-docx-to-png-create-zip-archive-c-tutorial/) Apprenez à convertir des fichiers DOCX en images PNG et à les compresser dans une archive ZIP avec C#. +### [Créer un PNG à partir de HTML – Guide complet étape par étape](./create-png-from-html-full-step-by-step-guide/) +Apprenez à convertir du HTML en image PNG avec un guide complet, étape par étape, incluant le code C# et les meilleures pratiques. +### [Créer un PNG à partir de HTML avec Aspose – rendre le HTML en PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Apprenez à convertir du HTML en image PNG en utilisant Aspose, avec un guide étape par étape. +### [Convertir un document Word en PNG – Guide complet de programmation](./convert-word-document-to-png-complete-programming-guide/) +Apprenez à convertir un document Word en image PNG avec un guide complet, incluant le code C# et les meilleures pratiques. +### [Convertir docx en png en C# – Guide complet étape par étape](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Apprenez à convertir des fichiers DOCX en images PNG en C# avec un guide complet, étape par étape. +### [Rendu HTML en PNG – Guide complet avec gestionnaires personnalisés et options](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Apprenez à rendre du HTML en PNG en utilisant des gestionnaires personnalisés et diverses options avancées. ## Conclusion diff --git a/html/french/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/french/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..b55ad581b --- /dev/null +++ b/html/french/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-05-25 +description: Convertir docx en png rapidement avec C#. Apprenez comment convertir + Word en image, exporter Word en png et définir une police personnalisée dans un + seul tutoriel. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: fr +og_description: Convertir un docx en png avec C#. Ce guide vous montre comment exporter + Word en png et définir une police personnalisée pour des résultats parfaits. +og_title: Convertir docx en png en C# – Guide complet de programmation +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Convertir docx en png en C# – Guide complet étape par étape +url: /fr/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convertir docx en png en C# – Guide complet étape par étape + +Vous avez déjà eu besoin de **convert docx to png** mais vous n'étiez pas sûr de la bibliothèque qui vous fournirait des glyphes nets et une fidélité pleine page ? Vous n'êtes pas seul. Dans de nombreux projets d'automatisation de bureau, transformer un document Word en image (pensez à « convert word to image ») est le moyen le plus rapide d'intégrer du contenu dans une page web ou un e‑mail sans se soucier des installations d'Office. + +Voici le point : l'API Aspose.Words for .NET vous permet de **export word as png** en quelques lignes seulement, et vous pouvez même configurer les paramètres **set custom font** afin que le résultat ressemble exactement à l'original. Dans ce tutoriel, nous parcourrons l'ensemble du processus — de l'installation du package au rendu du PNG final — afin que vous puissiez commencer à convertir docx en png dès aujourd'hui. + +## Convertir docx en png – Vue d'ensemble et prérequis + +Avant de plonger dans le code, assurons‑nous que vous avez tout ce qu'il faut : + +* **.NET 6.0 or later** – l'exemple cible .NET 6, mais les versions antérieures fonctionnent également. +* **Aspose.Words for .NET** – un package NuGet qui fournit `Document`, `TextOptions` et `ImageRenderer`. +* Un fichier **sample DOCX** que vous souhaitez transformer en image (placez‑le dans un dossier que vous pouvez référencer). +* Optionnel : une **custom TrueType font** (p. ex., Times New Roman) si vous voulez remplacer la police par défaut du document. + +Si vous avez coché toutes ces cases, vous êtes prêt à commencer à convertir word to image en toute confiance. + +## Installer Aspose.Words for .NET (convert word to image) + +La première étape consiste à récupérer la bibliothèque dans votre projet. Ouvrez un terminal dans le dossier de votre solution et exécutez : + +```bash +dotnet add package Aspose.Words +``` + +Cette unique commande ajoute la dernière version stable d'Aspose.Words, qui inclut la classe `ImageRenderer` dont nous aurons besoin pour **export docx as png**. Une fois la restauration terminée, vous êtes prêt à démarrer. + +> **Astuce :** Si vous utilisez Visual Studio, vous pouvez également ajouter le package via l'interface du Gestionnaire de packages NuGet — il suffit de rechercher « Aspose.Words ». + +## Charger le document source (convert docx to png) + +Nous allons maintenant charger le fichier DOCX. C'est à ce moment que le pipeline **convert docx to png** commence réellement. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +## Configurer les options de rendu du texte (set custom font) + +Si votre DOCX utilise une police qui n'est pas installée sur la machine cible, le PNG rendu peut sembler incorrect. C’est pourquoi il faut souvent **set custom font** avant l'exportation. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` indique au moteur de rendu d'appliquer le hinting sous‑pixel, ce qui affine les contours des lettres — particulièrement important pour les PNG haute résolution. +* `FontInfo` force chaque morceau de texte à être dessiné avec *Times New Roman* en 14 pt, quel que soit ce que le DOCX original spécifie. N'hésitez pas à remplacer le nom par n'importe quelle police disponible sur le serveur. + +## Créer un ImageRenderer (convert word to image) + +Avec le document et les options prêts, nous instancions `ImageRenderer`. Cette classe effectue le travail lourd de conversion des pages en images bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Quelques remarques : + +* Le bloc `using` garantit que le renderer libère rapidement les ressources natives (comme les handles GDI). +* `RenderToFile` accepte un chemin et un `ImageFormat`. Si vous avez besoin de toutes les pages, vous pouvez parcourir `renderer.PageCount` et appeler `RenderToFile` avec un nom de fichier spécifique à chaque page. + +## Vérifier la sortie (export docx as png) + +Après l'exécution du code, vous devriez voir `hinted.png` dans le dossier que vous avez indiqué. Ouvrez-le avec n'importe quel visualiseur d'images — le texte apparaît‑il net ? Si vous avez utilisé une police personnalisée, vous remarquerez la cohérence de la police sur toute la page. + +Voici une référence visuelle rapide (remplacez par votre propre capture d'écran lors de la publication) : + +![exemple de sortie convert docx to png](https://example.com/assets/convert-docx-to-png.png "exemple de sortie convert docx to png") + +*Texte alternatif :* **convert docx to png example output** – un rendu PNG d'une page Word avec la police Times New Roman. + +Si l'image apparaît floue, vérifiez que `UseHinting` est réglé sur `true` et que le DPI du renderer (par défaut 96) correspond à vos besoins. Vous pouvez ajuster le DPI via `renderer.ImageOptions.Resolution = 300;` avant d'appeler `RenderToFile`. + +## Programme complet et exécutable (export word as png) + +En rassemblant le tout, voici une application console autonome que vous pouvez copier‑coller dans `Program.cs` et exécuter : + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Ce que fait ce programme :** + +1. Charge `input.docx`. +2. Force chaque caractère à utiliser *Times New Roman* en 14 pt avec le hinting activé. +3. Rend la première page à 300 DPI, produisant un PNG de haute qualité. +4. Écrit un message convivial dans la console confirmant le succès. + +Exécutez‑le avec `dotnet run` et vous obtiendrez une image parfaitement rendue prête pour l'affichage web, l'intégration PDF, ou tout autre scénario où vous devez **convert docx to png** sans la surcharge d'Office. + +## Questions fréquentes et gestion des cas particuliers + +* **Et si j'ai besoin de toutes les pages ?** + Parcourez `renderer.PageCount` et appelez `RenderToFile` avec un nom de fichier incluant le numéro de page, par ex., `output_page_{i}.png`. + +* **Puis‑je exporter vers d'autres formats d'image ?** + Absolument. Remplacez `ImageFormat.Png` par `ImageFormat.Jpeg`, `ImageFormat.Bmp` ou `ImageFormat.Tiff` selon vos besoins en aval. + +* **Mon document utilise des polices incorporées — dois‑je toujours `set custom font` ?** + Si le DOCX intègre déjà les polices souhaitées, vous pouvez ignorer la propriété `Font`. Le renderer respectera automatiquement la police incorporée. + +* **Comment gérer de gros documents sans épuiser la mémoire ?** + Traitez une page à la fois à l'intérieur du bloc `using`, et libérez chaque bitmap généré après l'enregistrement. Cela maintient une faible empreinte mémoire. + +* **Y a‑t‑il un problème de licence ?** + Aspose.Words propose un essai gratuit avec filigrane. Pour une utilisation en production, achetez une licence et appelez `License license = new License(); license.SetLicense("Aspose.Words.lic");` avant de charger le document. + +## Conclusion + +Vous disposez maintenant d'une recette complète, prête pour la production, pour **convert docx to png** avec C#. Le guide a couvert tout, depuis l'installation d'Aspose.Words (la bibliothèque de référence pour **convert word to image**) jusqu'à la configuration de `TextOptions` pour un scénario **set custom font**, et enfin le rendu du fichier image. Avec ces connaissances, vous pouvez **export word as png**, l'intégrer dans des pages web, générer des miniatures, ou le transmettre à n'importe quel pipeline de traitement d'images. + +Et ensuite ? Essayez d'exporter plusieurs pages, expérimentez différents réglages DPI, ou changez le format de sortie en + +## Tutoriels associés + +- [Comment activer l'anticrénelage lors de la conversion de DOCX en PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Convertir HTML en PNG avec .NET et Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – créer une archive zip tutoriel C#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/french/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/french/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..a7d558f4c --- /dev/null +++ b/html/french/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Apprenez à convertir rapidement un document Word en PNG. Ce tutoriel + montre également comment enregistrer un document Word au format PNG avec lissage. +draft: false +keywords: +- convert word document to png +- save word document as png +language: fr +og_description: Convertir un document Word en PNG avec quelques lignes de C#. Suivez + ce guide pour enregistrer un document Word au format PNG efficacement. +og_title: Convertir un document Word en PNG – Guide étape par étape +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Convertir un document Word en PNG – Guide complet de programmation +url: /fr/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convertir un document Word en PNG – Guide complet de programmation + +Vous avez déjà eu besoin de **convertir un document Word en PNG** sans savoir quelle bibliothèque ou quels paramètres choisir ? Vous n'êtes pas seul. Dans de nombreux projets d'automatisation de bureau, il faut parfois obtenir une image raster d'un fichier `.docx` — par exemple pour des aperçus miniatures, des incrustations dans des e‑mails ou des vérifications visuelles rapides. La bonne nouvelle, c’est qu’avec quelques lignes de C# vous pouvez également **enregistrer un document Word en PNG** sans aucune manipulation manuelle. + +Dans ce tutoriel, nous allons parcourir un exemple réel avec Aspose.Words for .NET. Nous couvrirons tout, du chargement du fichier source, à l’ajustement des options de rendu d’image pour obtenir un résultat net, jusqu’à l’écriture du fichier PNG sur le disque. À la fin, vous disposerez d’une méthode réutilisable que vous pourrez intégrer à n’importe quel projet .NET. + +## Prérequis + +Avant de commencer, assurez‑vous d’avoir : + +- **.NET 6.0** ou supérieur (le code fonctionne également avec .NET Framework 4.6+). +- Une copie **licenciée** d’**Aspose.Words for .NET** (l’essai gratuit suffit pour les tests). +- Visual Studio 2022 ou tout autre IDE de votre choix. +- Un fichier Word d’exemple (`input.docx`) placé dans un dossier accessible. + +Aucun autre package tiers n’est requis. + +## Étape 1 : Configurer le projet et importer les espaces de noms + +Tout d’abord, créez une nouvelle application console (ou intégrez le code dans un service existant). Puis ajoutez le package NuGet Aspose.Words : + +```bash +dotnet add package Aspose.Words +``` + +Ensuite, importez les espaces de noms nécessaires dans votre fichier : + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Astuce :** Si vous ciblez .NET 6+, vous pouvez utiliser la fonctionnalité des déclarations de niveau supérieur et ignorer le squelette de la méthode `Main`. + +## Étape 2 : Charger le document Word source + +La première vraie étape du pipeline de conversion consiste à charger le document que vous souhaitez rasteriser. Aspose.Words prend en charge les formats `.doc`, `.docx`, `.rtf` et bien d’autres, vous n’êtes donc pas limité aux types de fichiers Office classiques. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Pourquoi vérifions‑nous `PageCount` ? Parce qu’un document à zéro page produirait un PNG vide, ce qui constitue souvent un échec silencieux qui perturbe le code en aval. + +## Étape 3 : Configurer les options de rendu d’image + +Lors de la conversion de contenu Word vectoriel en bitmap, vous remarquerez des bords irréguliers si vous conservez les paramètres par défaut. Activer l’antialiasing lisse ces lignes, notamment pour les graphiques, les formes et le texte à petite taille. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Vous vous demandez peut‑être : « Dois‑je toujours activer l’antialiasing ? » En général, oui, sauf si vous générez de toutes petites icônes où les performances priment sur la fidélité visuelle. + +## Étape 4 : Rendre chaque page dans un fichier PNG distinct + +Un document Word peut contenir plusieurs pages. Aspose.Words vous permet de rendre tout le document en une seule image, mais le schéma le plus courant consiste à générer un PNG par page. Ci‑dessous, nous parcourons les pages et rendons chacune dans son propre fichier. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Pourquoi utiliser un bloc `using` ?** `ImageRenderer` détient des ressources non gérées (comme les handles GDI+). L’envelopper dans un `using` garantit un nettoyage correct, évitant les fuites de mémoire dans les services de longue durée. + +### Cas limites et astuces + +- **Documents volumineux :** Rendre un document de 200 pages peut être gourmand en mémoire. Envisagez de rendre par lots ou d’augmenter la propriété `MaxMemoryUsage` si vous rencontrez une `OutOfMemoryException`. +- **Arrière‑plans transparents :** Si votre fichier Word contient des formes transparentes et que vous souhaitez un PNG transparent, définissez `BackgroundColor = Color.Transparent` dans `ImageRenderingOptions`. +- **Mise à l’échelle :** Pour produire une vignette, ajustez `ImageSaveOptions` (par ex., `Resolution = 72`) ou redimensionnez le PNG résultant avec `System.Drawing`. + +## Étape 5 : Encapsuler le tout dans une méthode réutilisable + +Avoir la logique de conversion dans une seule méthode facilite son appel depuis n’importe où — une API web, un worker en arrière‑plan ou une interface desktop. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Vous pouvez maintenant appeler : + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Et la méthode **enregistrera le document Word en PNG** sous les noms `page_1.png`, `page_2.png`, etc. + +## Résultat attendu + +L’exécution du code d’exemple sur un `input.docx` de trois pages produira : + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Ouvrez l’un de ces PNG dans un visualiseur d’images — vous devriez voir un rendu net, antialiasé de la page Word correspondante. Aucun bord supplémentaire, aucune distorsion, juste un instantané bitmap fidèle. + +## Problèmes courants et comment les éviter + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| **PNG blanc** | Le document n’a pas été chargé (`doc` est nul) ou l’indice de page est hors limites. | Vérifiez le chemin du fichier et assurez‑vous que `doc.PageCount` > 0 avant le rendu. | +| **Texte pixellisé** | Antialiasing désactivé ou DPI trop faible. | Définissez `UseAntialiasing = true` et augmentez éventuellement `Resolution` (ex. 150 DPI). | +| **Out‑of‑Memory** | Rendu de pages très grandes à haute résolution dans une boucle serrée. | Rendre une page à la fois (comme montré) et libérer rapidement le `ImageRenderer`. | +| **Couleurs incorrectes** | La couleur d’arrière‑plan par défaut est blanche ; les documents transparents apparaissent blancs. | Définissez `BackgroundColor = Color.Transparent` quand c’est nécessaire. | + +## Conclusion + +Nous venons de démontrer une méthode propre et prête pour la production afin de **convertir un document Word en PNG** et, par extension, **enregistrer un document Word en PNG** avec Aspose.Words for .NET. Les étapes sont simples : + +1. Charger le `.docx` avec `Document`. +2. Ajuster `ImageRenderingOptions` (antialiasing, DPI, arrière‑plan). +3. Parcourir les pages et appeler `ImageRenderer.RenderToFile`. + +Grâce à la méthode réutilisable `ConvertWordToPng`, vous pouvez désormais intégrer des aperçus basés sur image dans n’importe quelle application C# — qu’il s’agisse d’un service web qui génère des miniatures pour des contrats téléchargés, d’un outil desktop qui archive des rapports en PNG, ou d’un job batch qui prépare des actifs pour un système de gestion de contenu. + +**Et après ?** Essayez d’autres formats d’image (`ImageFormat.Jpeg`, `Bmp`) ou explorez `PdfSaveOptions` si vous avez besoin d’un PDF en plus des PNG. Vous pouvez également ajouter des filigranes ou redimensionner la sortie à la volée. + +Bon codage, et n’hésitez pas à laisser un commentaire si vous rencontrez des difficultés ! + +## Tutoriels associés + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/french/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..6cebcbc14 --- /dev/null +++ b/html/french/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Créez rapidement un PNG à partir de HTML avec Aspose.HTML. Apprenez à + rendre du HTML en PNG, à convertir du HTML en PNG et à gérer les ressources efficacement. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: fr +og_description: Créer un PNG à partir de HTML avec Aspose.HTML. Ce guide montre comment + rendre le HTML en PNG, convertir le HTML en PNG et gérer correctement les ressources. +og_title: Créer un PNG à partir de HTML – Tutoriel complet de programmation +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Créer un PNG à partir de HTML – Guide complet étape par étape +url: /fr/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Créer un PNG à partir de HTML – Guide complet étape par étape + +Vous vous êtes déjà demandé comment **créer un PNG à partir de HTML** sans jongler avec une multitude d'outils tiers ? Vous n'êtes pas le seul. Que vous construisiez un générateur d'aperçu d'e‑mail, un tableau de bord de reporting ou un service de vignettes, transformer du code HTML en une image PNG nette est un besoin fréquent. Dans ce tutoriel, nous parcourrons un exemple complet et exécutable qui **rend le HTML en PNG**, vous montre comment **convertir du HTML en PNG** avec Aspose.HTML, et explique même **comment gérer les ressources** telles que les images, le CSS et les polices. + +Nous commencerons avec une petite chaîne HTML, configurerons un `ResourceHandler` personnalisé qui écrit chaque ressource externe sur le disque, et terminerons en enregistrant un fichier PNG parfait. À la fin, vous disposerez d’une solution autonome que vous pourrez intégrer à n’importe quel projet .NET. + +## Ce que vous apprendrez + +- Comment créer un `HTMLDocument` à partir d’une chaîne ou d’un fichier. +- Comment implémenter un `ResourceHandler` personnalisé afin que chaque ressource demandée par le moteur de rendu soit enregistrée localement. +- Les étapes exactes pour **rendre le HTML en PNG** à l’aide de `ImageRenderer`. +- Les pièges courants (polices manquantes, URL relatives) et la meilleure façon **de gérer les ressources**. +- Comment vérifier la sortie et ajuster la taille ou le format de l’image si nécessaire. + +### Prérequis + +- .NET 6.0 ou ultérieur (le code fonctionne également sur .NET Framework 4.7+). +- Une référence au package NuGet **Aspose.HTML for .NET**. +- Une connaissance de base de C# et des flux asynchrones (non obligatoire, mais utile). + +Pas d’outils externes, pas de navigateurs sans tête — juste du C# pur et Aspose.HTML. + +--- + +## Créer un PNG à partir de HTML – Vue d’ensemble + +Voici le code **complet, prêt à l’exécution**. N’hésitez pas à le copier‑coller dans une application console, à ajuster le placeholder `YOUR_DIRECTORY`, et à appuyer sur F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Astuce :** Remplacez `"YOUR_DIRECTORY"` par un chemin absolu (par ex., `Path.GetFullPath("./output")`) pour éviter les surprises lorsque l’application s’exécute depuis un répertoire de travail différent. + +--- + +## Étape 1 : Préparer le document HTML + +La première chose que nous faisons est d’envelopper une chaîne HTML brute dans un `HTMLDocument`. Aspose.HTML considère cet objet comme un DOM complet, ce qui signifie qu’il résoudra les balises ``, les blocs ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Vous pouvez remplacer la chaîne par n’importe quel HTML — peut‑être le rendu d’une vue Razor ou une conversion Markdown‑vers‑HTML. L’important est que le document connaisse le gestionnaire personnalisé que nous passerons plus tard. + +--- + +## Options de rendu d’image – Ajustement fin de l’antialiasing et du hinting de police + +Le rendu simple fonctionne, mais parfois vous avez besoin d’un petit plus : des bords plus lisses, du texte plus net, ou un positionnement sous‑pixel correct. C’est là que les **options de rendu d’image** entrent en jeu. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Que se passe‑t‑il en coulisses ?* +`ImageRenderingOptions` indique au moteur quelles polices utiliser et s’il faut lisser les formes géométriques. `TextOptions` se concentre sur la rasterisation des glyphes — le hinting aligne les caractères sur la grille de pixels, ce qui est particulièrement utile à petite taille. + +--- + +## Rendu HTML avec options – Application des paramètres de rendu + +Avec le document et les options prêts, nous pouvons enfin **rendre du HTML avec des options**. Nous allons produire trois fichiers : + +1. Un PNG de base (sans options supplémentaires). +2. Un PNG antialiasé. +3. Un PNG avec hinting activé. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Remarquez que chaque `ImageRenderer` reçoit un second argument différent : le gestionnaire simple, les paramètres d’antialiasing, et les paramètres de hinting. Ce schéma vous permet d’échanger les configurations sans modifier le reste du code — idéal pour les tests unitaires ou les drapeaux de fonctionnalité. + +> **Question fréquente :** *« Puis‑je combiner antialiasing et hinting en une seule passe ? »* +> Absolument. Créez simplement un objet d’options qui définit à la fois `UseAntialiasing` et `UseHinting` sur `true`, puis passez‑le à `ImageRenderer`. + +--- + +## Vérifier la sortie – À quoi s’attendre + +Après avoir exécuté le programme, ouvrez les trois fichiers PNG : + +- **out.png** – une capture fidèle du HTML, mais les bords peuvent sembler un peu dentelés. +- **img.png** – lignes et courbes plus lisses grâce à l’antialiasing. +- **txt.png** – le texte apparaît plus net, surtout en Verdana 12 pt, grâce au hinting de police. + +Si l’une des images semble incorrecte, vérifiez que `YOUR_DIRECTORY/Resources` contient le `logo.png` référencé. Des ressources manquantes feront que le moteur utilisera un substitut, ce qui peut paraître étrange. + +--- + +## Exemple complet fonctionnel + +Voici le programme complet, prêt à être copié‑collé dans une application console. Il inclut toutes les directives `using` et une méthode `Main` minimale. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Exécutez le programme, examinez les trois PNG, et vous verrez exactement comment chaque option influence l’image finale. N’hésitez pas à expérimenter — changez la police, basculez `UseAntialiasing`, ou ajoutez davantage de règles CSS. Le ciel est la limite lorsque vous **convertissez du HTML en image** à la demande. + +--- + +## Prochaines étapes & sujets connexes + +- **Traitement par lots** : bouclez sur une collection d’extraits HTML et générez des miniatures pour chacun. +- **Conversion PDF** : combinez les PNG avec une bibliothèque PDF (par ex. iTextSharp) pour produire des documents multi‑pages. +- **Ressources dynamiques** : étendez `MyHandler` pour récupérer des images depuis un CDN ou une base de données au lieu du système de fichiers. +- **Optimisation des performances** : mettez en cache les images rendues lorsque le HTML source n’a pas changé ; cela réduit considérablement la charge CPU. + +Si vous souhaitez aller plus loin, explorez la propriété `RenderTransform` de `ImageRenderer` pour la rotation ou le redimensionnement, ou les paramètres du `CssEngine` pour un contrôle avancé de la mise en page. + +--- + +## Conclusion + +Nous avons couvert tout ce qu’il faut pour **rendre du HTML en PNG** en C# : un gestionnaire de ressources personnalisé, le chargement du markup, la configuration des *options de rendu d’image*, et enfin **rendre du HTML avec des options** qui vous offrent antialiasing et hinting de police. L’exemple complet, exécutable immédiatement, devrait fonctionner dès le départ, et son architecture modulaire le rend facile à adapter à des projets plus importants. + +Essayez, ajustez les paramètres, et laissez les images rendues parler d’elles‑mêmes dans votre prochaine campagne email, tableau de bord ou outil de reporting. Got + + +## Tutoriels associés + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/german/net/generate-jpg-and-png-images/_index.md index 8c24c4537..867fa7f7d 100644 --- a/html/german/net/generate-jpg-and-png-images/_index.md +++ b/html/german/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,14 @@ Erfahren Sie, wie Sie mit Aspose.HTML für .NET HTML-Dokumente bearbeiten, HTML Erfahren Sie, wie Sie beim Konvertieren von DOCX-Dokumenten in PNG oder JPG Antialiasing aktivieren, um hochwertige Bilder zu erhalten. ### [DOCX in PNG konvertieren – ZIP-Archiv erstellen C#‑Tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Erfahren Sie, wie Sie DOCX‑Dateien in PNG‑Bilder umwandeln und diese in ein ZIP‑Archiv packen – Schritt‑für‑Schritt‑Anleitung in C#. +### [DOCX in PNG konvertieren in C# – Vollständige Schritt‑für‑Schritt‑Anleitung](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Erfahren Sie, wie Sie DOCX‑Dateien in PNG‑Bilder mit C# konvertieren – umfassende Schritt‑für‑Schritt‑Anleitung. +### [PNG aus HTML mit Aspose erstellen – HTML zu PNG rendern](./create-png-from-html-with-aspose-render-html-to-png/) +Erfahren Sie, wie Sie mit Aspose.HTML HTML-Inhalte in PNG‑Bilder umwandeln und rendern. +### [Word-Dokument in PNG konvertieren – Vollständiger Programmierleitfaden](./convert-word-document-to-png-complete-programming-guide/) +Erfahren Sie, wie Sie Word‑Dokumente mit Aspose.HTML für .NET in PNG‑Bilder umwandeln – Schritt‑für‑Schritt‑Anleitung. +### [HTML zu PNG rendern – Vollständiger Leitfaden mit benutzerdefinierten Handlern & Optionen](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Erfahren Sie, wie Sie HTML mit benutzerdefinierten Handlern und Optionen in hochwertige PNG‑Bilder konvertieren – umfassende Schritt‑für‑Schritt‑Anleitung. ## Abschluss diff --git a/html/german/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/german/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..b66f05722 --- /dev/null +++ b/html/german/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-05-25 +description: Konvertiere docx schnell in PNG mit C#. Erfahre, wie du Word in ein Bild + umwandelst, Word als PNG exportierst und eine benutzerdefinierte Schriftart in einem + einzigen Tutorial festlegst. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: de +og_description: Konvertiere docx zu png mit C#. Dieser Leitfaden zeigt dir, wie du + Word als PNG exportierst und eine benutzerdefinierte Schriftart für perfekte Ergebnisse + festlegst. +og_title: DOCX zu PNG in C# konvertieren – Vollständiger Programmierleitfaden +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: DOCX in PNG in C# konvertieren – vollständige Schritt‑für‑Schritt‑Anleitung +url: /de/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# DOCX in PNG mit C# konvertieren – Vollständige Schritt‑für‑Schritt‑Anleitung + +Haben Sie schon einmal **docx in png konvertieren** müssen, waren sich aber nicht sicher, welche Bibliothek saubere Glyphen und eine vollständige Seiten‑Treue liefert? Sie sind nicht allein. In vielen Office‑Automatisierungsprojekten ist das Umwandeln eines Word‑Dokuments in ein Bild (denken Sie an „convert word to image“) der schnellste Weg, Inhalte in einer Webseite oder einer E‑Mail einzubetten, ohne sich um Office‑Installationen zu kümmern. + +Der springende Punkt: Die Aspose.Words for .NET API ermöglicht es Ihnen, **word als png zu exportieren** mit nur wenigen Zeilen Code, und Sie können sogar **custom font**‑Einstellungen festlegen, sodass das Ergebnis exakt wie das Original aussieht. In diesem Tutorial führen wir Sie durch den gesamten Prozess – von der Installation des Pakets bis zum Rendern der finalen PNG – sodass Sie noch heute **docx in png konvertieren** können. + +## Convert docx to png – Überblick und Voraussetzungen + +Bevor wir in den Code eintauchen, stellen Sie sicher, dass Sie alles Notwendige haben: + +* **.NET 6.0 oder höher** – das Beispiel zielt auf .NET 6 ab, aber frühere Versionen funktionieren ebenfalls. +* **Aspose.Words for .NET** – ein NuGet‑Paket, das `Document`, `TextOptions` und `ImageRenderer` bereitstellt. +* Eine **Beispiel‑DOCX**‑Datei, die Sie in ein Bild umwandeln möchten (legen Sie sie in einem Ordner ab, den Sie referenzieren können). +* Optional: ein **benutzerdefinierter TrueType‑Font** (z. B. Times New Roman), falls Sie die Standardschrift des Dokuments überschreiben möchten. + +Wenn Sie diese Punkte abgehakt haben, können Sie **word to image** mit Zuversicht starten. + +## Install Aspose.Words for .NET (convert word to image) + +Der erste Schritt besteht darin, die Bibliothek in Ihr Projekt zu holen. Öffnen Sie ein Terminal im Ordner Ihrer Lösung und führen Sie aus: + +```bash +dotnet add package Aspose.Words +``` + +Dieser einzelne Befehl fügt die neueste stabile Version von Aspose.Words hinzu, die die `ImageRenderer`‑Klasse enthält, die wir für **export docx as png** benötigen. Nachdem das Restore abgeschlossen ist, können Sie loslegen. + +> **Pro‑Tipp:** Wenn Sie Visual Studio verwenden, können Sie das Paket auch über den NuGet‑Package‑Manager‑UI hinzufügen – suchen Sie einfach nach „Aspose.Words“. + +## Load the source document (convert docx to png) + +Jetzt laden wir die DOCX‑Datei. An diesem Punkt beginnt die **convert docx to png**‑Pipeline tatsächlich. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` repräsentiert die gesamte Word‑Datei im Speicher. Der Pfad kann absolut oder relativ sein; stellen Sie nur sicher, dass die Datei existiert, sonst erhalten Sie eine `FileNotFoundException`. + +## Configure text rendering options (set custom font) + +Verwendet Ihr DOCX einen Font, der auf dem Zielrechner nicht installiert ist, kann das gerenderte PNG fehlerhaft aussehen. Deshalb müssen Sie häufig **set custom font** vor dem Export festlegen. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` weist den Renderer an, Sub‑Pixel‑Hinting anzuwenden, wodurch die Kanten von Buchstaben geschärft werden – besonders wichtig für hochauflösende PNGs. +* `FontInfo` zwingt jeden Textabschnitt, mit *Times New Roman* in 14 pt gezeichnet zu werden, unabhängig davon, was das ursprüngliche DOCX angibt. Ersetzen Sie den Namen gern durch einen Font, den Sie auf dem Server installiert haben. + +## Create an ImageRenderer (convert word to image) + +Mit Dokument und Optionen bereit, instanziieren wir `ImageRenderer`. Diese Klasse übernimmt das schwere Heben, indem sie Seiten in Bitmap‑Bilder umwandelt. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Ein paar Anmerkungen: + +* Der `using`‑Block sorgt dafür, dass der Renderer native Ressourcen (wie GDI‑Handles) sofort freigibt. +* `RenderToFile` akzeptiert einen Pfad und ein `ImageFormat`. Wenn Sie alle Seiten benötigen, können Sie über `renderer.PageCount` iterieren und `RenderToFile` mit einem seitenbezogenen Dateinamen aufrufen. + +## Verify the output (export docx as png) + +Nachdem der Code ausgeführt wurde, sollten Sie `hinted.png` im angegebenen Ordner sehen. Öffnen Sie die Datei mit einem Bildbetrachter – sieht der Text scharf aus? Wenn Sie einen benutzerdefinierten Font verwendet haben, werden Sie die einheitliche Schriftart über die gesamte Seite hinweg bemerken. + +Hier ein kurzer visueller Hinweis (ersetzen Sie ihn durch Ihren eigenen Screenshot, wenn Sie veröffentlichen): + +![Beispielausgabe für convert docx to png](https://example.com/assets/convert-docx-to-png.png "Beispielausgabe für convert docx to png") + +*Alt‑Text:* **Beispielausgabe für convert docx to png** – ein PNG‑Rendering einer Word‑Seite mit Times New Roman‑Schrift. + +Wenn das Bild unscharf wirkt, prüfen Sie, ob `UseHinting` auf `true` gesetzt ist und ob die DPI des Renderers (standardmäßig 96) Ihren Anforderungen entsprechen. Sie können die DPI über `renderer.ImageOptions.Resolution = 300;` vor dem Aufruf von `RenderToFile` anpassen. + +## Full, runnable program (export word as png) + +Alles zusammengefasst, hier ein eigenständiges Konsolen‑App‑Beispiel, das Sie in `Program.cs` einfügen und ausführen können: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Was dieses Programm macht:** + +1. Lädt `input.docx`. +2. Erzwingt, dass jedes Zeichen *Times New Roman* in 14 pt mit aktiviertem Hinting verwendet. +3. Rendert die erste Seite mit 300 DPI und erzeugt ein hochqualitatives PNG. +4. Gibt eine freundliche Konsolennachricht aus, die den Erfolg bestätigt. + +Starten Sie es mit `dotnet run` und Sie erhalten ein perfekt gerendertes Bild, bereit für die Anzeige im Web, das Einbetten in PDFs oder jedes andere Szenario, in dem Sie **docx in png konvertieren** möchten, ohne den Overhead von Office. + +## Häufige Fragen und Sonderfälle + +* **Was, wenn ich alle Seiten benötige?** + Iterieren Sie über `renderer.PageCount` und rufen Sie `RenderToFile` mit einem Dateinamen auf, der die Seitennummer enthält, z. B. `output_page_{i}.png`. + +* **Kann ich in andere Bildformate exportieren?** + Natürlich. Ersetzen Sie `ImageFormat.Png` durch `ImageFormat.Jpeg`, `ImageFormat.Bmp` oder `ImageFormat.Tiff`, je nach Ihren nachgelagerten Anforderungen. + +* **Mein Dokument verwendet eingebettete Fonts – brauche ich trotzdem **set custom font**?** + Wenn das DOCX bereits die gewünschten Fonts einbettet, können Sie die `Font`‑Eigenschaft weglassen. Der Renderer respektiert die eingebetteten Fonts automatisch. + +* **Wie gehe ich mit großen Dokumenten um, ohne den Speicher zu erschöpfen?** + Verarbeiten Sie jeweils eine Seite innerhalb des `using`‑Blocks und entsorgen Sie jedes erzeugte Bitmap nach dem Speichern. So bleibt der Speicherverbrauch gering. + +* **Gibt es Lizenzfragen?** + Aspose.Words bietet eine kostenlose Testversion mit Wasserzeichen. Für den Produktionseinsatz erwerben Sie eine Lizenz und rufen `License license = new License(); license.SetLicense("Aspose.Words.lic");` vor dem Laden des Dokuments auf. + +## Fazit + +Sie besitzen nun ein vollständiges, produktionsreifes Rezept, um **docx in png** mit C# zu konvertieren. Der Leitfaden behandelte alles von der Installation von Aspose.Words (der Go‑To‑Bibliothek für **convert word to image**) über die Konfiguration von `TextOptions` für ein **set custom font**‑Szenario bis hin zum Rendern der Bilddatei. Mit diesem Wissen können Sie **word als png exportieren**, in Webseiten einbetten, Thumbnails erzeugen oder in jede Bild‑Verarbeitungspipeline einspeisen. + +Was kommt als Nächstes? Probieren Sie das Exportieren mehrerer Seiten, experimentieren Sie mit verschiedenen DPI‑Einstellungen oder wechseln Sie das Ausgabeformat zu + +## Verwandte Tutorials + +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Convert HTML to PNG in .NET with Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/german/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/german/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..bb2554fc3 --- /dev/null +++ b/html/german/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-05-25 +description: Erfahren Sie, wie Sie ein Word‑Dokument schnell in PNG konvertieren. + Dieses Tutorial zeigt außerdem, wie Sie ein Word‑Dokument mit Antialiasing als PNG + speichern. +draft: false +keywords: +- convert word document to png +- save word document as png +language: de +og_description: Konvertieren Sie ein Word-Dokument in PNG mit ein paar Zeilen C#. + Folgen Sie dieser Anleitung, um ein Word-Dokument effizient als PNG zu speichern. +og_title: Word‑Dokument in PNG konvertieren – Schritt‑für‑Schritt‑Anleitung +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Word‑Dokument in PNG konvertieren – Vollständiger Programmierleitfaden +url: /de/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word-Dokument in PNG konvertieren – Vollständiger Programmierleitfaden + +Haben Sie jemals **Word-Dokument in PNG konvertieren** müssen, waren sich aber nicht sicher, welche Bibliothek oder Einstellungen Sie wählen sollten? Sie sind nicht allein. In vielen Office‑Automatisierungsprojekten benötigen Sie schließlich ein Rasterbild einer `.docx`‑Datei – vielleicht für Thumbnail‑Vorschauen, E‑Mail‑Einbettungen oder schnelle visuelle Prüfungen. Die gute Nachricht ist, dass Sie mit ein paar Zeilen C# auch **Word-Dokument als PNG speichern** können, ohne manuelles Herumfummeln. + +In diesem Tutorial führen wir Sie durch ein praxisnahes Beispiel mit Aspose.Words für .NET. Wir behandeln alles, vom Laden der Quelldatei über das Anpassen der Bilddarstellungsoptionen für ein scharfes Ergebnis bis hin zum Schreiben der PNG‑Datei auf die Festplatte. Am Ende haben Sie eine wiederverwendbare Methode, die Sie in jedes .NET‑Projekt einbinden können. + +## Voraussetzungen + +- **.NET 6.0** oder höher (der Code funktioniert auch unter .NET Framework 4.6+). +- Eine **lizenzierte** Kopie von **Aspose.Words for .NET** (die kostenlose Testversion funktioniert zum Testen). +- Visual Studio 2022 oder eine beliebige IDE Ihrer Wahl. +- Eine Beispiel‑Word‑Datei (`input.docx`) in einem Ordner, den Sie referenzieren können. + +Es werden keine weiteren Drittanbieter‑Pakete benötigt. + +## Schritt 1: Projekt einrichten und Namespaces importieren + +Zuerst erstellen Sie eine neue Konsolenanwendung (oder integrieren sie in einen bestehenden Service). Dann fügen Sie das Aspose.Words‑NuGet‑Paket hinzu: + +```bash +dotnet add package Aspose.Words +``` + +Importieren Sie nun die benötigten Namespaces in Ihre Datei: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro Tipp:** Wenn Sie .NET 6+ anvisieren, können Sie das Feature für Top‑Level‑Statements nutzen und den Boilerplate‑Code der `Main`‑Methode weglassen. + +## Schritt 2: Quell‑Word‑Dokument laden + +Der erste eigentliche Schritt in der Konvertierungspipeline besteht darin, das Dokument zu laden, das Sie rasterisieren möchten. Aspose.Words unterstützt `.doc`, `.docx`, `.rtf` und viele weitere Formate, sodass Sie nicht auf die klassischen Office‑Dateitypen beschränkt sind. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Warum prüfen wir `PageCount`? Weil ein Dokument mit null Seiten ein leeres PNG erzeugen würde, was häufig ein stiller Fehler ist, der nachgelagerten Code zum Scheitern bringt. + +## Schritt 3: Bilddarstellungsoptionen konfigurieren + +Beim Konvertieren von vektorbasierendem Word‑Inhalt in ein Bitmap bemerken Sie gezackte Kanten, wenn Sie die Standardeinstellungen beibehalten. Das Aktivieren von Antialiasing glättet diese Linien, insbesondere bei Diagrammen, Formen und Text in kleinen Größen. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Sie fragen sich vielleicht: „Brauche ich immer Antialiasing?“ In der Regel ja, es sei denn, Sie erzeugen winzige Icons, bei denen die Leistung wichtiger ist als die visuelle Treue. + +## Schritt 4: Jede Seite in eine separate PNG‑Datei rendern + +Ein Word‑Dokument kann mehrere Seiten enthalten. Aspose.Words ermöglicht das Rendern des gesamten Dokuments als ein einzelnes Bild, aber das gängigere Muster ist, für jede Seite ein PNG zu erzeugen. Im Folgenden iterieren wir über die Seiten und rendern jede in eine eigene Datei. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Warum ein `using`‑Block?** Der `ImageRenderer` hält nicht verwaltete Ressourcen (wie GDI+‑Handles). Das Einwickeln in `using` garantiert eine ordnungsgemäße Bereinigung und verhindert Speicherlecks in langfristig laufenden Services. + +### Sonderfälle & Tipps + +- **Große Dokumente:** Das Rendern eines 200‑seitigen Dokuments kann speicherintensiv sein. Erwägen Sie das Rendern in Batches oder erhöhen Sie die Eigenschaft `MaxMemoryUsage`, falls Sie auf `OutOfMemoryException` stoßen. +- **Transparente Hintergründe:** Wenn Ihre Word‑Datei transparente Formen enthält und Sie ein transparentes PNG wünschen, setzen Sie `BackgroundColor = Color.Transparent` in `ImageRenderingOptions`. +- **Skalierung:** Um ein Thumbnail zu erzeugen, passen Sie `ImageSaveOptions` an (z. B. `Resolution = 72`) oder skalieren Sie das resultierende PNG mit `System.Drawing`. + +## Schritt 5: In eine wiederverwendbare Methode kapseln + +Wenn die Konvertierungslogik in einer einzigen Methode steckt, lässt sie sich leicht von überall aufrufen – sei es eine Web‑API, ein Hintergrund‑Worker oder eine Desktop‑UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Sie können jetzt aufrufen: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Und die Methode wird **Word‑Dokument als PNG**‑Dateien mit den Namen `page_1.png`, `page_2.png` usw. speichern. + +## Erwartete Ausgabe + +Wenn Sie den Beispielcode mit einer dreiseitigen `input.docx` ausführen, entsteht: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Öffnen Sie eines dieser PNGs in einem Bildbetrachter – Sie sollten eine scharfe, antialiasierte Darstellung der jeweiligen Word‑Seite sehen. Keine zusätzlichen Ränder, keine Verzerrungen, nur ein getreues Bitmap‑Abbild. + +## Häufige Fallstricke und wie man sie vermeidet + +| Problem | Warum es passiert | Lösung | +|-------|----------------|-----| +| **Blank PNG** | Dokument wurde nicht geladen (`doc` ist null) oder Seitenindex außerhalb des Bereichs. | Pfad überprüfen und sicherstellen, dass `doc.PageCount` > 0 ist, bevor gerendert wird. | +| **Jagged Text** | Antialiasing deaktiviert oder DPI zu niedrig. | `UseAntialiasing = true` setzen und optional `Resolution` erhöhen (z. B. 150 DPI). | +| **Out‑of‑Memory** | Sehr große Seiten bei hoher DPI in einer engen Schleife rendern. | Eine Seite nach der anderen rendern (wie gezeigt) und den `ImageRenderer` sofort freigeben. | +| **Incorrect Colors** | Hintergrundfarbe ist standardmäßig weiß; transparente Dokumente erscheinen weiß. | Bei Bedarf `BackgroundColor = Color.Transparent` setzen. | + +## Fazit + +Wir haben gerade eine saubere, produktionsreife Methode gezeigt, um **Word‑Dokument in PNG zu konvertieren** und damit **Word‑Dokument als PNG zu speichern** mit Aspose.Words für .NET. Die Schritte sind einfach: + +1. Laden Sie die `.docx` mit `Document`. +2. Passen Sie `ImageRenderingOptions` an (Antialiasing, DPI, Hintergrund). +3. Durchlaufen Sie die Seiten und rufen Sie `ImageRenderer.RenderToFile` auf. + +Mit der wiederverwendbaren Methode `ConvertWordToPng` können Sie nun bildbasierte Vorschauen in jede C#‑Anwendung integrieren – sei es ein Web‑Service, der Thumbnails für hochgeladene Verträge erzeugt, ein Desktop‑Tool, das Berichte als PNG archiviert, oder ein Batch‑Job, der Assets für ein Content‑Management‑System vorbereitet. + +**Was kommt als Nächstes?** Experimentieren Sie mit anderen Bildformaten (`ImageFormat.Jpeg`, `Bmp`) oder erkunden Sie `PdfSaveOptions`, falls Sie neben den PNGs ein PDF benötigen. Sie könnten auch Wasserzeichen hinzufügen oder die Ausgabe on‑the‑fly skalieren. + +Viel Spaß beim Coden, und hinterlassen Sie gern einen Kommentar, falls Sie auf Probleme stoßen! + +## Verwandte Tutorials + +- [docx in png konvertieren – zip‑Archiv erstellen C#‑Tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Wie man Antialiasing beim Konvertieren von DOCX zu PNG/JPG aktiviert](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Wie man Aspose verwendet, um HTML nach PNG zu rendern – Schritt‑für‑Schritt‑Anleitung](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md b/html/german/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md new file mode 100644 index 000000000..88ee404b2 --- /dev/null +++ b/html/german/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-05-25 +description: Erstelle PNG aus HTML mit Aspose HTML in C#. Erfahre, wie du HTML zu + PNG rendern und HTML effizient in ein Bild konvertieren kannst. +draft: false +keywords: +- create png from html +- render html to png +- convert html to image +- render html as png +- how to use aspose +language: de +og_description: Erstelle PNG aus HTML in C# mit Aspose HTML. Dieser Leitfaden zeigt + Schritt für Schritt, wie man HTML zu PNG rendert und HTML in ein Bild konvertiert. +og_title: PNG aus HTML mit Aspose erstellen – HTML zu PNG rendern +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + headline: create png from html with Aspose – render html to png + type: TechArticle +- description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + name: create png from html with Aspose – render html to png + steps: + - name: Build an in‑memory HTML document + text: First we need a DOM that Aspose can chew on. Think of `HTMLDocument` as + a lightweight browser page living entirely in memory. + - name: Configure image rendering options (including fonts) + text: Now we tell the renderer how we want the final PNG to look. This is where + you can set DPI, background color, and—most importantly for crisp text—the font + information. + - name: Initialise the `ImageRenderer` + text: With the document and options ready, we create the renderer. This object + orchestrates the conversion pipeline. + - name: Render the HTML to a PNG file + text: Finally, we ask the renderer to write the image to a stream. You can write + to a `MemoryStream` if you need the PNG in‑memory, but here we’ll stick to a + file on disk. + - name: Verify the generated image + text: 'After the code runs, open `YOUR_DIRECTORY/text.png` in any image viewer. + You should see the word “Sample text” rendered in Arial, size 16, exactly as + defined in the HTML. If the text looks blurry, try increasing the DPI:' + - name: Tips & tricks for advanced scenarios + text: '| Situation | Recommended tweak | |-----------|-------------------| | **Multiple + pages** | Loop over `HTMLDocument` pages and call `renderer.RenderToStream` + for each. | | **Custom background** | Set `renderingOptions.BackgroundColor + = Color.White;` | | **Embedding web fonts** | Use `new WebFontInfo(' + type: HowTo +tags: +- Aspose.HTML +- C# +- Image rendering +title: PNG aus HTML mit Aspose erstellen – HTML zu PNG rendern +url: /de/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG aus HTML erstellen – Vollständiger C# Leitfaden mit Aspose.HTML + +Haben Sie sich jemals gefragt, wie man **png aus html erstellt** ohne eine Menge Befehlszeilen‑Tools zu jonglieren? Sie sind nicht allein. Viele Entwickler stoßen auf ein Problem, wenn sie schnell einen Bild‑Snapshot eines HTML‑Abschnitts benötigen – vielleicht für ein E‑Mail‑Thumbnail, eine Berichtsvorschau oder eine Social‑Media‑Karte. Die gute Nachricht? Mit Aspose.HTML können Sie **html zu png rendern** in wenigen Code‑Zeilen, und Sie bleiben vollständig im .NET‑Ökosystem. + +In diesem Tutorial führen wir Sie durch alles, was Sie benötigen, um **html in ein Bild zu konvertieren** mit Aspose, erklären, warum jeder Schritt wichtig ist, und zeigen Ihnen, wie Sie **html als png rendern** mit benutzerdefinierten Schriften. Am Ende haben Sie ein sofort ausführbares C#‑Snippet, das eine PNG‑Datei aus einem beliebigen HTML‑String erstellt, und Sie verstehen die Stellschrauben für eine höherwertige Ausgabe. Keine externen Browser, kein headless Chrome – nur reines .NET. + +## Was Sie benötigen + +Bevor wir loslegen, stellen Sie sicher, dass Sie Folgendes haben: + +- **.NET 6+** (der Code funktioniert auch unter .NET Framework 4.6+) +- **Aspose.HTML for .NET** NuGet‑Paket (`Aspose.Html`) installiert +- Eine grundlegende C#‑IDE (Visual Studio, Rider oder VS Code) +- Schreibberechtigung für einen Ordner, in dem das PNG gespeichert wird + +Das war’s – keine zusätzlichen Binärdateien oder Systemschriften erforderlich, da Aspose seine eigene Rendering‑Engine mitliefert. Bereit? Dann legen wir los. + +![create png from html example](placeholder.png "create png from html example") + +## PNG aus HTML erstellen – Schritt‑für‑Schritt‑Anleitung + +Im Folgenden zerlegen wir den Prozess in klare, nummerierte Schritte. Jeder Schritt enthält das **Warum**, das genaue **Was** Sie tippen müssen, und eine kurze **Was‑wenn**‑Hinweis für gängige Randfälle. + +### Schritt 1: Erstellen eines HTML‑Dokuments im Speicher + +Zuerst benötigen wir ein DOM, das Aspose verarbeiten kann. Denken Sie an `HTMLDocument` als eine leichte Browser‑Seite, die vollständig im Speicher lebt. + +```csharp +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +// Step 1: Create an in‑memory HTML document with the desired content. +var htmlDoc = new HTMLDocument( + "

Sample text

" +); +``` + +**Warum?** +Aspose.HTML liest nicht direkt rohe Strings; es erwartet ein Dokumentobjekt, das einer echten Webseite nachempfunden ist. Indem Sie ihm einen String mit Ihrem Markup übergeben, halten Sie den Workflow einfach und vermeiden Dateizugriffe in diesem Schritt. + +**Was‑wenn** Sie eine vollständige HTML‑Datei auf der Festplatte haben? Ersetzen Sie einfach den String‑Konstruktor durch `new HTMLDocument("file.html")` und Aspose lädt die Datei für Sie. + +### Schritt 2: Bildrender‑Optionen konfigurieren (einschließlich Schriften) + +Jetzt teilen wir dem Renderer mit, wie das endgültige PNG aussehen soll. Hier können Sie DPI, Hintergrundfarbe und – am wichtigsten für scharfen Text – die Schriftinformationen festlegen. + +```csharp +// Step 2: Set up image rendering options, including the font to use. +var renderingOptions = new ImageRenderingOptions +{ + // Choose the font family, size, and style (Normal, Italic, Oblique, etc.). + Font = new FontInfo("Arial", 16, WebFontStyle.Normal) +}; +``` + +**Warum?** +Wenn Sie den `FontInfo`‑Teil weglassen, greift Aspose auf seine Standardschrift zurück, die möglicherweise nicht dem gewünschten Aussehen entspricht. Durch Angabe der Schrift stellen Sie sicher, dass die **render html to png**‑Ausgabe dem entspricht, was Sie im Browser sehen würden. + +**Was‑wenn** die gewünschte Schrift nicht auf dem Server installiert ist? Aspose kann Web‑Schriften über `WebFontInfo` einbetten – verweisen Sie einfach auf eine `.ttf`‑Datei oder eine URL und der Renderer holt sie für Sie. + +### Schritt 3: Initialisieren des `ImageRenderer` + +Mit Dokument und Optionen bereit, erstellen wir den Renderer. Dieses Objekt steuert die Konvertierungspipeline. + +```csharp +// Step 3: Initialise the renderer with the document and options. +using (var renderer = new ImageRenderer(htmlDoc, renderingOptions)) +{ + // Step 4 lives inside this block. +} +``` + +**Warum?** +`ImageRenderer` ist das Arbeitspferd, das das DOM parst, CSS anwendet, das Layout rasterisiert und schließlich ein Bitmap erzeugt. Das Einbetten in einen `using`‑Block sorgt dafür, dass alle nativen Ressourcen sofort freigegeben werden – ein kleiner, aber wichtiger Performance‑Hinweis. + +### Schritt 4: Rendern des HTML zu einer PNG‑Datei + +Schließlich lassen wir den Renderer das Bild in einen Stream schreiben. Sie können in einen `MemoryStream` schreiben, wenn Sie das PNG im Speicher benötigen, hier schreiben wir jedoch in eine Datei auf der Festplatte. + +```csharp + // Step 4: Render the HTML to a PNG image and write it to a file. + using (var outputStream = new FileStream("YOUR_DIRECTORY/text.png", FileMode.Create)) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + } +``` + +**Warum?** +`RenderToStream` gibt Ihnen die volle Kontrolle über das Ausgabeformat. Durch Übergabe von `ImageFormat.Png` wird Aspose das Bitmap als verlustfreies PNG kodieren, ideal für Screenshots oder wenn Transparenz benötigt wird. + +**Was‑wenn** Sie stattdessen JPEG benötigen? Ersetzen Sie einfach `ImageFormat.Png` durch `ImageFormat.Jpeg` und setzen Sie optional die Qualität über `JpegOptions`. + +### Schritt 5: Überprüfen des erzeugten Bildes + +Nachdem der Code ausgeführt wurde, öffnen Sie `YOUR_DIRECTORY/text.png` in einem beliebigen Bildbetrachter. Sie sollten das Wort „Sample text“ in Arial, Größe 16, exakt wie im HTML definiert sehen. Wenn der Text unscharf wirkt, erhöhen Sie die DPI: + +```csharp +renderingOptions.Resolution = new Resolution(300, 300); // 300 DPI for high‑res output +``` + +### Schritt 6: Tipps & Tricks für erweiterte Szenarien + +| Situation | Empfohlene Anpassung | +|--------------------------|--------------------------------------------------------------------------------------| +| **Mehrere Seiten** | Durchlaufen Sie die `HTMLDocument`‑Seiten und rufen Sie für jede `renderer.RenderToStream` auf. | +| **Benutzerdefinierter Hintergrund** | Setzen Sie `renderingOptions.BackgroundColor = Color.White;` | +| **Einbetten von Web‑Schriften** | Verwenden Sie `new WebFontInfo("https://example.com/font.ttf")` in `FontInfo`. | +| **Großer HTML‑Inhalt** | Erhöhen Sie `renderingOptions.PageWidth`/`PageHeight`, um Abschneiden zu vermeiden. | + +Diese Anpassungen helfen Ihnen, **html in ein Bild zu konvertieren** für Newsletter, PDFs oder jede Situation, in der Sie einen statischen Snapshot benötigen. + +## HTML zu PNG rendern – Häufige Fallstricke und wie man sie behebt + +Selbst bei einer unkomplizierten API können ein paar Stolpersteine Sie ausbremsen: + +1. **Fehlende Schrift führt zu Rückgriff** – Wenn Aspose „Arial“ nicht finden kann, ersetzt es die Schrift durch eine generische, was das Layout verändert. Binden Sie die benötigte Schrift immer mit ein oder verweisen Sie auf eine Web‑Font‑URL. +2. **Ausgabe mit Größe 0** – Vergessen Sie, `PageWidth`/`PageHeight` zu setzen, kann ein 0 × 0 PNG erzeugen. Der Renderer verwendet standardmäßig die Viewport‑Größe, also stellen Sie sicher, dass Ihr HTML eine Größe definiert (z. B. via CSS `width: 800px; height: 600px;`). +3. **Dateizugriffs‑Fehler** – Der Versuch, in einen schreibgeschützten Ordner zu schreiben, wirft eine Ausnahme. Verwenden Sie `Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)` als sicheren Standard. + +Die Behebung dieser Probleme sorgt für eine zuverlässige **render html as png**‑Pipeline. + +## Wie man Aspose verwendet – Wo geht es weiter + +Jetzt, wo Sie die Grundlagen beherrschen, fragen Sie sich vielleicht **wie man Aspose** für komplexere Aufgaben nutzt. Hier ein paar natürliche Erweiterungen: + +- **Batch‑Konvertierung** – Durchlaufen Sie eine Liste von HTML‑Strings und erzeugen Sie ein ZIP‑Archiv mit PNGs. +- **PDF‑Erstellung** – Kombinieren Sie die Ausgabe von `ImageRenderer` mit `PdfRenderer`, um Screenshots in PDFs einzubetten. +- **Cloud‑Integration** – Deployen Sie den Code zu Azure Functions für on‑demand Bildgenerierung. + +Die offizielle Aspose.HTML‑Dokumentation (https://docs.aspose.com/html/net/) bietet detaillierte API‑Referenzen, Beispielprojekte und Performance‑Benchmarks. Sie ist ein wahrer Schatz, wenn Sie über ein einzelnes Bild hinaus skalieren möchten. + +## Erwartete Ausgabe + +Das Ausführen des vollständigen Snippets oben erzeugt eine Datei namens `text.png`. Der visuelle Inhalt entspricht dem ursprünglichen HTML: + +``` ++---------------------------+ +| Sample text | +| (Arial, 16pt, Normal) | ++---------------------------+ +``` + +## Vollständiges funktionierendes Beispiel (Kopieren‑Einfügen‑bereit) + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // Step 1: Create an in‑memory HTML document. + var htmlDoc = new HTMLDocument( + "

Sample text

" + ); + + // Step 2: Set rendering options (font, DPI, etc.). + var renderingOptions = + + +## Verwandte Tutorials + +- [Wie man Aspose verwendet, um HTML zu PNG zu rendern – Schritt‑für‑Schritt‑Anleitung](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Wie man HTML zu PNG mit Aspose rendert – Vollständiger Leitfaden](/html/english/net/rendering-html-documents/how-to-render-html-to-png-with-aspose-complete-guide/) +- [HTML als PNG in .NET mit Aspose.HTML rendern](/html/english/net/rendering-html-documents/render-html-as-png/) + +{{< /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/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md b/html/german/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md new file mode 100644 index 000000000..097981395 --- /dev/null +++ b/html/german/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md @@ -0,0 +1,291 @@ +--- +category: general +date: 2026-05-25 +description: HTML zu PNG rendern mit C#. Erfahren Sie, wie Sie HTML in ein Bild konvertieren, + Bilddarstellungsoptionen anpassen und HTML mit Optionen in wenigen Schritten rendern. +draft: false +keywords: +- render html to png +- convert html to image +- image rendering options +- render html with options +language: de +og_description: HTML in PNG mit C# rendern. Dieser Leitfaden zeigt, wie man HTML in + ein Bild konvertiert, Bildrender‑Optionen konfiguriert und HTML mit Optionen für + perfekte Ergebnisse rendert. +og_title: HTML zu PNG rendern – Schritt‑für‑Schritt C#‑Tutorial +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + headline: Render HTML to PNG – Complete Guide with Custom Handlers & Options + type: TechArticle +- description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + name: Render HTML to PNG – Complete Guide with Custom Handlers & Options + steps: + - name: A basic PNG (no extra options). + text: A basic PNG (no extra options). + - name: An antialiased PNG. + text: An antialiased PNG. + - name: A hint‑enabled PNG. + text: A hint‑enabled PNG. + type: HowTo +tags: +- C# +- HTML +- graphics +- image rendering +title: HTML zu PNG rendern – Vollständiger Leitfaden mit benutzerdefinierten Handlern + und Optionen +url: /de/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML zu PNG rendern – Vollständiger Leitfaden mit benutzerdefinierten Handlern & Optionen + +Haben Sie jemals **HTML zu PNG rendern** müssen, waren sich aber nicht sicher, welche API‑Aufrufe Sie verwenden sollten? Sie sind nicht allein – viele Entwickler stoßen an diese Grenze, wenn sie Newsletter, Thumbnails oder PDF‑ähnliche Vorschauen erstellen. Die gute Nachricht? Mit ein paar Zeilen C# können Sie **HTML zu Bild konvertieren** on the fly, und Sie können sogar *Bildrender‑Optionen* für gestochen scharfe Ergebnisse anpassen. + +In diesem Tutorial gehen wir ein reales Beispiel durch: einen benutzerdefinierten `ResourceHandler`, der entscheidet, wo externe Assets abgelegt werden, das Laden eines `HTMLDocument` und schließlich das Rendern dieses Markups zu PNG‑Dateien mit und ohne Antialiasing oder Font‑Hinting. Am Ende können Sie **HTML mit Optionen rendern**, die jede Anforderung an die visuelle Qualität erfüllen. + +## Was Sie bauen werden + +- Ein wiederverwendbarer Resource‑Handler, der Bilder, Schriftarten oder CSS in einen von Ihnen kontrollierten Ordner schreibt. +- Ein einfacher HTML‑Dokumenten‑Lader, der durch jede beliebige Markup‑Zeichenkette ersetzt werden kann. +- Zwei Rendering‑Durchläufe: einer schlicht, einer mit *Bildrender‑Optionen* (Antialiasing, Hinting). +- Fertig einsetzbarer C#‑Code, den Sie in eine Konsolen‑App oder einen Unit‑Test einfügen können. + +Keine externen Bibliotheken über den hypothetischen `HtmlRenderer`‑Namespace hinaus sind erforderlich, aber Sie sehen genau, wo Sie Ihre bevorzugte HTML‑zu‑Bild‑Engine einbinden können. + +--- + +## Voraussetzungen + +- .NET 6.0 oder höher (der Code kompiliert auch mit .NET Core). +- Grundlegende Kenntnisse von C#‑Klassen und `using`‑Anweisungen. +- Ein Verzeichnis auf der Festplatte, in das das Tutorial Dateien schreiben kann (`YOUR_DIRECTORY` in den Snippets). + +Wenn Sie das haben, lassen Sie uns eintauchen. + +--- + +## HTML zu PNG rendern – Benutzerdefinierter Resource‑Handler + +Beim Rendern von HTML benötigen externe Ressourcen (Bilder, Schriftarten, CSS) oft einen Ort zum Ablegen. Standardmäßig schreiben viele Renderer in einen temporären Ordner, was ein Sicherheitsalptraum sein kann. Unser erster Schritt ist es, **HTML zu PNG zu rendern**, während wir die volle Kontrolle über diese Assets behalten. + +```csharp +using System; +using System.IO; + +// Step 1: Define a custom resource handler to control where external resources are written +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + // Combine your target folder with the resource name + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} +``` + +*Warum das wichtig ist:* +Die Basisklasse `ResourceHandler` lässt den Renderer fragen: „Hey, wo soll ich dieses Bild ablegen?“ Durch das Überschreiben von `HandleResource` leiten wir jede Anfrage nach `YOUR_DIRECTORY/Resources` um. Das verhindert, dass der Renderer Dateien im System verstreut, und macht das Aufräumen zum Kinderspiel. + +> **Pro‑Tipp:** Wenn Sie Namenskollisionen erwarten, fügen Sie `info.Name` vor dem Speichern ein GUID‑Präfix hinzu. + +--- + +## HTML zu Bild konvertieren – Laden des Dokuments + +Jetzt, wo der Handler bereit ist, benötigen wir eine `HTMLDocument`‑Instanz. Betrachten Sie sie als die Leinwand, die Ihr Markup, Skripte und Stil‑Referenzen enthält. + +```csharp +using HtmlRenderer; // hypothetical namespace + +// Step 2: Load an HTML document that may reference external resources +HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); +``` + +Sie können die Zeichenkette durch beliebiges HTML ersetzen – vielleicht die Ausgabe einer Razor‑View oder einer Markdown‑zu‑HTML‑Konvertierung. Wichtig ist, dass das Dokument den benutzerdefinierten Handler kennt, den wir später übergeben. + +--- + +## Bildrender‑Optionen – Feineinstellung von Antialiasing und Font‑Hinting + +Einfaches Rendering funktioniert, aber manchmal benötigen Sie das gewisse Extra: glattere Kanten, klareren Text oder korrekte Sub‑Pixel‑Positionierung. Hier kommen **Bildrender‑Optionen** zum Einsatz. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Was passiert im Hintergrund?* +`ImageRenderingOptions` teilt dem Renderer mit, welche Schriftart zu verwenden ist und ob geometrische Formen geglättet werden sollen. `TextOptions` konzentriert sich darauf, wie Glyphen rasterisiert werden – Hinting richtet Zeichen am Pixelraster aus, was besonders bei kleinen Größen nützlich ist. + +--- + +## HTML mit Optionen rendern – Anwenden von Rendering‑Einstellungen + +Mit dem vorbereiteten Dokument und den Optionen können wir endlich **HTML mit Optionen rendern**. Wir erzeugen drei Dateien: + +1. Ein einfaches PNG (keine zusätzlichen Optionen). +2. Ein antialiased PNG. +3. Ein mit Hinting versehenes PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Beachten Sie, dass jeder `ImageRenderer` ein unterschiedliches zweites Argument erhält: den einfachen Handler, die Antialiasing‑Einstellungen und die Hinting‑Einstellungen. Dieses Muster ermöglicht es Ihnen, Konfigurationen auszutauschen, ohne anderen Code zu ändern – perfekt für Unit‑Tests oder Feature‑Flags. + +> **Häufige Frage:** *„Kann ich Antialiasing und Hinting in einem Durchlauf kombinieren?“* +> Absolut. Erstellen Sie einfach ein einzelnes Options‑Objekt, das sowohl `UseAntialiasing` als auch `UseHinting` auf `true` setzt, und übergeben Sie es an `ImageRenderer`. + +--- + +## Ausgabe überprüfen – Was zu erwarten ist + +Nachdem Sie das Programm ausgeführt haben, öffnen Sie die drei PNG‑Dateien: + +- **out.png** – ein getreues Abbild des HTML, aber die Kanten können etwas gezackt aussehen. +- **img.png** – glattere Linien und Kurven dank Antialiasing. +- **txt.png** – der Text erscheint schärfer, besonders bei 12 pt Verdana, dank Font‑Hinting. + +Wenn eines der Bilder nicht korrekt aussieht, überprüfen Sie, ob `YOUR_DIRECTORY/Resources` das referenzierte `logo.png` enthält. Fehlende Assets führen dazu, dass der Renderer auf einen Platzhalter zurückgreift, was seltsam aussehen kann. + +--- + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie das gesamte Programm, bereit zum Kopieren und Einfügen in eine Konsolen‑App. Es enthält alle `using`‑Direktiven und eine minimale `Main`‑Methode. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Führen Sie das Programm aus, prüfen Sie die drei PNGs, und Sie sehen genau, wie jede Option das Endbild beeinflusst. Experimentieren Sie gern – ändern Sie die Schriftart, schalten Sie `UseAntialiasing` um, oder fügen Sie weitere CSS‑Regeln hinzu. Ihrer Kreativität sind keine Grenzen gesetzt, wenn Sie **HTML zu Bild konvertieren** on demand. + +--- + +## Nächste Schritte & verwandte Themen + +- **Batch‑Verarbeitung:** Durchlaufen einer Sammlung von HTML‑Snippets und Generieren von Thumbnails für jedes. +- **PDF‑Konvertierung:** Kombinieren der PNGs mit einer PDF‑Bibliothek (z. B. iTextSharp), um mehrseitige Dokumente zu erzeugen. +- **Dynamische Ressourcen:** Erweitern Sie `MyHandler`, um Bilder von einem CDN oder einer Datenbank statt vom Dateisystem abzurufen. +- **Performance‑Optimierung:** Zwischenspeichern gerenderter Bilder, wenn sich das Quell‑HTML nicht geändert hat; das reduziert die CPU‑Auslastung erheblich. + +Wenn Sie an tieferer Anpassung interessiert sind, schauen Sie sich die Eigenschaft `RenderTransform` von `ImageRenderer` für Drehungen oder Skalierungen an, oder erkunden Sie die `CssEngine`‑Einstellungen für erweiterte Layout‑Kontrolle. + +--- + +## Fazit + +Wir haben alles behandelt, was Sie benötigen, um **HTML zu PNG zu rendern** in C#: einen benutzerdefinierten Resource‑Handler, das Laden von Markup, das Konfigurieren von *Bildrender‑Optionen* und schließlich **HTML mit Optionen rendern**, die Antialiasing und Font‑Hinting bieten. Das vollständige, ausführbare Beispiel sollte sofort funktionieren, und das modulare Design erleichtert die Anpassung an größere Projekte. + +Probieren Sie es aus, passen Sie die Einstellungen an und lassen Sie die gerenderten Bilder in Ihrer nächsten E‑Mail‑Kampagne, Ihrem Dashboard oder Reporting‑Tool für sich sprechen. Got + +## Verwandte Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/greek/net/generate-jpg-and-png-images/_index.md index 5fd47cce3..9b2fc6287 100644 --- a/html/greek/net/generate-jpg-and-png-images/_index.md +++ b/html/greek/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ url: /el/net/generate-jpg-and-png-images/ Μάθετε πώς να βελτιώσετε την ποιότητα των εικόνων ενεργοποιώντας το antialiasing κατά τη μετατροπή αρχείων DOCX σε PNG ή JPG. ### [Μετατροπή docx σε png – δημιουργία αρχείου zip με C# σεμινάριο](./convert-docx-to-png-create-zip-archive-c-tutorial/) Μάθετε πώς να μετατρέψετε αρχεία DOCX σε PNG και να δημιουργήσετε αρχείο ZIP χρησιμοποιώντας C#. +### [Δημιουργία PNG από HTML – Πλήρης Οδηγός Βήμα‑βήμα](./create-png-from-html-full-step-by-step-guide/) +Μάθετε πώς να μετατρέψετε HTML σε PNG με έναν πλήρη οδηγό βήμα‑βήμα, χρησιμοποιώντας το Aspose.HTML για .NET. +### [Δημιουργία PNG από HTML με Aspose – απόδοση HTML σε PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Μάθετε πώς να μετατρέψετε HTML σε PNG με το Aspose.HTML για .NET. +### [Μετατροπή εγγράφου Word σε PNG – Πλήρης Προγραμματιστικός Οδηγός](./convert-word-document-to-png-complete-programming-guide/) +Μάθετε πώς να μετατρέψετε έγγραφα Word σε PNG με έναν πλήρη προγραμματιστικό οδηγό, χρησιμοποιώντας το Aspose.HTML για .NET. +### [Μετατροπή docx σε png σε C# – Πλήρης Οδηγός Βήμα‑βήμα](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Μάθετε πώς να μετατρέψετε αρχεία DOCX σε PNG σε C# με έναν πλήρη βήμα‑βήμα οδηγό. +### [Απόδοση HTML σε PNG – Πλήρης Οδηγός με Προσαρμοσμένους Χειριστές και Επιλογές](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Μάθετε πώς να μετατρέψετε HTML σε PNG χρησιμοποιώντας προσαρμοσμένους χειριστές και επιλογές για βέλτιστη ποιότητα. ## Σύναψη diff --git a/html/greek/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/greek/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..53f6c20c9 --- /dev/null +++ b/html/greek/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Μετατρέψτε το docx σε png γρήγορα χρησιμοποιώντας C#. Μάθετε πώς να μετατρέψετε + το Word σε εικόνα, να εξάγετε το Word ως png και να ορίσετε προσαρμοσμένη γραμματοσειρά + σε ένα ενιαίο σεμινάριο. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: el +og_description: Μετατρέψτε το docx σε png με C#. Αυτός ο οδηγός σας δείχνει πώς να + εξάγετε το Word ως png και να ορίσετε προσαρμοσμένη γραμματοσειρά για τέλεια αποτελέσματα. +og_title: Μετατροπή docx σε png σε C# – Πλήρης Οδηγός Προγραμματισμού +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Μετατροπή docx σε png σε C# – Πλήρης Οδηγός Βήμα‑βήμα +url: /el/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Μετατροπή docx σε png σε C# – Πλήρης Οδηγός Βήμα‑Βήμα + +Έχετε ποτέ χρειαστεί να **convert docx to png** αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη θα σας προσφέρει καθαρά γλύφη και πλήρη πιστότητα σελίδας; Δεν είστε μόνοι. Σε πολλά έργα αυτοματοποίησης γραφείου, η μετατροπή ενός εγγράφου Word σε εικόνα (σκεφτείτε “convert word to image”) είναι ο πιο γρήγορος τρόπος ενσωμάτωσης περιεχομένου σε μια ιστοσελίδα ή ένα email χωρίς να ανησυχείτε για εγκαταστάσεις του Office. + +Το θέμα είναι: το Aspose.Words for .NET API σας επιτρέπει να **export word as png** με λίγες μόνο γραμμές κώδικα, και μπορείτε ακόμη να **set custom font** ρυθμίσεις ώστε το αποτέλεσμα να φαίνεται ακριβώς όπως το αρχικό. Σε αυτό το tutorial θα περάσουμε από όλη τη διαδικασία — από την εγκατάσταση του πακέτου μέχρι την απόδοση του τελικού PNG — ώστε να μπορείτε να ξεκινήσετε τη μετατροπή docx σε png σήμερα. + +## Μετατροπή docx σε png – Επισκόπηση και Προαπαιτούμενα + +Πριν βουτήξουμε στον κώδικα, ας βεβαιωθούμε ότι έχετε όλα όσα χρειάζεστε: + +* **.NET 6.0 ή νεότερο** – το παράδειγμα στοχεύει στο .NET 6, αλλά και οι παλαιότερες εκδόσεις λειτουργούν. +* **Aspose.Words for .NET** – ένα πακέτο NuGet που παρέχει `Document`, `TextOptions` και `ImageRenderer`. +* Ένα **sample DOCX** αρχείο που θέλετε να μετατρέψετε σε εικόνα (τοποθετήστε το σε φάκελο που μπορείτε να αναφέρετε). +* Προαιρετικά: μια **custom TrueType font** (π.χ., Times New Roman) εάν θέλετε να αντικαταστήσετε την προεπιλεγμένη γραμματοσειρά του εγγράφου. + +Αν έχετε τσεκάρει όλα τα παραπάνω, είστε έτοιμοι να ξεκινήσετε τη μετατροπή word σε image με σιγουριά. + +## Εγκατάσταση Aspose.Words for .NET (convert word to image) + +Το πρώτο βήμα είναι η λήψη της βιβλιοθήκης στο έργο σας. Ανοίξτε ένα τερματικό στον φάκελο της λύσης και εκτελέστε: + +```bash +dotnet add package Aspose.Words +``` + +Αυτή η εντολή προσθέτει την πιο πρόσφατη σταθερή έκδοση του Aspose.Words, η οποία περιλαμβάνει την κλάση `ImageRenderer` που θα χρειαστούμε για **export docx as png**. Μετά την ολοκλήρωση της επαναφοράς, είστε έτοιμοι. + +> **Pro tip:** Εάν χρησιμοποιείτε το Visual Studio, μπορείτε επίσης να προσθέσετε το πακέτο μέσω του UI του NuGet Package Manager — απλώς αναζητήστε το “Aspose.Words”. + +## Φόρτωση του πηγαίου εγγράφου (convert docx to png) + +Τώρα θα φορτώσουμε το αρχείο DOCX. Αυτό είναι το σημείο όπου η διαδικασία **convert docx to png** ξεκινά πραγματικά. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` αντιπροσωπεύει ολόκληρο το αρχείο Word στη μνήμη. Η διαδρομή μπορεί να είναι απόλυτη ή σχετική· απλώς βεβαιωθείτε ότι το αρχείο υπάρχει, διαφορετικά θα αντιμετωπίσετε `FileNotFoundException`. + +## Διαμόρφωση επιλογών απόδοσης κειμένου (set custom font) + +Εάν το DOCX σας χρησιμοποιεί μια γραμματοσειρά που δεν είναι εγκατεστημένη στο στόχο μηχάνημα, το παραγόμενο PNG μπορεί να φαίνεται λανθασμένο. Γι' αυτό συχνά χρειάζεται να **set custom font** πριν την εξαγωγή. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` λέει στον renderer να εφαρμόσει sub‑pixel hinting, το οποίο ενισχύει τις άκρες των γραμμάτων — ιδιαίτερα σημαντικό για PNG υψηλής ανάλυσης. +* `FontInfo` αναγκάζει κάθε κομμάτι κειμένου να σχεδιάζεται με *Times New Roman* σε 14 pt, ανεξάρτητα από ό,τι ορίζει το αρχικό DOCX. Μπορείτε ελεύθερα να αντικαταστήσετε το όνομα με οποιαδήποτε γραμματοσειρά έχετε στον διακομιστή. + +## Δημιουργία ImageRenderer (convert word to image) + +Με το έγγραφο και τις επιλογές έτοιμες, δημιουργούμε ένα αντικείμενο `ImageRenderer`. Αυτή η κλάση εκτελεί το βαρέως εργασίας μέρος της μετατροπής των σελίδων σε bitmap εικόνες. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Μερικές σημειώσεις: + +* Το μπλοκ `using` εξασφαλίζει ότι ο renderer απελευθερώνει άμεσα τους εγγενείς πόρους (όπως χειριστές GDI). +* `RenderToFile` δέχεται μια διαδρομή και ένα `ImageFormat`. Εάν χρειάζεστε όλες τις σελίδες, μπορείτε να κάνετε βρόχο πάνω από `renderer.PageCount` και να καλέσετε `RenderToFile` με όνομα αρχείου συγκεκριμένο για κάθε σελίδα. + +## Επαλήθευση του αποτελέσματος (export docx as png) + +Μετά την εκτέλεση του κώδικα, θα πρέπει να δείτε το `hinted.png` στον φάκελο που καθορίσατε. Ανοίξτε το με οποιονδήποτε προβολέα εικόνων — το κείμενο φαίνεται καθαρό; Εάν χρησιμοποιήσατε προσαρμοσμένη γραμματοσειρά, θα παρατηρήσετε τη συνεπή γραμματοσειρά σε ολόκληρη τη σελίδα. + +Ακολουθεί μια γρήγορη οπτική αναφορά (αντικαταστήστε με το δικό σας screenshot όταν δημοσιεύετε): + +![παράδειγμα εξόδου convert docx to png](https://example.com/assets/convert-docx-to-png.png "παράδειγμα εξόδου convert docx to png") + +*Alt text:* **convert docx to png example output** – μια απόδοση PNG μιας σελίδας Word με γραμματοσειρά Times New Roman. + +Εάν η εικόνα φαίνεται θολή, ελέγξτε ξανά ότι το `UseHinting` είναι ορισμένο σε `true` και ότι το DPI του renderer (προεπιλογή 96) ταιριάζει με τις ανάγκες σας. Μπορείτε να ρυθμίσετε το DPI μέσω `renderer.ImageOptions.Resolution = 300;` πριν καλέσετε το `RenderToFile`. + +## Πλήρες, εκτελέσιμο πρόγραμμα (export word as png) + +Συνδυάζοντας όλα, εδώ είναι μια αυτόνομη εφαρμογή κονσόλας που μπορείτε να αντιγράψετε‑επικολλήσετε στο `Program.cs` και να εκτελέσετε: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Τι κάνει αυτό το πρόγραμμα:** + +1. Φορτώνει το `input.docx`. +2. Αναγκάζει κάθε χαρακτήρα να χρησιμοποιεί *Times New Roman* σε 14 pt με ενεργοποιημένο hinting. +3. Αποδίδει την πρώτη σελίδα σε 300 DPI, παράγοντας ένα PNG υψηλής ποιότητας. +4. Γράφει ένα φιλικό μήνυμα στην κονσόλα που επιβεβαιώνει την επιτυχία. + +Τρέξτε το με `dotnet run` και θα έχετε μια τέλεια αποδομένη εικόνα έτοιμη για εμφάνιση στο web, ενσωμάτωση σε PDF, ή οποιοδήποτε άλλο σενάριο όπου χρειάζεται να **convert docx to png** χωρίς το βάρος του Office. + +## Συχνές ερωτήσεις και αντιμετώπιση ειδικών περιπτώσεων + +* **Τι γίνεται αν χρειάζομαι όλες τις σελίδες;** + Κάντε βρόχο πάνω από `renderer.PageCount` και καλέστε `RenderToFile` με όνομα αρχείου που περιλαμβάνει τον αριθμό σελίδας, π.χ., `output_page_{i}.png`. + +* **Μπορώ να εξάγω σε άλλες μορφές εικόνας;** + Απολύτως. Αντικαταστήστε το `ImageFormat.Png` με `ImageFormat.Jpeg`, `ImageFormat.Bmp` ή `ImageFormat.Tiff` ανάλογα με τις απαιτήσεις σας. + +* **Το έγγραφό μου χρησιμοποιεί ενσωματωμένες γραμματοσειρές — χρειάζομαι ακόμη `set custom font`;** + Εάν το DOCX έχει ήδη ενσωματωμένες τις γραμματοσειρές που θέλετε, μπορείτε να παραλείψετε την ιδιότητα `Font`. Ο renderer θα σεβαστεί αυτόματα την ενσωματωμένη γραμματοσειρά. + +* **Πώς να διαχειριστώ μεγάλα έγγραφα χωρίς να εξαντλήσω τη μνήμη;** + Επεξεργαστείτε μία σελίδα τη φορά μέσα στο μπλοκ `using` και απελευθερώστε κάθε παραγόμενο bitmap μετά την αποθήκευση. Αυτό διατηρεί το αποτύπωμα μνήμης χαμηλό. + +* **Υπάρχει πρόβλημα αδειοδότησης;** + Το Aspose.Words προσφέρει δωρεάν δοκιμή με υδατογράφημα. Για παραγωγική χρήση, αγοράστε άδεια και καλέστε `License license = new License(); license.SetLicense("Aspose.Words.lic");` πριν φορτώσετε το έγγραφο. + +## Συμπέρασμα + +Τώρα έχετε μια πλήρη, έτοιμη για παραγωγή συνταγή για **convert docx to png** χρησιμοποιώντας C#. Ο οδηγός κάλυψε τα πάντα, από την εγκατάσταση του Aspose.Words (η βιβλιοθήκη-πρώτος για **convert word to image**) μέχρι τη διαμόρφωση του `TextOptions` για σενάριο **set custom font**, και τελικά την απόδοση του αρχείου εικόνας. Με αυτή τη γνώση μπορείτε να **export word as png**, να το ενσωματώσετε σε ιστοσελίδες, να δημιουργήσετε μικρογραφίες ή να το τροφοδοτήσετε σε οποιοδήποτε pipeline επεξεργασίας εικόνας. + +Τι θα κάνετε στη συνέχεια; Δοκιμάστε την εξαγωγή πολλαπλών σελίδων, πειραματιστείτε με διαφορετικές ρυθμίσεις DPI, ή αλλάξτε τη μορφή εξόδου σε + +## Σχετικά Μαθήματα + +- [Πώς να ενεργοποιήσετε το Antialiasing κατά τη μετατροπή DOCX σε PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Μετατροπή HTML σε PNG σε .NET με Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – δημιουργία αρχείου zip c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/greek/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/greek/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..f1746cdad --- /dev/null +++ b/html/greek/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Μάθετε πώς να μετατρέψετε ένα έγγραφο Word σε PNG γρήγορα. Αυτό το σεμινάριο + δείχνει επίσης πώς να αποθηκεύσετε ένα έγγραφο Word ως PNG με εξομάλυνση. +draft: false +keywords: +- convert word document to png +- save word document as png +language: el +og_description: Μετατρέψτε έγγραφο Word σε PNG με λίγες γραμμές C#. Ακολουθήστε αυτόν + τον οδηγό για να αποθηκεύσετε το έγγραφο Word ως PNG αποδοτικά. +og_title: Μετατροπή εγγράφου Word σε PNG – Οδηγός βήμα‑προς‑βήμα +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Μετατροπή εγγράφου Word σε PNG – Πλήρης οδηγός προγραμματισμού +url: /el/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Μετατροπή εγγράφου Word σε PNG – Πλήρης Οδηγός Προγραμματισμού + +Έχετε ποτέ χρειαστεί να **μετατρέψετε έγγραφο Word σε PNG** αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη ή ρυθμίσεις να επιλέξετε; Δεν είστε μόνοι. Σε πολλά έργα αυτοματοποίησης γραφείου χρειάζεστε μια ραστερ εικόνα ενός αρχείου `.docx` — ίσως για μικρογραφίες, ενσωματώσεις σε email ή γρήγορους οπτικούς ελέγχους. Τα καλά νέα είναι ότι με μερικές γραμμές C# μπορείτε επίσης να **αποθηκεύσετε έγγραφο Word ως PNG** χωρίς καμία χειροκίνητη παρέμβαση. + +Σε αυτό το tutorial θα περάσουμε από ένα πραγματικό παράδειγμα χρησιμοποιώντας το Aspose.Words for .NET. Θα καλύψουμε τα πάντα, από τη φόρτωση του αρχείου προέλευσης, τη ρύθμιση των επιλογών απόδοσης εικόνας για καθαρό αποτέλεσμα, μέχρι την εγγραφή του αρχείου PNG στο δίσκο. Στο τέλος θα έχετε μια επαναχρησιμοποιήσιμη μέθοδο που μπορείτε να ενσωματώσετε σε οποιοδήποτε .NET project. + +## Προαπαιτήσεις + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε: + +- **.NET 6.0** ή νεότερο (ο κώδικας λειτουργεί επίσης σε .NET Framework 4.6+). +- Ένα **αδειοδοτημένο** αντίγραφο του **Aspose.Words for .NET** (η δωρεάν δοκιμή λειτουργεί για δοκιμές). +- Visual Studio 2022 ή οποιοδήποτε IDE προτιμάτε. +- Ένα δείγμα αρχείου Word (`input.docx`) τοποθετημένο σε φάκελο που μπορείτε να αναφέρετε. + +Δεν απαιτούνται άλλα πακέτα τρίτων. + +## Βήμα 1: Ρύθμιση του Έργου και Εισαγωγή Ονομάτων Χώρων + +Πρώτα απ' όλα, δημιουργήστε μια νέα εφαρμογή console (ή ενσωματώστε το σε υπάρχουσα υπηρεσία). Στη συνέχεια προσθέστε το πακέτο NuGet του Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Τώρα φέρτε τα απαραίτητα namespaces στο αρχείο σας: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Συμβουλή:** Αν στοχεύετε σε .NET 6+, μπορείτε να χρησιμοποιήσετε τη δυνατότητα top‑level statements και να παραλείψετε το boilerplate της μεθόδου `Main`. + +## Βήμα 2: Φόρτωση του Πηγαίου Εγγράφου Word + +Το πρώτο πραγματικό βήμα στην αλυσίδα μετατροπής είναι η φόρτωση του εγγράφου που θέλετε να ραστεροποιήσετε. Το Aspose.Words υποστηρίζει `.doc`, `.docx`, `.rtf` και πολλές άλλες μορφές, οπότε δεν περιορίζεστε μόνο στα κλασικά αρχεία Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Γιατί ελέγχουμε το `PageCount`; Επειδή ένα έγγραφο με μηδενικές σελίδες θα παρήγαγε ένα κενό PNG, κάτι που συχνά αποτελεί σιωπηλή αποτυχία που προκαλεί προβλήματα σε επόμενο κώδικα. + +## Βήμα 3: Διαμόρφωση Επιλογών Απόδοσης Εικόνας + +Κατά τη μετατροπή του διανυσματικού περιεχομένου του Word σε bitmap, θα παρατηρήσετε σκαλιστές άκρες αν μείνετε στα προεπιλεγμένα. Η ενεργοποίηση του antialiasing λειαίνει αυτές τις γραμμές, ειδικά για διαγράμματα, σχήματα και κείμενο σε μικρά μεγέθη. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Μπορεί να αναρωτιέστε, “Χρειάζομαι πάντα antialiasing?” Συνήθως, ναι, εκτός αν δημιουργείτε πολύ μικρά εικονίδια όπου η απόδοση υπερισχύει της οπτικής πιστότητας. + +## Βήμα 4: Απόδοση Κάθε Σελίδας σε Ξεχωριστό Αρχείο PNG + +Ένα έγγραφο Word μπορεί να περιέχει πολλές σελίδες. Το Aspose.Words σας επιτρέπει να αποδώσετε ολόκληρο το έγγραφο ως μία εικόνα, αλλά το πιο συνηθισμένο μοτίβο είναι η δημιουργία ενός PNG ανά σελίδα. Παρακάτω θα περάσουμε σε βρόχο τις σελίδες, αποδίδοντας καθεμία σε δικό της αρχείο. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Γιατί να χρησιμοποιήσετε ένα `using` block;** Το `ImageRenderer` διατηρεί μη διαχειριζόμενους πόρους (όπως χειριστές GDI+). Η τοποθέτησή του μέσα σε `using` εγγυάται σωστό καθαρισμό, αποτρέποντας διαρροές μνήμης σε υπηρεσίες που τρέχουν για μεγάλο χρονικό διάστημα. + +### Περιπτώσεις Άκρων & Συμβουλές + +- **Μεγάλα Έγγραφα:** Η απόδοση ενός εγγράφου 200 σελίδων μπορεί να είναι απαιτητική σε μνήμη. Σκεφτείτε να αποδίδετε σε παρτίδες ή να αυξήσετε την ιδιότητα `MaxMemoryUsage` αν αντιμετωπίσετε `OutOfMemoryException`. +- **Διαφανές Φόντο:** Αν το αρχείο Word περιέχει διαφανή σχήματα και θέλετε διαφανές PNG, ορίστε `BackgroundColor = Color.Transparent` στο `ImageRenderingOptions`. +- **Κλιμάκωση:** Για δημιουργία μικρογραφίας, προσαρμόστε το `ImageSaveOptions` (π.χ., `Resolution = 72`) ή αλλάξτε το μέγεθος του παραγόμενου PNG με `System.Drawing`. + +## Βήμα 5: Συσκευασία σε Επαναχρησιμοποιήσιμη Μέθοδο + +Η τοποθέτηση της λογικής μετατροπής σε μία μέθοδο την καθιστά εύκολη στην κλήση από οπουδήποτε — είτε από web API, background worker ή desktop UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Τώρα μπορείτε να καλέσετε: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Και η μέθοδος θα **αποθηκεύσει έγγραφο Word ως PNG** αρχεία με ονόματα `page_1.png`, `page_2.png`, κ.λπ. + +## Αναμενόμενο Αποτέλεσμα + +Η εκτέλεση του δείγματος κώδικα σε ένα τρισελίδες `input.docx` θα παραγάγει: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Ανοίξτε οποιοδήποτε από αυτά τα PNG σε προβολέα εικόνας — θα δείτε μια καθαρή, antialiased απόδοση της αντίστοιχης σελίδας Word. Χωρίς επιπλέον περιθώρια, χωρίς παραμόρφωση, μόνο ένα πιστό bitmap στιγμιότυπο. + +## Συνηθισμένα Προβλήματα και Πώς να τα Αποφύγετε + +| Πρόβλημα | Γιατί Συμβαίνει | Διόρθωση | +|----------|----------------|----------| +| **Blank PNG** | Το έγγραφο δεν φορτώθηκε (`doc` είναι null) ή ο δείκτης σελίδας εκτός ορίου. | Επαληθεύστε τη διαδρομή του αρχείου και βεβαιωθείτε ότι `doc.PageCount` > 0 πριν την απόδοση. | +| **Jagged Text** | Η αντι-αλλοτρίωση είναι απενεργοποιημένη ή το DPI είναι πολύ χαμηλό. | Ορίστε `UseAntialiasing = true` και προαιρετικά αυξήστε το `Resolution` (π.χ., 150 DPI). | +| **Out‑of‑Memory** | Απόδοση πολύ μεγάλων σελίδων σε υψηλό DPI σε βρόχο. | Αποδίδετε μία σελίδα τη φορά (όπως φαίνεται) και απελευθερώνετε άμεσα το `ImageRenderer`. | +| **Incorrect Colors** | Το χρώμα φόντου προεπιλογή είναι λευκό· τα διαφανή έγγραφα εμφανίζονται λευκά. | Ορίστε `BackgroundColor = Color.Transparent` όταν χρειάζεται. | + +## Συμπέρασμα + +Δείξαμε μια καθαρή, έτοιμη για παραγωγή μέθοδο να **μετατρέψετε έγγραφο Word σε PNG** και, κατά συνέπεια, να **αποθηκεύσετε έγγραφο Word ως PNG** χρησιμοποιώντας το Aspose.Words for .NET. Τα βήματα είναι απλά: + +1. Φορτώστε το `.docx` με το `Document`. +2. Ρυθμίστε το `ImageRenderingOptions` (antialiasing, DPI, φόντο). +3. Περάστε τις σελίδες σε βρόχο και καλέστε `ImageRenderer.RenderToFile`. + +Με τη επαναχρησιμοποιήσιμη μέθοδο `ConvertWordToPng`, μπορείτε τώρα να ενσωματώσετε προεπισκοπήσεις εικόνας σε οποιαδήποτε εφαρμογή C# — είτε είναι web service που δημιουργεί μικρογραφίες για ανεβασμένα συμβόλαια, desktop εργαλείο που αρχειοθετεί αναφορές ως PNG, ή batch job που προετοιμάζει πόρους για σύστημα διαχείρισης περιεχομένου. + +**Τι ακολουθεί;** Δοκιμάστε άλλες μορφές εικόνας (`ImageFormat.Jpeg`, `Bmp`) ή εξερευνήστε το `PdfSaveOptions` αν χρειάζεστε PDF παράλληλα με τα PNG. Μπορείτε επίσης να προσθέσετε υδατογραφήματα ή να αλλάξετε το μέγεθος της εξόδου σε πραγματικό χρόνο. + +Καλή προγραμματιστική δουλειά, και μη διστάσετε να αφήσετε σχόλιο αν συναντήσετε δυσκολίες! + +## Σχετικές Εκπαιδεύσεις + +- [μετατροπή docx σε png – δημιουργία αρχείου zip c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Πώς να ενεργοποιήσετε την Antialiasing κατά τη μετατροπή DOCX σε PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Πώς να χρησιμοποιήσετε το Aspose για απόδοση HTML σε PNG – Οδηγός βήμα‑βήμα](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/greek/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..539563613 --- /dev/null +++ b/html/greek/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,312 @@ +--- +category: general +date: 2026-05-25 +description: Δημιουργήστε PNG από HTML γρήγορα χρησιμοποιώντας το Aspose.HTML. Μάθετε + πώς να αποδίδετε HTML σε PNG, να μετατρέπετε HTML σε PNG και να διαχειρίζεστε τους + πόρους αποδοτικά. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: el +og_description: Δημιουργήστε PNG από HTML με το Aspose.HTML. Αυτός ο οδηγός δείχνει + πώς να αποδώσετε HTML σε PNG, να μετατρέψετε HTML σε PNG και να διαχειριστείτε σωστά + τους πόρους. +og_title: Δημιουργία PNG από HTML – Πλήρες Μάθημα Προγραμματισμού +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Δημιουργία PNG από HTML – Πλήρης Οδηγός Βήμα‑Βήμα +url: /el/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Δημιουργία PNG από HTML – Πλήρης Οδηγός Βήμα‑Βήμα + +Έχετε αναρωτηθεί ποτέ πώς να **create PNG from HTML** χωρίς να χρησιμοποιείτε μια σειρά από εξωτερικά εργαλεία; Δεν είστε ο μόνος. Είτε δημιουργείτε έναν γεννήτρια προεπισκόπησης email, έναν πίνακα αναφορών, ή μια υπηρεσία μικρογραφιών, η μετατροπή του HTML markup σε μια καθαρή εικόνα PNG είναι μια συχνή ανάγκη. Σε αυτό το tutorial θα περάσουμε από ένα πλήρες, εκτελέσιμο παράδειγμα που **renders HTML to PNG**, σας δείχνει πώς να **convert HTML to PNG** με το Aspose.HTML, και ακόμη εξηγεί **how to handle resources** όπως εικόνες, CSS και γραμματοσειρές. + +Θα ξεκινήσουμε με μια μικρή συμβολοσειρά HTML, θα ρυθμίσουμε έναν προσαρμοσμένο `ResourceHandler` που γράφει κάθε εξωτερικό στοιχείο στο δίσκο, και θα ολοκληρώσουμε αποθηκεύοντας ένα τέλειο αρχείο PNG. Στο τέλος θα έχετε μια αυτόνομη λύση που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο .NET. + +## Τι Θα Μάθετε + +- Πώς να δημιουργήσετε ένα `HTMLDocument` από μια συμβολοσειρά ή αρχείο. +- Πώς να υλοποιήσετε έναν προσαρμοσμένο `ResourceHandler` ώστε κάθε πόρος που ζητά ο renderer να αποθηκεύεται τοπικά. +- Τα ακριβή βήματα για **render HTML to PNG** χρησιμοποιώντας το `ImageRenderer`. +- Συνηθισμένα προβλήματα (έλλειψη γραμματοσειρών, σχετικές URLs) και ο καλύτερος τρόπος **to handle resources**. +- Πώς να επαληθεύσετε το αποτέλεσμα και να προσαρμόσετε το μέγεθος ή τη μορφή της εικόνας αν χρειάζεται. + +### Προαπαιτούμενα + +- .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί επίσης σε .NET Framework 4.7+). +- Μια αναφορά στο πακέτο NuGet **Aspose.HTML for .NET**. +- Βασική εξοικείωση με C# και ασύγχρονα streams (όχι υποχρεωτικό, αλλά χρήσιμο). + +Χωρίς εξωτερικά εργαλεία, χωρίς headless browsers—μόνο απλό C# και Aspose.HTML. + +--- + +## Δημιουργία PNG από HTML – Επισκόπηση + +Παρακάτω βρίσκεται ο **complete, ready‑to‑run code**. Μπορείτε να τον αντιγράψετε‑και‑επικολλήσετε σε μια εφαρμογή console, να προσαρμόσετε το placeholder `YOUR_DIRECTORY`, και να πατήσετε F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Αντικαταστήστε το `"YOUR_DIRECTORY"` με μια απόλυτη διαδρομή (π.χ., `Path.GetFullPath("./output")`) για να αποφύγετε εκπλήξεις όταν η εφαρμογή εκτελείται από διαφορετικό φάκελο εργασίας. + +--- + +## Βήμα 1: Προετοιμασία του Εγγράφου HTML + +Το πρώτο που κάνουμε είναι να τυλίξουμε μια ακατέργαστη συμβολοσειρά HTML σε ένα `HTMLDocument`. Το Aspose.HTML αντιμετωπίζει αυτό το αντικείμενο ως πλήρως εξοπλισμένο DOM, πράγμα που σημαίνει ότι θα επιλύσει ετικέτες ``, μπλοκ ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Μπορείτε να αντικαταστήσετε τη συμβολοσειρά με οποιοδήποτε HTML θέλετε—ίσως το αποτέλεσμα μιας Razor προβολής ή μιας μετατροπής Markdown‑σε‑HTML. Το σημαντικό είναι ότι το έγγραφο γνωρίζει τον προσαρμοσμένο διαχειριστή που θα περάσουμε αργότερα. + +--- + +## Επιλογές Απόδοσης Εικόνας – Λεπτομερής Ρύθμιση Antialiasing και Font Hinting + +Η απλή απόδοση λειτουργεί, αλλά κάποιες φορές χρειάζεστε το επιπλέον polish: πιο ομαλές άκρες, πιο καθαρό κείμενο ή σωστή θέση υπο‑pixel. Εδώ είναι που οι **επιλογές απόδοσης εικόνας** ξεχωρίζουν. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Τι συμβαίνει στο παρασκήνιο;* +`ImageRenderingOptions` λέει στον αποδοτικό μηχανισμό ποια γραμματοσειρά να χρησιμοποιήσει και αν θα λειαίνει γεωμετρικά σχήματα. `TextOptions` εστιάζει στο πώς rasterize τα glyphs—το hinting ευθυγραμμίζει τους χαρακτήρες στο πλέγμα των pixel, κάτι που είναι ιδιαίτερα χρήσιμο σε μικρά μεγέθη. + +--- + +## Απόδοση HTML με Επιλογές – Εφαρμογή Ρυθμίσεων Απόδοσης + +Με το έγγραφο και τις επιλογές έτοιμες, μπορούμε τελικά να **αποδώσουμε HTML με επιλογές**. Θα παραγάγουμε τρία αρχεία: + +1. Ένα βασικό PNG (χωρίς επιπλέον επιλογές). +2. Ένα PNG με antialiasing. +3. Ένα PNG με ενεργό hinting. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Παρατηρήστε πώς κάθε `ImageRenderer` λαμβάνει διαφορετικό δεύτερο όρισμα: τον απλό διαχειριστή, τις ρυθμίσεις antialiasing και τις ρυθμίσεις hinting. Αυτό το μοτίβο σας επιτρέπει να ανταλλάξετε διαμορφώσεις χωρίς να αλλάξετε άλλο κώδικα—ιδανικό για unit tests ή feature flags. + +> **Συχνή ερώτηση:** *«Μπορώ να συνδυάσω antialiasing και hinting σε μία εκτέλεση;»* +> Απόλυτα. Απλώς δημιουργήστε ένα ενιαίο αντικείμενο επιλογών που ορίζει και τα `UseAntialiasing` και `UseHinting` σε `true`, και μετά το περάστε στο `ImageRenderer`. + +--- + +## Επαλήθευση του Αποτελέσματος – Τι να Περιμένετε + +Αφού εκτελέσετε το πρόγραμμα, ανοίξτε τα τρία αρχεία PNG: + +- **out.png** – μια πιστή λήψη του HTML, αλλά οι άκρες μπορεί να φαίνονται λίγο ακανόνιστες. +- **img.png** – πιο ομαλές γραμμές και καμπύλες χάρη στο antialiasing. +- **txt.png** – το κείμενο εμφανίζεται πιο καθαρό, ειδικά στα 12 pt Verdana, λόγω του font hinting. + +Αν κάποια από τις εικόνες φαίνεται λανθασμένη, ελέγξτε ξανά ότι το `YOUR_DIRECTORY/Resources` περιέχει το αναφερόμενο `logo.png`. Η έλλειψη πόρων θα κάνει τον αποδοτικό μηχανισμό να επιστρέψει σε ένα placeholder, το οποίο μπορεί να φαίνεται περίεργο. + +--- + +## Πλήρες Παράδειγμα Εργασίας + +Παρακάτω βρίσκεται ολόκληρο το πρόγραμμα, έτοιμο για αντιγραφή‑επικόλληση σε μια εφαρμογή console. Περιλαμβάνει όλες τις οδηγίες `using` και μια ελάχιστη μέθοδο `Main`. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Εκτελέστε το πρόγραμμα, εξετάστε τα τρία PNG και θα δείτε ακριβώς πώς κάθε επιλογή επηρεάζει την τελική εικόνα. Μη διστάσετε να πειραματιστείτε—αλλάξτε τη γραμματοσειρά, ενεργοποιήστε/απενεργοποιήστε το `UseAntialiasing`, ή προσθέστε περισσότερους κανόνες CSS. Ο ουρανός είναι το όριο όταν **μετατρέπετε HTML σε εικόνα** κατόπιν ζήτησης. + +--- + +## Επόμενα Βήματα & Σχετικά Θέματα + +- **Επεξεργασία παρτίδας:** Επανάληψη πάνω σε μια συλλογή αποσπασμάτων HTML και δημιουργία μικρογραφιών για κάθε ένα. +- **Μετατροπή PDF:** Συνδυάστε τα PNG με μια βιβλιοθήκη PDF (π.χ., iTextSharp) για να παράγετε έγγραφα πολλαπλών σελίδων. +- **Δυναμικοί πόροι:** Επεκτείνετε το `MyHandler` ώστε να λαμβάνει εικόνες από CDN ή βάση δεδομένων αντί για το σύστημα αρχείων. +- **Βελτιστοποίηση απόδοσης:** Κρατήστε στην cache τις αποδοθείσες εικόνες όταν το πηγαίο HTML δεν έχει αλλάξει· αυτό μειώνει δραστικά το φορτίο CPU. + +Αν ενδιαφέρεστε για πιο βαθιά προσαρμογή, ρίξτε μια ματιά στην ιδιότητα `RenderTransform` του `ImageRenderer` για περιστροφή ή κλιμάκωση, ή εξερευνήστε τις ρυθμίσεις του `CssEngine` για προηγμένο έλεγχο διάταξης. + +--- + +## Συμπέρασμα + +Καλύψαμε όλα όσα χρειάζεστε για να **αποδώσετε HTML σε PNG** με C#: έναν προσαρμοσμένο διαχειριστή πόρων, τη φόρτωση markup, τη διαμόρφωση *επιλογών απόδοσης εικόνας*, και τελικά **απόδοση HTML με επιλογές** που παρέχουν antialiasing και font hinting. Το πλήρες, εκτελέσιμο παράδειγμα θα πρέπει να λειτουργεί αμέσως, και ο μοντέλο σχεδίασης το κάνει εύκολο στην προσαρμογή σε μεγαλύτερα έργα. + +Δοκιμάστε το, τροποποιήστε τις ρυθμίσεις, και αφήστε τις αποδοθείσες εικόνες να μιλήσουν στην επόμενη εκστρατεία email, στον πίνακα ελέγχου ή στο εργαλείο αναφορών σας. Έχετε + +## Σχετικά Μαθήματα + +- [Πώς να Αποδώσετε HTML ως PNG – Πλήρης Οδηγός C#](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Πώς να Χρησιμοποιήσετε Aspose για Απόδοση HTML σε PNG – Οδηγός Βήμα‑Βήμα](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Δημιουργία PNG από HTML – Πλήρης Οδηγός Απόδοσης C#](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/hindi/net/generate-jpg-and-png-images/_index.md index b35cbb62e..e17ae2999 100644 --- a/html/hindi/net/generate-jpg-and-png-images/_index.md +++ b/html/hindi/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ HTML दस्तावेज़ों में हेरफेर करने DOCX फ़ाइलों को PNG या JPG में परिवर्तित करते समय एंटीएलियासिंग को सक्षम करने के चरणों को जानें। ### [DOCX को PNG में परिवर्तित करें – ZIP आर्काइव बनाएं C# ट्यूटोरियल](./convert-docx-to-png-create-zip-archive-c-tutorial/) C# में DOCX फ़ाइलों को PNG छवियों में बदलें और उन्हें ZIP आर्काइव में संकलित करना सीखें। चरण-दर-चरण मार्गदर्शिका। +### [C# में DOCX को PNG में बदलें – पूर्ण चरण‑दर‑चरण गाइड](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +C# का उपयोग करके DOCX फ़ाइलों को PNG छवियों में बदलने की पूरी प्रक्रिया सीखें, कोड उदाहरण और विस्तृत चरणों के साथ। +### [HTML से PNG बनाएं – पूर्ण चरण-दर-चरण गाइड](./create-png-from-html-full-step-by-step-guide/) +HTML को PNG इमेज में बदलने की पूरी प्रक्रिया सीखें, सभी आवश्यक चरणों के साथ। +### [Aspose के साथ HTML से PNG बनाएं – HTML को PNG में रेंडर करें](./create-png-from-html-with-aspose-render-html-to-png/) +Aspose का उपयोग करके HTML को PNG इमेज में बदलने की प्रक्रिया सीखें। +### [HTML को PNG में रेंडर करें – कस्टम हैंडलर्स और विकल्पों के साथ पूर्ण गाइड](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +कस्टम हैंडलर्स और विभिन्न विकल्पों का उपयोग करके HTML को PNG इमेज में बदलने की पूरी प्रक्रिया सीखें। +### [Word दस्तावेज़ को PNG में परिवर्तित करें – पूर्ण प्रोग्रामिंग गाइड](./convert-word-document-to-png-complete-programming-guide/) +C# में Word फ़ाइलों को PNG छवियों में बदलने की पूरी प्रक्रिया सीखें, कोड उदाहरण और चरण-दर-चरण निर्देशों के साथ। ## निष्कर्ष diff --git a/html/hindi/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/hindi/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..3a6987b27 --- /dev/null +++ b/html/hindi/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-05-25 +description: C# का उपयोग करके docx को जल्दी से png में बदलें। जानें कि कैसे वर्ड को + इमेज में बदलें, वर्ड को png के रूप में एक्सपोर्ट करें, और एक ही ट्यूटोरियल में कस्टम + फ़ॉन्ट सेट करें। +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: hi +og_description: C# के साथ docx को png में बदलें। यह गाइड दिखाता है कि कैसे वर्ड को + png के रूप में निर्यात करें और परिपूर्ण परिणामों के लिए कस्टम फ़ॉन्ट सेट करें। +og_title: C# में docx को png में बदलें – पूर्ण प्रोग्रामिंग गाइड +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: C# में docx को png में बदलें – पूर्ण चरण‑दर‑चरण मार्गदर्शिका +url: /hi/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में docx को png में बदलें – पूर्ण चरण‑दर‑चरण गाइड + +क्या आपको कभी **convert docx to png** की ज़रूरत पड़ी है लेकिन आप यह नहीं जानते थे कि कौन सी लाइब्रेरी आपको साफ़ glyphs और पूर्ण‑पृष्ठ की सटीकता देगी? आप अकेले नहीं हैं। कई office‑automation प्रोजेक्ट्स में, एक Word दस्तावेज़ को इमेज में बदलना (जैसे “convert word to image”) वेब पेज या ईमेल में कंटेंट एम्बेड करने का सबसे तेज़ तरीका है, बिना Office इंस्टॉलेशन की चिंता किए। + +बात यह है: Aspose.Words for .NET API आपको **export word as png** केवल कुछ लाइनों में करने देता है, और आप **set custom font** सेटिंग्स भी सेट कर सकते हैं ताकि आउटपुट बिल्कुल मूल जैसा दिखे। इस ट्यूटोरियल में हम पूरी प्रक्रिया को समझेंगे—पैकेज को इंस्टॉल करने से लेकर अंतिम PNG को रेंडर करने तक—ताकि आप आज ही docx को png में बदलना शुरू कर सकें। + +## docx को png में बदलें – अवलोकन और आवश्यकताएँ + +कोड में जाने से पहले, सुनिश्चित करें कि आपके पास सभी आवश्यक चीज़ें हैं: + +* **.NET 6.0 या बाद का** – यह उदाहरण .NET 6 को टार्गेट करता है, लेकिन पहले के संस्करण भी काम करेंगे। +* **Aspose.Words for .NET** – एक NuGet पैकेज जो `Document`, `TextOptions`, और `ImageRenderer` प्रदान करता है। +* एक **sample DOCX** फ़ाइल जिसे आप इमेज में बदलना चाहते हैं (इसे किसी ऐसे फ़ोल्डर में रखें जिसे आप रेफ़र कर सकें)। +* वैकल्पिक: एक **custom TrueType font** (जैसे, Times New Roman) यदि आप दस्तावेज़ के डिफ़ॉल्ट फ़ॉन्ट को ओवरराइड करना चाहते हैं। + +यदि आपने ये बिंदु चेक कर लिए हैं, तो आप आत्मविश्वास के साथ word को image में बदलना शुरू करने के लिए तैयार हैं। + +## Aspose.Words for .NET इंस्टॉल करें (convert word to image) + +पहला कदम लाइब्रेरी को आपके प्रोजेक्ट में जोड़ना है। अपने सॉल्यूशन फ़ोल्डर में एक टर्मिनल खोलें और चलाएँ: + +```bash +dotnet add package Aspose.Words +``` + +यह एकल कमांड Aspose.Words का नवीनतम स्थिर संस्करण जोड़ता है, जिसमें वह `ImageRenderer` क्लास शामिल है जिसकी हमें **export docx as png** के लिए आवश्यकता होगी। रीस्टोर समाप्त होने के बाद, आप तैयार हैं। + +> **Pro tip:** यदि आप Visual Studio का उपयोग कर रहे हैं, तो आप पैकेज को NuGet Package Manager UI के माध्यम से भी जोड़ सकते हैं—सिर्फ “Aspose.Words” खोजें। + +## स्रोत दस्तावेज़ लोड करें (convert docx to png) + +अब हम DOCX फ़ाइल लोड करेंगे। यही वह बिंदु है जहाँ **convert docx to png** पाइपलाइन वास्तव में शुरू होती है। + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` मेमोरी में पूरे Word फ़ाइल को दर्शाता है। पाथ absolute या relative हो सकता है; बस सुनिश्चित करें कि फ़ाइल मौजूद है, अन्यथा आपको `FileNotFoundException` मिलेगा। + +## टेक्स्ट रेंडरिंग विकल्प कॉन्फ़िगर करें (set custom font) + +यदि आपका DOCX ऐसा फ़ॉन्ट उपयोग करता है जो लक्ष्य मशीन पर इंस्टॉल नहीं है, तो रेंडर किया गया PNG ख़राब दिख सकता है। इसलिए अक्सर आपको निर्यात करने से पहले **set custom font** की आवश्यकता होती है। + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` रेंडरर को sub‑pixel hinting लागू करने के लिए बताता है, जो अक्षरों के किनारों को तेज़ करता है—विशेषकर high‑resolution PNGs के लिए महत्वपूर्ण। +* `FontInfo` हर टेक्स्ट को *Times New Roman* 14 pt पर ड्रॉ करने के लिए मजबूर करता है, चाहे मूल DOCX में क्या भी निर्दिष्ट हो। आप इस नाम को सर्वर पर उपलब्ध किसी भी फ़ॉन्ट से बदल सकते हैं। + +## ImageRenderer बनाएं (convert word to image) + +दस्तावेज़ और विकल्प तैयार होने के बाद, हम `ImageRenderer` को इंस्टैंशिएट करते हैं। यह क्लास पृष्ठों को bitmap इमेज में बदलने का भारी काम करती है। + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* `using` ब्लॉक यह सुनिश्चित करता है कि रेंडरर तुरंत नेटीव रिसोर्सेज़ (जैसे GDI हैंडल) रिलीज़ कर दे। +* `RenderToFile` एक पाथ और एक `ImageFormat` लेता है। यदि आपको सभी पृष्ठ चाहिए, तो आप `renderer.PageCount` पर लूप कर सकते हैं और `RenderToFile` को पृष्ठ‑विशिष्ट फ़ाइलनाम के साथ कॉल कर सकते हैं। + +## आउटपुट सत्यापित करें (export docx as png) + +कोड चलने के बाद, आपको निर्दिष्ट फ़ोल्डर में `hinted.png` दिखना चाहिए। इसे किसी भी इमेज व्यूअर से खोलें—क्या टेक्स्ट स्पष्ट दिख रहा है? यदि आपने कस्टम फ़ॉन्ट इस्तेमाल किया है, तो आपको पूरे पृष्ठ में समान टाइपफ़ेस दिखाई देगा। + +यहाँ एक त्वरित विज़ुअल रेफ़रेंस है (प्रकाशन के समय अपने स्वयं के स्क्रीनशॉट से बदलें): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – Times New Roman फ़ॉन्ट के साथ Word पेज का PNG रेंडरिंग। + +यदि इमेज धुंधली दिखती है, तो दोबारा जाँचें कि `UseHinting` `true` पर सेट है और रेंडरर का DPI (डिफ़ॉल्ट 96) आपकी जरूरतों से मेल खाता है। आप `RenderToFile` कॉल करने से पहले `renderer.ImageOptions.Resolution = 300;` के माध्यम से DPI समायोजित कर सकते हैं। + +## पूर्ण, चलाने योग्य प्रोग्राम (export word as png) + +सब कुछ मिलाकर, यहाँ एक स्व-निहित कंसोल ऐप है जिसे आप `Program.cs` में कॉपी‑पेस्ट कर सकते हैं और चला सकते हैं: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**यह प्रोग्राम क्या करता है:** + +1. `input.docx` लोड करता है। +2. हर अक्षर को *Times New Roman* 14 pt पर हिन्टिंग सक्षम के साथ उपयोग करने के लिए मजबूर करता है। +3. पहले पृष्ठ को 300 DPI पर रेंडर करता है, जिससे उच्च‑गुणवत्ता वाला PNG बनता है। +4. सफलता की पुष्टि करने वाला एक मैत्रीपूर्ण कंसोल संदेश लिखता है। + +`dotnet run` के साथ चलाएँ और आपके पास एक पूरी तरह से रेंडर किया हुआ इमेज होगा, जो वेब डिस्प्ले, PDF एम्बेडिंग, या किसी भी अन्य स्थिति के लिए तैयार है जहाँ आपको Office के ओवरहेड के बिना **convert docx to png** करने की जरूरत है। + +## सामान्य प्रश्न और किनारे‑केस हैंडलिंग + +* **यदि मुझे सभी पृष्ठ चाहिए तो?** + `renderer.PageCount` पर लूप करें और `RenderToFile` को ऐसे फ़ाइलनाम के साथ कॉल करें जिसमें पृष्ठ संख्या शामिल हो, उदाहरण के लिए `output_page_{i}.png`। + +* **क्या मैं अन्य इमेज फ़ॉर्मेट में निर्यात कर सकता हूँ?** + बिल्कुल। अपने डाउनस्ट्रीम आवश्यकताओं के अनुसार `ImageFormat.Png` को `ImageFormat.Jpeg`, `ImageFormat.Bmp`, या `ImageFormat.Tiff` से बदलें। + +* **मेरे दस्तावेज़ में एम्बेडेड फ़ॉन्ट हैं—क्या मुझे अभी भी `set custom font` की जरूरत है?** + यदि DOCX पहले से ही आवश्यक फ़ॉन्ट एम्बेड कर चुका है, तो आप `Font` प्रॉपर्टी को स्किप कर सकते हैं। रेंडरर स्वचालित रूप से एम्बेडेड फ़ॉन्ट का सम्मान करेगा। + +* **मैं बड़ी दस्तावेज़ों को मेमोरी समाप्त हुए बिना कैसे संभालूँ?** + `using` ब्लॉक के अंदर एक बार में एक पृष्ठ प्रोसेस करें, और सहेजने के बाद प्रत्येक जेनरेटेड बिटमैप को डिस्पोज़ करें। इससे मेमोरी फ़ुटप्रिंट कम रहता है। + +* **क्या लाइसेंसिंग संबंधी कोई चिंता है?** + Aspose.Words एक वॉटरमार्क के साथ मुफ्त ट्रायल देता है। प्रोडक्शन उपयोग के लिए, लाइसेंस खरीदें और दस्तावेज़ लोड करने से पहले `License license = new License(); license.SetLicense("Aspose.Words.lic");` कॉल करें। + +## निष्कर्ष + +अब आपके पास C# का उपयोग करके **convert docx to png** करने के लिए एक पूर्ण, प्रोडक्शन‑रेडी रेसिपी है। गाइड ने Aspose.Words को इंस्टॉल करने (जो **convert word to image** के लिए प्रमुख लाइब्रेरी है) से लेकर `TextOptions` को **set custom font** परिदृश्य के लिए कॉन्फ़िगर करने और अंत में इमेज फ़ाइल को रेंडर करने तक सब कुछ कवर किया। इस ज्ञान के साथ आप **export word as png** कर सकते हैं, इसे वेब पेजों में एम्बेड कर सकते हैं, थंबनेल बना सकते हैं, या इसे किसी भी इमेज‑प्रोसेसिंग पाइपलाइन में फीड कर सकते हैं। + +अगला क्या? कई पृष्ठों को एक्सपोर्ट करने की कोशिश करें, विभिन्न DPI सेटिंग्स के साथ प्रयोग करें, या आउटपुट फ़ॉर्मेट को बदलें + +## संबंधित ट्यूटोरियल + +- [DOCX को PNG/JPG में बदलते समय एंटीएलियासिंग कैसे सक्षम करें](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [.NET में Aspose.HTML के साथ HTML को PNG में बदलें](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip आर्काइव बनाना c# ट्यूटोरियल](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hindi/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/hindi/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..cf9d6924f --- /dev/null +++ b/html/hindi/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Word दस्तावेज़ को जल्दी से PNG में बदलना सीखें। यह ट्यूटोरियल यह भी दिखाता + है कि एंटीएलियासिंग के साथ Word दस्तावेज़ को PNG के रूप में कैसे सहेजें। +draft: false +keywords: +- convert word document to png +- save word document as png +language: hi +og_description: कुछ लाइनों के C# कोड से Word दस्तावेज़ को PNG में बदलें। Word दस्तावेज़ + को PNG के रूप में कुशलतापूर्वक सहेजने के लिए इस गाइड का पालन करें। +og_title: वर्ड दस्तावेज़ को PNG में बदलें – चरण-दर-चरण गाइड +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: वर्ड दस्तावेज़ को PNG में बदलें – पूर्ण प्रोग्रामिंग गाइड +url: /hi/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word दस्तावेज़ को PNG में बदलें – पूर्ण प्रोग्रामिंग गाइड + +क्या आपको कभी **Word दस्तावेज़ को PNG में बदलने** की ज़रूरत पड़ी है लेकिन यह नहीं पता था कि कौन‑सी लाइब्रेरी या सेटिंग चुनें? आप अकेले नहीं हैं। कई ऑफिस‑ऑटोमेशन प्रोजेक्ट्स में आपको `.docx` फ़ाइल की रास्टर इमेज चाहिए होती है—शायद थंबनेल प्रीव्यू, ई‑मेल एम्बेड, या तेज़ विज़ुअल चेक के लिए। अच्छी खबर यह है कि कुछ ही लाइनों के C# कोड से आप **Word दस्तावेज़ को PNG के रूप में सहेज** सकते हैं, बिना किसी मैन्युअल झंझट के। + +इस ट्यूटोरियल में हम Aspose.Words for .NET का उपयोग करके एक वास्तविक उदाहरण से गुजरेंगे। हम स्रोत फ़ाइल लोड करने, स्पष्ट आउटपुट के लिए इमेज रेंडरिंग विकल्पों को ट्यून करने, और PNG फ़ाइल को डिस्क पर लिखने तक सब कवर करेंगे। अंत तक आपके पास एक पुन: उपयोग योग्य मेथड होगा जिसे आप किसी भी .NET प्रोजेक्ट में डाल सकते हैं। + +## Prerequisites + +शुरू करने से पहले सुनिश्चित करें कि आपके पास है: + +- **.NET 6.0** या बाद का संस्करण (कोड .NET Framework 4.6+ पर भी काम करता है)। +- **Aspose.Words for .NET** की **लाइसेंस्ड** कॉपी (फ़्री ट्रायल टेस्टिंग के लिए पर्याप्त है)। +- Visual Studio 2022 या आपका पसंदीदा कोई भी IDE। +- एक सैंपल Word फ़ाइल (`input.docx`) जिसे आप किसी फ़ोल्डर में रख कर रेफ़रेंस कर सकें। + +कोई अन्य थर्ड‑पार्टी पैकेज आवश्यक नहीं है। + +## Step 1: Set Up the Project and Import Namespaces + +सबसे पहले, एक नया कंसोल ऐप बनाएं (या मौजूदा सर्विस में इंटीग्रेट करें)। फिर Aspose.Words NuGet पैकेज जोड़ें: + +```bash +dotnet add package Aspose.Words +``` + +अब आवश्यक नेमस्पेसेज़ को फ़ाइल में इम्पोर्ट करें: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** यदि आप .NET 6+ टार्गेट कर रहे हैं, तो आप टॉप‑लेवल स्टेटमेंट्स फ़ीचर का उपयोग कर सकते हैं और `Main` मेथड बायलरप्लेट को स्किप कर सकते हैं। + +## Step 2: Load the Source Word Document + +कन्वर्ज़न पाइपलाइन में पहला वास्तविक कदम है वह दस्तावेज़ लोड करना जिसे आप रास्टराइज़ करना चाहते हैं। Aspose.Words `.doc`, `.docx`, `.rtf` और कई अन्य फ़ॉर्मैट्स को सपोर्ट करता है, इसलिए आप क्लासिक ऑफिस फ़ाइल टाइप्स तक सीमित नहीं हैं। + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +हम `PageCount` की जाँच क्यों करते हैं? क्योंकि शून्य‑पेज दस्तावेज़ एक खाली PNG उत्पन्न करेगा, जो अक्सर एक साइलेंट फ़ेल्योर होता है और डाउनस्ट्रीम कोड को त्रुटि देता है। + +## Step 3: Configure Image Rendering Options + +जब आप वेक्टर‑बेस्ड Word कंटेंट को बिटमैप में बदलते हैं, तो डिफ़ॉल्ट सेटिंग्स के साथ आपको जैग्ड एजेज़ दिख सकते हैं। एंटी‑एलियासिंग को एनेबल करने से उन लाइनों को स्मूद किया जा सकता है, ख़ासकर चार्ट्स, शेप्स और छोटे साइज के टेक्स्ट के लिए। + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +आप सोच सकते हैं, “क्या मुझे हमेशा एंटी‑एलियासिंग चाहिए?” आमतौर पर, हाँ, जब तक आप बहुत छोटे आइकॉन नहीं बना रहे हों जहाँ परफ़ॉर्मेंस विज़ुअल फ़िडेलिटी से ज़्यादा महत्त्वपूर्ण हो। + +## Step 4: Render Each Page to a Separate PNG File + +एक Word दस्तावेज़ में कई पेज हो सकते हैं। Aspose.Words पूरे दस्तावेज़ को एक ही इमेज के रूप में रेंडर कर सकता है, लेकिन अधिक सामान्य पैटर्न है कि प्रत्येक पेज के लिए एक PNG बनाएं। नीचे हम पेजेज़ पर लूप करेंगे और प्रत्येक को अपनी फ़ाइल में रेंडर करेंगे। + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**`using` ब्लॉक क्यों उपयोग करें?** `ImageRenderer` अनमैनेज्ड रिसोर्सेज़ (जैसे GDI+ हैंडल्स) रखता है। इसे `using` में रैप करने से सही क्लीन‑अप सुनिश्चित होता है, जिससे लॉन्ग‑रनिंग सर्विसेज़ में मेमोरी लीक्स नहीं होते। + +### Edge Cases & Tips + +- **बड़े दस्तावेज़:** 200‑पेज वाले डॉक को रेंडर करना मेमोरी‑इंटेन्सिव हो सकता है। बैच‑वाइज रेंडरिंग पर विचार करें या `MaxMemoryUsage` प्रॉपर्टी को बढ़ाएँ यदि `OutOfMemoryException` आती है। +- **ट्रांसपेरेंट बैकग्राउंड:** यदि आपके Word फ़ाइल में ट्रांसपेरेंट शेप्स हैं और आप ट्रांसपेरेंट PNG चाहते हैं, तो `ImageRenderingOptions` में `BackgroundColor = Color.Transparent` सेट करें। +- **स्केलिंग:** थंबनेल बनाने के लिए `ImageSaveOptions` (जैसे `Resolution = 72`) को एडजस्ट करें या `System.Drawing` से रेज़ल्टिंग PNG को रीसाइज़ करें। + +## Step 5: Wrap It Up in a Reusable Method + +कन्वर्ज़न लॉजिक को एक ही मेथड में रखने से इसे कहीं भी कॉल करना आसान हो जाता है—चाहे वह वेब API हो, बैकग्राउंड वर्कर, या डेस्कटॉप UI। + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +अब आप इसे इस तरह कॉल कर सकते हैं: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +और मेथड **Word दस्तावेज़ को PNG के रूप में सहेजेगा** फ़ाइलें `page_1.png`, `page_2.png`, आदि नामों से। + +## Expected Output + +तीन‑पेज वाले `input.docx` पर सैंपल कोड चलाने से मिलेगा: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +इनमें से किसी भी PNG को इमेज व्यूअर में खोलें—आपको संबंधित Word पेज का एक क्रिस्प, एंटी‑एलियास्ड रेंडर दिखना चाहिए। कोई अतिरिक्त बॉर्डर नहीं, कोई डिस्टॉर्शन नहीं, बस एक फ़िडेल बिटमैप स्नैपशॉट। + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank PNG** | Document didn't load (`doc` is null) or page index out of range. | Verify the file path and ensure `doc.PageCount` > 0 before rendering. | +| **Jagged Text** | Antialiasing disabled or DPI too low. | Set `UseAntialiasing = true` and optionally increase `Resolution` (e.g., 150 DPI). | +| **Out‑of‑Memory** | Rendering very large pages at high DPI in a tight loop. | Render one page at a time (as shown) and dispose the `ImageRenderer` promptly. | +| **Incorrect Colors** | Background color defaults to white; transparent docs appear white. | Set `BackgroundColor = Color.Transparent` when needed. | + +## Conclusion + +हमने अभी एक साफ़, प्रोडक्शन‑रेडी तरीका दिखाया है **Word दस्तावेज़ को PNG में बदलने** और, विस्तार से, **Word दस्तावेज़ को PNG के रूप में सहेजने** का, Aspose.Words for .NET का उपयोग करके। कदम सरल हैं: + +1. `Document` से `.docx` लोड करें। +2. `ImageRenderingOptions` को ट्यून करें (एंटी‑एलियासिंग, DPI, बैकग्राउंड)। +3. पेजेज़ पर लूप करें और `ImageRenderer.RenderToFile` कॉल करें। + +पुन: उपयोग योग्य `ConvertWordToPng` मेथड के साथ, आप अब किसी भी C# एप्लिकेशन में इमेज‑बेस्ड प्रीव्यू इंटीग्रेट कर सकते हैं—चाहे वह वेब सर्विस हो जो अपलोडेड कॉन्ट्रैक्ट्स के थंबनेल बनाती हो, डेस्कटॉप टूल जो रिपोर्ट्स को PNG में आर्काइव करता हो, या बैच जॉब जो कंटेंट‑मैनेजमेंट सिस्टम के लिए एसेट्स तैयार करता हो। + +**अब आगे क्या?** अन्य इमेज फ़ॉर्मैट्स (`ImageFormat.Jpeg`, `Bmp`) के साथ प्रयोग करें या यदि आपको PNG के साथ PDF चाहिए तो `PdfSaveOptions` देखें। आप वाटरमार्क जोड़ने या आउटपुट को ऑन‑द‑फ़्लाई रीसाइज़ करने पर भी विचार कर सकते हैं। + +Happy coding, and feel free to drop a comment if you hit any snags! + +## Related Tutorials + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/hindi/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..c2af6264c --- /dev/null +++ b/html/hindi/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,311 @@ +--- +category: general +date: 2026-05-25 +description: Aspose.HTML का उपयोग करके HTML से तेज़ी से PNG बनाएं। HTML को PNG में + रेंडर करना, HTML को PNG में बदलना और संसाधनों को कुशलतापूर्वक संभालना सीखें। +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: hi +og_description: Aspose.HTML के साथ HTML से PNG बनाएं। यह गाइड दिखाता है कि HTML को + PNG में कैसे रेंडर करें, HTML को PNG में कैसे परिवर्तित करें और संसाधनों को सही + ढंग से कैसे संभालें। +og_title: HTML से PNG बनाएं – पूर्ण प्रोग्रामिंग ट्यूटोरियल +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: HTML से PNG बनाएं – पूर्ण चरण‑दर‑चरण गाइड +url: /hi/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML से PNG बनाएं – पूर्ण चरण‑दर‑चरण गाइड + +क्या आपने कभी सोचा है कि **HTML से PNG बनाना** बिना कई थर्ड‑पार्टी टूल्स के झंझट के कैसे संभव है? आप अकेले नहीं हैं। चाहे आप ईमेल प्रीव्यू जेनरेटर, रिपोर्टिंग डैशबोर्ड, या थंबनेल सेवा बना रहे हों, HTML मार्कअप को एक स्पष्ट PNG इमेज में बदलना एक सामान्य आवश्यकता है। इस ट्यूटोरियल में हम एक पूर्ण, चलाने योग्य उदाहरण के माध्यम से जाएंगे जो **HTML को PNG में रेंडर करता है**, आपको दिखाएगा कि Aspose.HTML के साथ **HTML को PNG में कैसे बदलें**, और यहाँ तक कि **संसाधनों को कैसे संभालें** जैसे कि इमेज, CSS, और फ़ॉन्ट्स। + +हम एक छोटे HTML स्ट्रिंग से शुरू करेंगे, एक कस्टम `ResourceHandler` सेट करेंगे जो हर बाहरी एसेट को डिस्क पर लिखेगा, और एक परिपूर्ण PNG फ़ाइल को सहेजकर समाप्त करेंगे। अंत तक आपके पास एक स्व-निहित समाधान होगा जिसे आप किसी भी .NET प्रोजेक्ट में डाल सकते हैं। + +## आप क्या सीखेंगे + +- एक स्ट्रिंग या फ़ाइल से `HTMLDocument` कैसे बनाएं। +- एक कस्टम `ResourceHandler` कैसे लागू करें ताकि रेंडरर द्वारा अनुरोधित प्रत्येक संसाधन स्थानीय रूप से सहेजा जाए। +- `ImageRenderer` का उपयोग करके **HTML को PNG में रेंडर** करने के सटीक चरण। +- सामान्य समस्याएँ (फ़ॉन्ट्स की कमी, रिलेटिव URLs) और **संसाधनों को संभालने** का सर्वोत्तम तरीका। +- आउटपुट को कैसे सत्यापित करें और आवश्यकता पड़ने पर इमेज साइज या फ़ॉर्मेट को कैसे समायोजित करें। + +### पूर्वापेक्षाएँ + +- .NET 6.0 या बाद का संस्करण (कोड .NET Framework 4.7+ पर भी काम करता है)। +- **Aspose.HTML for .NET** NuGet पैकेज का रेफ़रेंस। +- C# और असिंक्रोनस स्ट्रीम्स की बुनियादी जानकारी (आवश्यक नहीं, लेकिन उपयोगी)। + +कोई बाहरी टूल्स नहीं, कोई हेडलेस ब्राउज़र नहीं—सिर्फ साधारण C# और Aspose.HTML। + +--- + +## HTML से PNG बनाना – अवलोकन + +नीचे **पूर्ण, तैयार‑चलाने योग्य कोड** दिया गया है। इसे एक कंसोल ऐप में कॉपी‑पेस्ट करने, `YOUR_DIRECTORY` प्लेसहोल्डर को समायोजित करने, और F5 दबाने में संकोच न करें। + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **प्रो टिप:** `"YOUR_DIRECTORY"` को एक पूर्ण पाथ (जैसे, `Path.GetFullPath("./output")`) से बदलें ताकि जब ऐप अलग कार्यशील डायरेक्टरी से चले तो आश्चर्य न हो। + +--- + +## चरण 1: HTML दस्तावेज़ तैयार करें + +पहला कदम यह है कि हम एक कच्ची HTML स्ट्रिंग को `HTMLDocument` में लपेटते हैं। Aspose.HTML इस ऑब्जेक्ट को एक पूर्ण‑फ़ीचर DOM के रूप में मानता है, जिसका अर्थ है कि यह `` टैग, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +आप इस स्ट्रिंग को किसी भी HTML से बदल सकते हैं—शायद एक Razor व्यू का आउटपुट या Markdown‑to‑HTML रूपांतरण। मुख्य बात यह है कि डॉक्यूमेंट को कस्टम हैंडलर के बारे में पता हो जिसे हम बाद में पास करेंगे। + +--- + +## Image Rendering Options – एंटीएलियासिंग और फ़ॉन्ट हिन्टिंग का फाइन‑ट्यूनिंग + +साधारण रेंडरिंग काम करती है, लेकिन कभी‑कभी आपको अतिरिक्त पॉलिश चाहिए: स्मूथ एजेज़, स्पष्ट टेक्स्ट, या सही सब‑पिक्सेल पोज़िशनिंग। यही वह जगह है जहाँ **image rendering options** काम आते हैं। + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*आंतरिक रूप से क्या हो रहा है?* +`ImageRenderingOptions` रेंडरर को बताता है कि कौन सा फ़ॉन्ट उपयोग करना है और क्या ज्योमेट्रिक आकारों को स्मूद करना है। `TextOptions` इस बात पर केंद्रित है कि ग्लिफ़्स कैसे रास्टराइज़ होते हैं—हिन्टिंग अक्षरों को पिक्सेल ग्रिड के साथ संरेखित करता है, जो छोटे आकारों पर विशेष रूप से उपयोगी होता है। + +--- + +## Render HTML with Options – रेंडरिंग सेटिंग्स लागू करना + +डॉक्यूमेंट और विकल्प तैयार होने के बाद, हम अंततः **render HTML with options** कर सकते हैं। हम तीन फ़ाइलें बनाएँगे: + +1. एक बेसिक PNG (कोई अतिरिक्त विकल्प नहीं)। +2. एक एंटीएलियास्ड PNG। +3. एक हिन्ट‑इनेबल्ड PNG। + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +ध्यान दें कि प्रत्येक `ImageRenderer` को अलग‑अलग दूसरा आर्ग्यूमेंट मिल रहा है: साधारण हैंडलर, एंटीएलियासिंग सेटिंग्स, और हिन्टिंग सेटिंग्स। यह पैटर्न आपको कॉन्फ़िगरेशन बदलने की अनुमति देता है बिना किसी अन्य कोड को बदले—यूनिट टेस्ट या फीचर फ़्लैग्स के लिए एकदम उपयुक्त। + +> **Common question:** *“क्या मैं एक ही पास में एंटीएलियासिंग और हिन्टिंग को मिलाकर उपयोग कर सकता हूँ?”* +> बिल्कुल। बस एक ही ऑप्शन ऑब्जेक्ट बनाएँ जिसमें `UseAntialiasing` और `UseHinting` दोनों को `true` सेट करें, फिर उसे `ImageRenderer` को पास करें। + +--- + +## Verify the Output – क्या उम्मीद करें + +प्रोग्राम चलाने के बाद, तीन PNG फ़ाइलें खोलें: + +- **out.png** – HTML का एक सटीक स्नैपशॉट, लेकिन किनारे थोड़ा जैग्रेड दिख सकते हैं। +- **img.png** – एंटीएलियासिंग के कारण स्मूथ लाइन्स और कर्व्स। +- **txt.png** – फ़ॉन्ट हिन्टिंग के कारण टेक्स्ट अधिक शार्प दिखता है, विशेषकर 12 pt Verdana पर। + +यदि किसी इमेज में समस्या दिखे, तो दोबारा जांचें कि `YOUR_DIRECTORY/Resources` में संदर्भित `logo.png` मौजूद है या नहीं। गायब एसेट्स रेंडरर को प्लेसहोल्डर पर फ़ॉल्बैक कर देंगे, जिससे आउटपुट अजीब लग सकता है। + +--- + +## Full Working Example + +नीचे पूरा प्रोग्राम दिया गया है, जिसे आप सीधे कंसोल ऐप में कॉपी‑पेस्ट कर सकते हैं। इसमें सभी `using` निर्देश और एक न्यूनतम `Main` मेथड शामिल है। + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +प्रोग्राम चलाएँ, तीन PNG फ़ाइलों की जाँच करें, और आप देखेंगे कि प्रत्येक विकल्प अंतिम चित्र को कैसे प्रभावित करता है। प्रयोग करने में संकोच न करें—फ़ॉन्ट बदलें, `UseAntialiasing` टॉगल करें, या अधिक CSS नियम जोड़ें। जब आप **convert HTML to image** ऑन‑डिमांड करते हैं, तो संभावनाएँ असीमित हैं। + +--- + +## Next Steps & Related Topics + +- **बैच प्रोसेसिंग:** HTML स्निपेट्स के संग्रह पर लूप चलाएँ और प्रत्येक के लिए थंबनेल जनरेट करें। +- **PDF रूपांतरण:** PNG को एक PDF लाइब्रेरी (जैसे iTextSharp) के साथ मिलाकर मल्टी‑पेज डॉक्यूमेंट बनाएँ। +- **डायनामिक रिसोर्सेज़:** `MyHandler` को विस्तारित करके इमेजेज़ को CDN या डेटाबेस से फ़ाइल सिस्टम के बजाय फ़ेच करें। +- **परफ़ॉर्मेंस ट्यूनिंग:** जब स्रोत HTML नहीं बदला हो तो रेंडर की गई इमेजेज़ को कैश करें; इससे CPU लोड काफी घटता है। + +यदि आप गहरी कस्टमाइज़ेशन में रुचि रखते हैं, तो `ImageRenderer` की `RenderTransform` प्रॉपर्टी को देखें जो रोटेशन या स्केलिंग के लिए है, या उन्नत लेआउट नियंत्रण के लिए `CssEngine` सेटिंग्स का अन्वेषण करें। + +--- + +## निष्कर्ष + +हमने C# में **render HTML to PNG** करने के लिए आवश्यक सभी चीज़ें कवर कर ली हैं: एक कस्टम रिसोर्स हैंडलर, मार्कअप लोड करना, *image rendering options* को कॉन्फ़िगर करना, और अंत में **rendering HTML with options** जो एंटीएलियासिंग और फ़ॉन्ट हिन्टिंग प्रदान करता है। पूरा, चलाने योग्य उदाहरण बॉक्स से बाहर काम करना चाहिए, और मॉड्यूलर डिज़ाइन इसे बड़े प्रोजेक्ट्स में अपनाना आसान बनाता है। + +इसे आज़माएँ, सेटिंग्स को ट्यून करें, और आपके अगले ई‑मेल कैंपेन, डैशबोर्ड, या रिपोर्टिंग टूल में रेंडर की गई इमेजेज़ को बोलने दें। है + +## संबंधित ट्यूटोरियल + +- [HTML को PNG के रूप में रेंडर करने का तरीका – पूर्ण C# गाइड](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Aspose का उपयोग करके HTML को PNG में रेंडर करने का तरीका – चरण‑दर‑चरण गाइड](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [HTML से PNG बनाना – पूर्ण C# रेंडरिंग गाइड](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/hongkong/net/generate-jpg-and-png-images/_index.md index 33103bd04..c375f0776 100644 --- a/html/hongkong/net/generate-jpg-and-png-images/_index.md +++ b/html/hongkong/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Aspose.HTML for .NET 提供了一種將 HTML 轉換為映像的簡單方法。 了解如何在使用 Aspose.HTML for .NET 將 DOCX 轉換為 PNG 或 JPG 時啟用抗鋸齒,以提升圖像品質。 ### [使用 Aspose.HTML 在 .NET 中將 docx 轉換為 png 並建立 zip 壓縮檔 C# 教學](./convert-docx-to-png-create-zip-archive-c-tutorial/) 學習如何使用 Aspose.HTML for .NET 將 docx 轉換為 png,並將圖像打包成 zip 壓縮檔的完整步驟。 +### [從 HTML 建立 PNG – 完整步驟指南](./create-png-from-html-full-step-by-step-guide/) +本完整教學一步步說明如何使用 Aspose.HTML for .NET 將 HTML 轉換為 PNG 圖像。 +### [使用 Aspose 從 HTML 產生 PNG – 渲染 HTML 為 PNG](./create-png-from-html-with-aspose-render-html-to-png/) +學習如何使用 Aspose.HTML 將 HTML 內容直接渲染為 PNG 圖像的完整步驟。 +### [將 Word 文件轉換為 PNG – 完整程式設計指南](./convert-word-document-to-png-complete-programming-guide/) +學習如何使用 Aspose.HTML for .NET 將 Word 文件轉換為 PNG 圖像的完整步驟與程式碼示例。 +### [在 C# 中將 docx 轉換為 png – 完整步驟指南](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +學習如何使用 Aspose.HTML for .NET 在 C# 中將 docx 轉換為 png,提供完整步驟與程式碼示例。 +### [渲染 HTML 為 PNG – 含自訂處理程序與選項的完整指南](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +本教學說明如何使用 Aspose.HTML for .NET 自訂處理程序與選項,將 HTML 渲染為 PNG 圖像。 ## 結論 diff --git a/html/hongkong/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/hongkong/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..1963307fe --- /dev/null +++ b/html/hongkong/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-05-25 +description: 使用 C# 快速將 docx 轉換為 png。學習如何將 Word 轉換為圖片、將 Word 匯出為 png,以及在同一教學中設定自訂字型。 +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: zh-hant +og_description: 使用 C# 將 docx 轉換為 png。本指南將教您如何將 Word 匯出為 png,並設定自訂字型以獲得完美效果。 +og_title: 在 C# 中將 docx 轉換為 png – 完整程式設計指南 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: 在 C# 中將 docx 轉換為 png – 完整逐步指南 +url: /zh-hant/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 C# 中將 docx 轉換為 png – 完整逐步指南 + +是否曾經需要 **convert docx to png**,卻不確定哪個函式庫能提供乾淨的字形與完整頁面的保真度?你並不孤單。在許多辦公自動化專案中,將 Word 文件轉換為影像(即「convert word to image」)是將內容嵌入網頁或電郵的最快方式,且不必擔心 Office 的安裝問題。 + +事實上,Aspose.Words for .NET API 只需幾行程式碼即可 **export word as png**,而且還能 **set custom font** 設定,讓輸出結果與原始檔案完全相同。在本教學中,我們將完整示範從安裝套件到渲染最終 PNG 的每個步驟,讓你立即開始 **convert docx to png**。 + +## Convert docx to png – 概觀與先決條件 + +在深入程式碼之前,先確保你已備妥所有必需項目: + +* **.NET 6.0 或更新版本** – 本範例以 .NET 6 為目標,但較早的版本亦可使用。 +* **Aspose.Words for .NET** – 提供 `Document`、`TextOptions` 與 `ImageRenderer` 的 NuGet 套件。 +* 一個你想轉換成影像的 **sample DOCX** 檔案(放置於可參考的資料夾中)。 +* 可選:一個 **custom TrueType font**(例如 Times New Roman),若你想覆寫文件的預設字型。 + +只要上述項目皆已確認,你就可以自信地開始 **convert word to image** 了。 + +## 安裝 Aspose.Words for .NET(convert word to image) + +第一步是將函式庫加入專案。於解決方案資料夾開啟終端機並執行以下指令: + +```bash +dotnet add package Aspose.Words +``` + +此單一指令會安裝最新穩定版的 Aspose.Words,其中包含我們在 **export docx as png** 時需要的 `ImageRenderer` 類別。還原完成後即可開始使用。 + +> **小技巧:** 若你使用 Visual Studio,也可以透過 NuGet 套件管理員 UI 加入套件,只要搜尋「Aspose.Words」即可。 + +## 載入來源文件(convert docx to png) + +現在我們將載入 DOCX 檔案。此時 **convert docx to png** 流程正式開始。 + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` 代表整個 Word 檔案於記憶體中。路徑可以是絕對或相對路徑;只要確保檔案存在,否則會拋出 `FileNotFoundException`。 + +## 設定文字渲染選項(set custom font) + +如果你的 DOCX 使用的字型未在目標機器上安裝,渲染出的 PNG 可能會失真。因此在匯出前通常需要 **set custom font**。 + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` 告訴渲染器套用子像素 hinting,能使字母邊緣更銳利——對高解析度 PNG 尤其重要。 +* `FontInfo` 強制所有文字以 *Times New Roman*、14 pt 繪製,無論原始 DOCX 指定何種字型。可自行替換為伺服器上任何可用的字型。 + +## 建立 ImageRenderer(convert word to image) + +文件與選項準備好後,我們建立 `ImageRenderer` 實例。此類別負責將頁面轉換為點陣圖影像的主要工作。 + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* `using` 區塊可確保渲染器即時釋放原生資源(例如 GDI 句柄)。 +* `RenderToFile` 接受路徑與 `ImageFormat`。若需全部頁面,可遍歷 `renderer.PageCount`,並以頁碼為名呼叫 `RenderToFile`。 + +## 驗證輸出(export docx as png) + +程式執行完畢後,應可在指定的資料夾中看到 `hinted.png`。使用任何影像檢視器開啟——文字是否清晰?若使用了 custom font,整頁的字型將保持一致。 + +以下是一個快速的視覺參考(發佈時請換成自己的截圖): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +**Alt text:** **convert docx to png example output** – 以 Times New Roman 字型渲染的 Word 頁面之 PNG 圖像。 + +若影像顯得模糊,請再次確認 `UseHinting` 已設為 `true`,且渲染器的 DPI(預設 96)符合需求。可在呼叫 `RenderToFile` 前透過 `renderer.ImageOptions.Resolution = 300;` 調整 DPI。 + +## 完整可執行程式(export word as png) + +將上述所有步驟整合後,以下是一個可直接貼入 `Program.cs` 並執行的完整主控台應用程式: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**此程式的功能:** + +1. 載入 `input.docx`。 +2. 強制所有字元使用 *Times New Roman*、14 pt,且啟用 hinting。 +3. 以 300 DPI 渲染第一頁,產生高品質 PNG。 +4. 在主控台輸出友善訊息以確認成功。 + +使用 `dotnet run` 執行,即可取得完美渲染的影像,適用於網頁顯示、PDF 嵌入或任何需要 **convert docx to png**、且不想依賴 Office 的情境。 + +## 常見問題與特殊情況處理 + +* **如果需要所有頁面呢?** + 迭代 `renderer.PageCount`,並以包含頁碼的檔名呼叫 `RenderToFile`,例如 `output_page_{i}.png`。 + +* **我可以匯出成其他影像格式嗎?** + 當然可以。根據下游需求,將 `ImageFormat.Png` 替換為 `ImageFormat.Jpeg`、`ImageFormat.Bmp` 或 `ImageFormat.Tiff` 即可。 + +* **我的文件使用嵌入字型——還需要 `set custom font` 嗎?** + 若 DOCX 已嵌入所需字型,可省略 `Font` 屬性。渲染器會自動使用嵌入的字型。 + +* **如何處理大型文件而不耗盡記憶體?** + 在 `using` 區塊內一次處理單一頁面,儲存後即釋放產生的 bitmap。如此可保持低記憶體佔用。 + +* **授權方面有問題嗎?** + Aspose.Words 提供帶浮水印的免費試用版。正式使用時,請購買授權,並在載入文件前呼叫 `License license = new License(); license.SetLicense("Aspose.Words.lic");`。 + +## 結論 + +你現在已擁有完整、可投入生產環境的 **convert docx to png** C# 解決方案。本指南涵蓋了從安裝 Aspose.Words(**convert word to image** 的首選函式庫)到設定 `TextOptions` 以 **set custom font**,最後渲染影像檔案的全部步驟。掌握這些技巧後,你即可 **export word as png**,將其嵌入網頁、產生縮圖,或輸入任何影像處理流程。 + +接下來要做什麼?試著匯出多頁、實驗不同的 DPI 設定,或改變輸出格式為 + +## 相關教學 + +- [如何在將 DOCX 轉換為 PNG/JPG 時啟用抗鋸齒](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [使用 Aspose.HTML 在 .NET 中將 HTML 轉換為 PNG](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – 建立 zip 壓縮檔 C# 教學](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hongkong/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/hongkong/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..bb54bdfbe --- /dev/null +++ b/html/hongkong/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-05-25 +description: 學習如何快速將 Word 文件轉換為 PNG。本教程亦示範如何將 Word 文件儲存為具抗鋸齒效果的 PNG。 +draft: false +keywords: +- convert word document to png +- save word document as png +language: zh-hant +og_description: 使用少量 C# 程式碼將 Word 文件轉換為 PNG。跟隨本指南即可高效地將 Word 文件儲存為 PNG。 +og_title: 將 Word 文件轉換為 PNG – 步驟指南 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: 將 Word 文件轉換為 PNG – 完整程式設計指南 +url: /zh-hant/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convert Word Document to PNG – 完整程式指南 + +有沒有曾經需要**將 Word 文件轉換為 PNG**,卻不確定該選擇哪個函式庫或設定?你並不孤單。在許多辦公自動化專案中,你最終會需要 `.docx` 檔案的點陣圖——可能是用於縮圖預覽、電子郵件嵌入,或快速視覺檢查。好消息是,只要幾行 C# 程式碼,你也可以**將 Word 文件儲存為 PNG**,不需要任何手動操作。 + +在本教學中,我們將以 Aspose.Words for .NET 為例,逐步說明從載入來源檔案、調整影像渲染選項以獲得清晰輸出,到將 PNG 檔寫入磁碟的完整流程。完成後,你將擁有一個可重複使用的方法,隨時可以放入任何 .NET 專案中。 + +## Prerequisites + +在開始之前,請確保你已具備: + +- **.NET 6.0** 或更新版本(此程式碼亦相容 .NET Framework 4.6 以上)。 +- 一份**授權**的 **Aspose.Words for .NET**(免費試用版可用於測試)。 +- Visual Studio 2022 或任意你慣用的 IDE。 +- 一個放在可參考資料夾中的範例 Word 檔 (`input.docx`)。 + +不需要其他第三方套件。 + +## Step 1: Set Up the Project and Import Namespaces + +首先,建立一個新的 Console 應用程式(或整合至既有服務),然後加入 Aspose.Words NuGet 套件: + +```bash +dotnet add package Aspose.Words +``` + +接著在檔案中引入所需的命名空間: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** 若你的目標是 .NET 6+,可以使用頂層陳述式(top‑level statements)功能,省去 `Main` 方法的樣板程式碼。 + +## Step 2: Load the Source Word Document + +轉換流程的第一個實質步驟是載入要點陣化的文件。Aspose.Words 支援 `.doc`、`.docx`、`.rtf` 以及許多其他格式,並不侷限於傳統 Office 檔案類型。 + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +為什麼要檢查 `PageCount`?因為零頁文件會產生空白 PNG,這常是無聲失敗,會導致下游程式碼出錯。 + +## Step 3: Configure Image Rendering Options + +將向量式的 Word 內容轉換為點陣圖時,若使用預設設定,常會出現鋸齒狀邊緣。啟用抗鋸齒(antialiasing)可平滑這些線條,特別是圖表、圖形與小尺寸文字。 + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +你可能會問:「我是否總是需要抗鋸齒?」通常是的,除非你在產生極小的圖示,且效能需求高於視覺品質時才例外。 + +## Step 4: Render Each Page to a Separate PNG File + +Word 文件可能包含多頁。Aspose.Words 雖然可以一次渲染整份文件為單一影像,但更常見的做法是為每頁產生一個 PNG。以下程式碼會遍歷各頁,分別渲染成檔案。 + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**為什麼要使用 `using` 區塊?** `ImageRenderer` 會持有非受控資源(例如 GDI+ 句柄)。將其包在 `using` 中可確保及時釋放,避免長時間執行的服務發生記憶體泄漏。 + +### Edge Cases & Tips + +- **Large Documents:** 渲染 200 頁的文件可能會佔用大量記憶體。建議分批渲染,或在遇到 `OutOfMemoryException` 時提升 `MaxMemoryUsage` 屬性。 +- **Transparent Backgrounds:** 若 Word 檔含有透明圖形且需要透明 PNG,請在 `ImageRenderingOptions` 中設定 `BackgroundColor = Color.Transparent`。 +- **Scaling:** 若要產生縮圖,可調整 `ImageSaveOptions`(例如 `Resolution = 72`),或使用 `System.Drawing` 重新調整產出的 PNG 大小。 + +## Step 5: Wrap It Up in a Reusable Method + +將轉換邏輯封裝成單一方法,可讓你在任何地方輕鬆呼叫——無論是 Web API、背景工作者,或桌面 UI。 + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +現在你可以這樣呼叫: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +此方法會**將 Word 文件儲存為 PNG**,檔名為 `page_1.png`、`page_2.png` 等。 + +## Expected Output + +在三頁的 `input.docx` 上執行範例程式碼,會產生: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +使用影像檢視器開啟任一 PNG,你應該會看到對應 Word 頁面的清晰、抗鋸齒渲染。沒有額外邊框、沒有變形,僅是一張忠實的點陣圖快照。 + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank PNG** | 文件未載入 (`doc` 為 null) 或頁索引超出範圍。 | 確認檔案路徑正確,且在渲染前確保 `doc.PageCount` > 0。 | +| **Jagged Text** | 抗鋸齒未啟用或 DPI 設定過低。 | 設定 `UseAntialiasing = true`,並視需要提升 `Resolution`(例如 150 DPI)。 | +| **Out‑of‑Memory** | 在緊密迴圈中以高 DPI 渲染過大頁面。 | 如範例所示一次只渲染單頁,並立即釋放 `ImageRenderer`。 | +| **Incorrect Colors** | 背景顏色預設為白色,透明文件會顯示為白色。 | 需要時將 `BackgroundColor = Color.Transparent`。 | + +## Conclusion + +我們剛剛示範了一套乾淨、可投入生產環境的 **將 Word 文件轉換為 PNG**,以及 **將 Word 文件儲存為 PNG** 的完整做法,使用的是 Aspose.Words for .NET。步驟相當簡單: + +1. 使用 `Document` 載入 `.docx`。 +2. 調整 `ImageRenderingOptions`(抗鋸齒、DPI、背景)。 +3. 逐頁呼叫 `ImageRenderer.RenderToFile`。 + +有了可重複使用的 `ConvertWordToPng` 方法,你現在可以在任何 C# 應用程式中整合影像預覽——無論是產生上傳合約縮圖的 Web 服務、將報告存檔為 PNG 的桌面工具,或是為內容管理系統準備資產的批次工作。 + +**接下來可以做什麼?** 嘗試使用其他影像格式(`ImageFormat.Jpeg`、`Bmp`),或在需要 PDF 時探索 `PdfSaveOptions`。你也可以研究在輸出時加入浮水印或即時調整大小的方式。 + +祝開發順利,如有任何問題,歡迎留言討論! + +## Related Tutorials + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/hongkong/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..14c3d8109 --- /dev/null +++ b/html/hongkong/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: 使用 Aspose.HTML 快速將 HTML 轉換為 PNG。學習如何將 HTML 渲染為 PNG、將 HTML 轉換為 PNG,並有效處理資源。 +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: zh-hant +og_description: 使用 Aspose.HTML 從 HTML 產生 PNG。本指南說明如何將 HTML 呈現為 PNG、將 HTML 轉換為 PNG + 以及正確處理資源。 +og_title: 從 HTML 產生 PNG – 完整程式設計教學 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: 從 HTML 產生 PNG – 完整逐步指南 +url: /zh-hant/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 HTML 建立 PNG – 完整逐步指南 + +有沒有想過如何在不使用各種第三方工具的情況下**create PNG from HTML**?你並不是唯一有此疑問的人。無論你是要建立電子郵件預覽產生器、報告儀表板,或是縮圖服務,將 HTML 標記轉換成清晰的 PNG 圖像都是常見需求。在本教學中,我們將逐步示範一個完整且可執行的範例,**renders HTML to PNG**,示範如何使用 Aspose.HTML **convert HTML to PNG**,並說明 **how to handle resources**(如圖片、CSS 與字型)。 + +我們會從一段簡短的 HTML 字串開始,設定一個自訂的 `ResourceHandler` 以將每個外部資源寫入磁碟,最後儲存成完美的 PNG 檔案。完成後,你將擁有一個可直接放入任何 .NET 專案的完整解決方案。 + +## 你將學會 + +- 如何從字串或檔案建立 `HTMLDocument`。 +- 如何實作自訂的 `ResourceHandler`,讓渲染器請求的每個資源都能本地保存。 +- 使用 `ImageRenderer` **render HTML to PNG** 的完整步驟。 +- 常見陷阱(缺少字型、相對 URL)以及最佳的 **how to handle resources** 方法。 +- 如何驗證輸出,並在需要時調整影像大小或格式。 + +### 前置條件 + +- .NET 6.0 或更新版本(程式碼同樣適用於 .NET Framework 4.7+)。 +- 參考 **Aspose.HTML for .NET** NuGet 套件。 +- 基本的 C# 與非同步串流概念(非必須,但會有幫助)。 + +不需要外部工具,也不需要無頭瀏覽器——只要純粹的 C# 與 Aspose.HTML。 + +--- + +## 從 HTML 建立 PNG – 概觀 + +以下是 **完整、可直接執行的程式碼**。只要把它貼到 Console App 中,將 `YOUR_DIRECTORY` 佔位符改成實際路徑,然後按 F5 即可。 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **專業提示:** 請將 `"YOUR_DIRECTORY"` 換成絕對路徑(例如 `Path.GetFullPath("./output")`),以避免程式在不同工作目錄下執行時產生意外。 + +--- + +## 步驟 1:準備 HTML 文件 + +我們首先把原始 HTML 字串包裝成 `HTMLDocument`。Aspose.HTML 會將此物件視為完整的 DOM,能像瀏覽器一樣解析 ``、` + + +
Hello, world!
+ Demo logo + +"); +``` + +你可以將字串換成任何想要的 HTML——例如 Razor 視圖的輸出或 Markdown 轉 HTML 的結果。重要的是文件必須知道稍後會傳入的自訂處理程式。 + +--- + +## 影像渲染選項 – 微調抗鋸齒與字型微調 + +普通渲染雖可運作,但有時你需要額外的精緻度:更平滑的邊緣、更清晰的文字,或正確的次像素定位。這時 **image rendering options** 就派上用場。 + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*What’s happening under the hood?* +`ImageRenderingOptions` 告訴渲染器使用哪種字型以及是否平滑幾何形狀。`TextOptions` 則關注字形的光柵化方式——微調會將字元對齊至像素格,對小尺寸特別有用。 + +--- + +## 使用選項渲染 HTML – 套用渲染設定 + +在文件與選項準備好之後,我們終於可以 **render HTML with options**。我們將產生三個檔案: + +1. 基本 PNG(無額外選項)。 +2. 使用抗鋸齒的 PNG。 +3. 啟用微調的 PNG。 + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +請注意每個 `ImageRenderer` 接收到不同的第二個參數:普通處理程式、抗鋸齒設定與微調設定。此模式讓你在不修改其他程式碼的情況下切換組態——非常適合單元測試或功能旗標。 + +> **Common question:** *「我可以在一次渲染中同時使用抗鋸齒與微調嗎?」* +> 絕對可以。只要建立一個同時將 `UseAntialiasing` 與 `UseHinting` 設為 `true` 的選項物件,然後傳給 `ImageRenderer`。 + +--- + +## 驗證輸出 – 期待結果 + +執行程式後,開啟這三個 PNG 檔案: + +- **out.png** – HTML 的忠實快照,但邊緣可能略顯鋸齒。 +- **img.png** – 由於抗鋸齒,線條與曲線更平滑。 +- **txt.png** – 文字更銳利,特別是在 12 pt Verdana 時,因為使用了字型微調。 + +如果任何圖像顯示異常,請再次確認 `YOUR_DIRECTORY/Resources` 中是否包含引用的 `logo.png`。缺少資源會導致渲染器退回使用佔位圖,可能會看起來怪異。 + +--- + +## 完整可執行範例 + +以下是完整程式碼,可直接複製貼上至 console 應用程式。它包含所有 `using` 指令與最小化的 `Main` 方法。 + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +執行程式,檢視這三個 PNG,你將清楚看到每個選項如何影響最終圖像。隨意嘗試——更換字型、切換 `UseAntialiasing`,或加入更多 CSS 規則。只要 **convert HTML to image**,想像力就是唯一限制。 + +--- + +## 往後步驟與相關主題 + +- **Batch processing:** 迭代 HTML 片段集合,為每個產生縮圖。 +- **PDF conversion:** 將 PNG 與 PDF 函式庫(例如 iTextSharp)結合,產生多頁文件。 +- **Dynamic resources:** 擴充 `MyHandler`,從 CDN 或資料庫取得圖片,而非檔案系統。 +- **Performance tuning:** 當來源 HTML 未變更時快取已渲染的圖像,可大幅降低 CPU 負載。 + +如果你想進一步自訂,可研究 `ImageRenderer` 的 `RenderTransform` 屬性以實作旋轉或縮放,或探索 `CssEngine` 設定以取得進階版面控制。 + +--- + +## 結論 + +我們已說明在 C# 中 **render HTML to PNG** 所需的一切:自訂資源處理程式、載入標記、設定 *image rendering options*,最後 **rendering HTML with options**,讓你取得抗鋸齒與字型微調。完整且可直接執行的範例應可即時運作,且模組化設計讓它易於套用於更大型的專案。 + +試試看,調整設定,讓渲染出的圖像在你的下一個電子郵件活動、儀表板或報告工具中說話。Got + +## 相關教學 + +- [如何將 HTML 渲染為 PNG – 完整 C# 指南](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [如何使用 Aspose 將 HTML 渲染為 PNG – 步驟指南](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [從 HTML 建立 PNG – 完整 C# 渲染指南](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/hungarian/net/generate-jpg-and-png-images/_index.md index dc2c2b0ac..b5cee8014 100644 --- a/html/hungarian/net/generate-jpg-and-png-images/_index.md +++ b/html/hungarian/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,13 @@ Tanulja meg az Aspose.HTML for .NET használatát HTML-dokumentumok kezeléséhe Ismerje meg, hogyan állíthatja be az antialiasingot a DOCX dokumentumok PNG vagy JPG képekké konvertálásakor az Aspose.HTML for .NET használatával. ### [docx konvertálása png-re – zip archívum létrehozása C# oktatóanyag](./convert-docx-to-png-create-zip-archive-c-tutorial/) Ismerje meg, hogyan konvertálhat docx fájlokat png képekké, majd csomagolhatja őket zip archívumba C#-ban az Aspose.HTML segítségével. +### [PNG létrehozása HTML-ből Aspose-szal – HTML renderelése PNG-be](./create-png-from-html-with-aspose-render-html-to-png/) +Ismerje meg, hogyan konvertálhat HTML-t PNG képpé az Aspose.HTML for .NET segítségével. +### [Word dokumentum konvertálása PNG-re – Teljes programozási útmutató](./convert-word-document-to-png-complete-programming-guide/) +Ismerje meg, hogyan konvertálhat Word dokumentumokat PNG képekké az Aspose.HTML for .NET segítségével, lépésről lépésre útmutató. +### [docx konvertálása PNG-re C#‑ban – Teljes lépésről‑lépésre útmutató](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Ismerje meg, hogyan konvertálhat docx fájlokat PNG képekké C#‑ban az Aspose.HTML for .NET segítségével, részletes lépésekkel. +### [HTML renderelése PNG-be – Teljes útmutató egyedi kezelőkkel és beállításokkal](./render-html-to-png-complete-guide-with-custom-handlers-optio/) ## Következtetés diff --git a/html/hungarian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/hungarian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..e356829fb --- /dev/null +++ b/html/hungarian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-05-25 +description: Konvertálja a docx-et gyorsan png-re C#-vel. Tanulja meg, hogyan konvertálja + a Word dokumentumot képpé, exportálja a Word-et png formátumba, és állítson be egyedi + betűtípust egyetlen útmutatóban. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: hu +og_description: Konvertálja a docx-et png-re C#-al. Ez az útmutató megmutatja, hogyan + exportálja a Word dokumentumot png formátumba, és állítson be egyedi betűtípust + a tökéletes eredményért. +og_title: docx konvertálása png-re C#-ban – Teljes programozási útmutató +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: DOCX konvertálása PNG-re C#‑ban – Teljes lépésről‑lépésre útmutató +url: /hu/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# DOCX konvertálása PNG-re C#‑ban – Teljes lépésről‑lépésre útmutató + +Valaha is szükséged volt **convert docx to png** műveletre, de nem tudtad, melyik könyvtár ad tiszta glifeket és teljes oldalfidelitást? Nem vagy egyedül. Sok irodai automatizálási projektben a Word dokumentum képpé alakítása (gondolj a „convert word to image” kifejezésre) a leggyorsabb módja annak, hogy tartalmat ágyazz be egy weboldalba vagy e‑mailbe, anélkül, hogy az Office telepítése miatt aggódnál. + +A lényeg: az Aspose.Words for .NET API lehetővé teszi, hogy **export word as png** néhány sor kóddal, és akár **set custom font** beállításokat is megadhass, így a kimenet pontosan úgy néz ki, mint az eredeti. Ebben a tutorialban végigvezetünk a teljes folyamaton – a csomag telepítésétől a végső PNG rendereléséig – hogy már ma elkezdhesd a docx konvertálását PNG-re. + +## DOCX konvertálása PNG-re – Áttekintés és előfeltételek + +Mielőtt a kódba merülnénk, győződjünk meg róla, hogy minden szükséges dolog megvan: + +* **.NET 6.0 vagy újabb** – a példa a .NET 6‑ra céloz, de a korábbi verziók is működnek. +* **Aspose.Words for .NET** – egy NuGet csomag, amely biztosítja a `Document`, `TextOptions` és `ImageRenderer` osztályokat. +* Egy **sample DOCX** fájl, amelyet képpé szeretnél alakítani (helyezd el egy mappában, amelyre hivatkozhatsz). +* Opcionális: egy **custom TrueType font** (pl. Times New Roman), ha felül szeretnéd írni a dokumentum alapértelmezett betűtípusát. + +Ha ezeket a pontokat kipipáltad, készen állsz a word képpé konvertálására magabiztosan. + +## Aspose.Words for .NET telepítése (convert word to image) + +Az első lépés a könyvtár beillesztése a projektbe. Nyiss egy terminált a megoldás mappájában, és futtasd a következőt: + +```bash +dotnet add package Aspose.Words +``` + +Ez az egyetlen parancs hozzáadja az Aspose.Words legújabb stabil verzióját, amely tartalmazza a `ImageRenderer` osztályt, amelyre a **export docx as png** művelethez szükségünk lesz. A visszaállítás befejezése után már készen állsz. + +> **Pro tipp:** Ha Visual Studio‑t használsz, a csomagot a NuGet Package Manager UI‑n keresztül is hozzáadhatod – egyszerűen keresd a „Aspose.Words” kifejezést. + +## A forrásdokumentum betöltése (convert docx to png) + +Most betöltjük a DOCX fájlt. Ez az a pont, ahol a **convert docx to png** folyamat ténylegesen elindul. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` a teljes Word fájlt reprezentálja a memóriában. Az elérési út lehet abszolút vagy relatív; csak győződj meg róla, hogy a fájl létezik, különben `FileNotFoundException` hibát kapsz. + +## Szöveg renderelési beállítások konfigurálása (set custom font) + +Ha a DOCX olyan betűtípust használ, amely nincs telepítve a célgépen, a renderelt PNG torz lehet. Ezért gyakran szükséges a **set custom font** beállítása exportálás előtt. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` azt mondja a renderelőnek, hogy alkalmazzon sub‑pixel hintinget, ami élesíti a betűk széleit – különösen fontos a nagy felbontású PNG‑k esetén. +* `FontInfo` minden szövegrészt *Times New Roman* 14 pt mérettel kényszerít, függetlenül attól, hogy az eredeti DOCX mit határoz meg. Nyugodtan cseréld le a nevet bármely, a szerveren elérhető betűtípusra. + +## ImageRenderer létrehozása (convert word to image) + +A dokumentum és a beállítások készen állnak, ezért példányosítjuk a `ImageRenderer`‑t. Ez az osztály végzi a nehéz munkát, az oldalakat bitmap képekké alakítva. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Néhány megjegyzés: + +* `using` blokk biztosítja, hogy a renderelő gyorsan felszabadítsa a natív erőforrásokat (például GDI handle‑eket). +* `RenderToFile` egy elérési utat és egy `ImageFormat`‑ot fogad. Ha az összes oldalt szeretnéd, iterálj a `renderer.PageCount` értéken, és a `RenderToFile`‑t oldal‑specifikus fájlnévvel hívhatod. + +## A kimenet ellenőrzése (export docx as png) + +A kód futtatása után a megadott mappában látnod kell a `hinted.png` fájlt. Nyisd meg bármely képnézővel – élesnek tűnik a szöveg? Ha egyedi betűtípust használtál, észre fogod venni a konzisztens tipográfiát az egész oldalon. + +Itt egy gyors vizuális referencia (publikáláskor cseréld ki a saját képernyőképedre): + +![convert docx to png példakimenet](https://example.com/assets/convert-docx-to-png.png "convert docx to png példakimenet") + +*Alt text:* **convert docx to png példakimenet** – egy PNG ábrázolás egy Word oldalról Times New Roman betűtípussal. + +Ha a kép elmosódottnak tűnik, ellenőrizd, hogy a `UseHinting` `true`‑ra van állítva, és hogy a renderelő DPI‑ja (alapértelmezett 96) megfelel az igényeidnek. A DPI‑t a `renderer.ImageOptions.Resolution = 300;` beállítással módosíthatod a `RenderToFile` hívása előtt. + +## Teljes, futtatható program (export word as png) + +Mindent összerakva, itt egy önálló konzolos alkalmazás, amelyet beilleszthetsz a `Program.cs`‑be és futtathatsz: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**A program működése:** + +1. Betölti az `input.docx` fájlt. +2. Minden karaktert *Times New Roman* 14 pt mérettel kényszerít, a hinting engedélyezve. +3. Rendereli az első oldalt 300 DPI‑n, magas minőségű PNG‑t létrehozva. +4. Barátságos konzolos üzenetet ír ki, amely megerősíti a sikeres végrehajtást. + +Futtasd a `dotnet run` paranccsal, és egy tökéletesen renderelt képet kapsz, amely készen áll a webes megjelenítésre, PDF‑beágyazásra vagy bármely más szituációra, ahol **convert docx to png** műveletre van szükség az Office terhe nélkül. + +## Gyakori kérdések és speciális esetek kezelése + +* **Mi van, ha az összes oldalra szükségem van?** + Iterálj a `renderer.PageCount` értéken, és hívd meg a `RenderToFile`‑t egy olyan fájlnévvel, amely tartalmazza az oldalszámot, pl. `output_page_{i}.png`. + +* **Exportálhatok más képformátumokba?** + Természetesen. Cseréld le az `ImageFormat.Png`‑t `ImageFormat.Jpeg`‑re, `ImageFormat.Bmp`‑re vagy `ImageFormat.Tiff`‑re, a további igényeidnek megfelelően. + +* **A dokumentum beágyazott betűtípusokat használ – még mindig szükségem van a `set custom font` beállításra?** + Ha a DOCX már beágyazza a kívánt betűtípusokat, kihagyhatod a `Font` tulajdonságot. A renderelő automatikusan tiszteletben tartja a beágyazott betűtípust. + +* **Hogyan kezeljem a nagy dokumentumokat anélkül, hogy kimeríteném a memóriát?** + A `using` blokkban egy oldalt dolgozz fel egyszerre, és a mentés után szabadítsd fel az egyes létrehozott bitmapeket. Ez alacsony memóriahasználatot biztosít. + +* **Van licencelési kérdés?** + Az Aspose.Words ingyenes próbaidőszakot kínál vízjellel. Termelési használathoz vásárolj licencet, és a dokumentum betöltése előtt hívd meg a `License license = new License(); license.SetLicense("Aspose.Words.lic");` kódot. + +## Összegzés + +Most már van egy teljes, termelés‑kész recept a **convert docx to png** művelethez C#‑ban. Az útmutató mindent lefedett az Aspose.Words telepítésétől (a **convert word to image** kedvenc könyvtárától) a `TextOptions` konfigurálásig a **set custom font** szcenárióhoz, egészen a kép fájl rendereléséig. Ezzel a tudással **export word as png**‑t hajthatod végre, beágyazhatod weboldalakba, generálhatsz bélyegképeket, vagy bármely képfeldolgozó csővezetékbe beillesztheted. + +Mi a következő? Próbáld meg exportálni több oldalt, kísérletezz különböző DPI beállításokkal, vagy változtasd meg a kimeneti formátumot + +## Kapcsolódó tutorialok + +- [Hogyan engedélyezzük az antialiasingot a DOCX PNG/JPG konvertálásakor](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [HTML konvertálása PNG-re .NET-ben az Aspose.HTML segítségével](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip archívum létrehozása C# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/hungarian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/hungarian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..4e3731eef --- /dev/null +++ b/html/hungarian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Tanulja meg, hogyan konvertáljon Word dokumentumot PNG formátumba gyorsan. + Ez az útmutató azt is bemutatja, hogyan menthet Word dokumentumot PNG‑ként antialiasinggal. +draft: false +keywords: +- convert word document to png +- save word document as png +language: hu +og_description: Konvertálja a Word-dokumentumot PNG-re néhány C#-sorral. Kövesse ezt + az útmutatót, hogy hatékonyan mentse a Word-dokumentumot PNG formátumban. +og_title: Word-dokumentum konvertálása PNG-re – Lépésről lépésre útmutató +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Word-dokumentum PNG-re konvertálása – Teljes programozási útmutató +url: /hu/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word dokumentum konvertálása PNG-re – Teljes programozási útmutató + +Valaha is szükséged volt **Word dokumentum PNG-re konvertálására**, de nem tudtad, melyik könyvtárat vagy beállítást válaszd? Nem vagy egyedül. Sok irodai automatizálási projektben szükség van egy `.docx` fájl raszteres képére – legyen szó bélyegkép előnézetről, e‑mail beágyazásról vagy gyors vizuális ellenőrzésről. A jó hír, hogy néhány C# sorral **elmentheted a Word dokumentumot PNG‑ként** manuális beavatkozás nélkül. + +Ebben az oktatóanyagban egy valós példán keresztül mutatjuk be az Aspose.Words for .NET használatát. Kitérünk a forrásfájl betöltésére, a képmegjelenítési beállítások finomhangolására a tiszta kimenet érdekében, valamint a PNG fájl lemezre írására. A végére egy újrahasználható metódust kapsz, amelyet bármely .NET projektbe beilleszthetsz. + +## Előfeltételek + +Mielőtt belevágnánk, győződj meg róla, hogy a következőkkel rendelkezel: + +- **.NET 6.0** vagy újabb (a kód .NET Framework 4.6+ alatt is működik). +- **Licencelt** példány az **Aspose.Words for .NET**‑ből (a ingyenes próba verzió teszteléshez elegendő). +- Visual Studio 2022 vagy bármely kedvenc IDE. +- Egy minta Word fájl (`input.docx`) egy olyan mappában, amelyre hivatkozhatsz. + +Más harmadik féltől származó csomagra nincs szükség. + +## 1. lépés: Projekt létrehozása és névterek importálása + +Először is hozz létre egy új konzolos alkalmazást (vagy integráld egy meglévő szolgáltatásba). Ezután add hozzá az Aspose.Words NuGet csomagot: + +```bash +dotnet add package Aspose.Words +``` + +Most hozd be a szükséges névtereket a fájlodba: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tipp:** Ha .NET 6+ célkeretet használsz, alkalmazhatod a top‑level statements funkciót, és kihagyhatod a `Main` metódus sablont. + +## 2. lépés: A forrás Word dokumentum betöltése + +Az átalakítás első valós lépése a dokumentum betöltése, amelyet rasterizálni szeretnél. Az Aspose.Words támogatja a `.doc`, `.docx`, `.rtf` és számos egyéb formátumot, így nem vagy korlátozva a klasszikus Office fájltípusokra. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Miért ellenőrizzük a `PageCount` értékét? Mert egy null‑oldalas dokumentum üres PNG‑t eredményez, ami gyakran csendes hibaként jelentkezik, és a további kódot megbéníthatja. + +## 3. lépés: Képmegjelenítési beállítások konfigurálása + +Amikor vektoralapú Word tartalmat bitmapre konvertálsz, a alapértelmezett beállításokkal fogsz szaggatott éleket látni. Az antialiasing bekapcsolása simítja ezeket a vonalakat, különösen diagramok, alakzatok és kis méretű szöveg esetén. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Elgondolkodtál már, hogy „Mindig szükség van antialiasingre?” Általában igen, kivéve ha apró ikonokat generálsz, ahol a teljesítmény fontosabb a vizuális hűségnél. + +## 4. lépés: Minden oldal renderelése külön PNG fájlba + +Egy Word dokumentum több oldalt is tartalmazhat. Az Aspose.Words lehetővé teszi a teljes dokumentum egyetlen képként való renderelését, de a gyakrabban használt minta egy PNG oldalanként. Az alábbiakban végigiterálunk az oldalakon, és mindegyiket saját fájlba rendereljük. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Miért használunk `using` blokkot?** Az `ImageRenderer` nem kezelt erőforrásokat (például GDI+ handle‑eket) tartalmaz. A `using` használata garantálja a megfelelő takarítást, megakadályozva a memória‑szivárgást hosszú‑távú szolgáltatásokban. + +### Különleges esetek és tippek + +- **Nagy dokumentumok:** Egy 200‑oldalas dokumentum renderelése memóriaigényes lehet. Fontold meg a batch‑es renderelést, vagy növeld a `MaxMemoryUsage` tulajdonságot, ha `OutOfMemoryException`-t kapsz. +- **Átlátszó háttér:** Ha a Word fájl átlátszó alakzatokat tartalmaz, és átlátszó PNG‑t szeretnél, állítsd be a `BackgroundColor = Color.Transparent` értéket az `ImageRenderingOptions`‑ban. +- **Skálázás:** Miniatűr készítéséhez módosítsd az `ImageSaveOptions`‑t (pl. `Resolution = 72`), vagy méretezd át a kapott PNG‑t a `System.Drawing`‑del. + +## 5. lépés: Csomagolás újrahasználható metódusba + +Ha a konvertálási logikát egyetlen metódusba helyezzük, könnyen meghívható bárhonnan – legyen az web API, háttér‑worker vagy asztali UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Ezután meghívhatod: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +És a metódus **elmenti a Word dokumentumot PNG‑ként** `page_1.png`, `page_2.png` stb. nevű fájlokba. + +## Várható kimenet + +A minta kód háromoldalas `input.docx` fájlon való futtatása a következőt eredményezi: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Nyisd meg bármelyik PNG‑t egy képnézőben – tiszta, antialiaselt megjelenítést kell látnod a megfelelő Word oldalról. Nincsenek extra keretek, torzulás, csak egy hű bitmap pillanatkép. + +## Gyakori hibák és hogyan kerülhetők el + +| Probléma | Miért fordul elő | Megoldás | +|----------|------------------|----------| +| **Üres PNG** | A dokumentum nem töltődött be (`doc` null) vagy az oldal index kívül esik a tartományon. | Ellenőrizd a fájl elérési útját, és győződj meg róla, hogy a `doc.PageCount` > 0 a renderelés előtt. | +| **Szaggatott szöveg** | Antialiasing le van tiltva vagy a DPI túl alacsony. | Állítsd be `UseAntialiasing = true`‑t, és opcionálisan növeld a `Resolution`‑t (pl. 150 DPI). | +| **Out‑of‑Memory** | Nagyon nagy oldalakat renderelsz magas DPI‑n szoros ciklusban. | Renderelj egy oldalt egyszerre (ahogy itt is látható), és gyorsan dispose-ld az `ImageRenderer`‑t. | +| **Helytelen színek** | Alapértelmezett háttérszín fehér; a transparent dokumentumok fehéren jelennek meg. | Állítsd be `BackgroundColor = Color.Transparent`‑t, ha szükséges. | + +## Következtetés + +Most bemutattuk, hogyan lehet **Word dokumentumot PNG‑re konvertálni**, illetve **Word dokumentumot PNG‑ként elmenteni** az Aspose.Words for .NET segítségével. A lépések egyszerűek: + +1. Töltsd be a `.docx`‑et a `Document` osztállyal. +2. Finomhangold az `ImageRenderingOptions`‑t (antialiasing, DPI, háttér). +3. Iterálj az oldalakon, és hívd meg az `ImageRenderer.RenderToFile`‑t. + +A `ConvertWordToPng` metódus segítségével most már könnyedén integrálhatsz kép‑alapú előnézeteket bármely C# alkalmazásba – legyen az egy webszolgáltatás, amely bélyegképeket generál feltöltött szerződésekhez, egy asztali eszköz, amely jelentéseket archivál PNG‑ként, vagy egy batch feladat, amely tartalomkezelő rendszerhez készít asset‑eket. + +**Mi a következő lépés?** Kísérletezz más képformátumokkal (`ImageFormat.Jpeg`, `Bmp`) vagy nézd meg a `PdfSaveOptions`‑t, ha PDF‑et is szeretnél a PNG‑ek mellé. Érdemes lehet vízjelet hozzáadni vagy a kimenetet futás közben átméretezni. + +Jó kódolást, és nyugodtan írj kommentet, ha elakadsz! + +## Kapcsolódó oktatóanyagok + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md b/html/hungarian/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md new file mode 100644 index 000000000..48046092c --- /dev/null +++ b/html/hungarian/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-05-25 +description: png létrehozása html-ből az Aspose HTML segítségével C#-ban. Ismerje + meg, hogyan renderelhet html-t png formátumba, és hogyan konvertálhatja hatékonyan + a html-t képpé. +draft: false +keywords: +- create png from html +- render html to png +- convert html to image +- render html as png +- how to use aspose +language: hu +og_description: png létrehozása html-ből C#-ban az Aspose HTML segítségével. Ez az + útmutató lépésről lépésre bemutatja, hogyan rendereljük a html-t png formátumba, + és hogyan konvertáljuk a html-t képpé. +og_title: png létrehozása html-ből az Aspose segítségével – html renderelése png-re +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + headline: create png from html with Aspose – render html to png + type: TechArticle +- description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + name: create png from html with Aspose – render html to png + steps: + - name: Build an in‑memory HTML document + text: First we need a DOM that Aspose can chew on. Think of `HTMLDocument` as + a lightweight browser page living entirely in memory. + - name: Configure image rendering options (including fonts) + text: Now we tell the renderer how we want the final PNG to look. This is where + you can set DPI, background color, and—most importantly for crisp text—the font + information. + - name: Initialise the `ImageRenderer` + text: With the document and options ready, we create the renderer. This object + orchestrates the conversion pipeline. + - name: Render the HTML to a PNG file + text: Finally, we ask the renderer to write the image to a stream. You can write + to a `MemoryStream` if you need the PNG in‑memory, but here we’ll stick to a + file on disk. + - name: Verify the generated image + text: 'After the code runs, open `YOUR_DIRECTORY/text.png` in any image viewer. + You should see the word “Sample text” rendered in Arial, size 16, exactly as + defined in the HTML. If the text looks blurry, try increasing the DPI:' + - name: Tips & tricks for advanced scenarios + text: '| Situation | Recommended tweak | |-----------|-------------------| | **Multiple + pages** | Loop over `HTMLDocument` pages and call `renderer.RenderToStream` + for each. | | **Custom background** | Set `renderingOptions.BackgroundColor + = Color.White;` | | **Embedding web fonts** | Use `new WebFontInfo(' + type: HowTo +tags: +- Aspose.HTML +- C# +- Image rendering +title: PNG létrehozása HTML‑ből Aspose‑szal – HTML renderelése PNG‑be +url: /hu/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# png létrehozása html‑ből – Teljes C# útmutató Aspose.HTML‑el + +Gondolkodtál már azon, hogyan **hozz létre png‑t html‑ből** anélkül, hogy rengeteg parancssori eszközzel kellene bajlódni? Nem vagy egyedül. Sok fejlesztő akad el, amikor gyors képernyőképre van szüksége egy HTML‑darabról – legyen az egy e‑mail bélyegkép, egy jelentés előnézete vagy egy közösségi média kártya. A jó hír? Az Aspose.HTML‑el **render html to png** néhány sor kóddal megvalósítható, és teljesen a .NET ökoszisztémán belül maradsz. + +Ebben az útmutatóban végigvezetünk mindenen, ami a **convert html to image** megvalósításához szükséges az Aspose használatával, elmagyarázzuk, miért fontos minden lépés, és megmutatjuk, hogyan **render html as png** egyedi betűtípusokkal. A végére egy azonnal futtatható C# kódrészletet kapsz, amely PNG fájlt hoz létre bármely HTML‑szövegből, és megérted, milyen beállításokkal érhetsz el jobb minőségű kimenetet. Nincs külső böngésző, nincs headless Chrome – csak tiszta .NET. + +## Amire szükséged lesz + +- **.NET 6+** (a kód a .NET Framework 4.6+‑on is működik) +- **Aspose.HTML for .NET** NuGet csomag (`Aspose.Html`) telepítve +- Egy alap C# IDE (Visual Studio, Rider vagy VS Code) +- Írási jogosultság egy mappához, ahová a PNG mentésre kerül + +Ennyi—nincs szükség extra binárisokra vagy rendszer‑betűtípusokra, mivel az Aspose saját renderelő motorját csomagolja. Kész? Kezdjünk bele. + +![create png from html example](placeholder.png "create png from html example") + +## png létrehozása html‑ből – Lépésről‑lépésre útmutató + +Az alábbiakban a folyamatot világos, számozott lépésekre bontjuk. Minden lépés tartalmazza a **why**‑t (miért), a pontos **what**‑t (mit kell beírni), és egy rövid **what‑if** megjegyzést a gyakori szélhelyzetekhez. + +### 1. lépés: In‑memory HTML dokumentum létrehozása + +Először szükségünk van egy DOM‑ra, amelyet az Aspose feldolgozhat. Tekintsük a `HTMLDocument`‑ot egy könnyűsúlyú böngészőoldalnak, amely teljesen a memóriában él. + +```csharp +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +// Step 1: Create an in‑memory HTML document with the desired content. +var htmlDoc = new HTMLDocument( + "

Sample text

" +); +``` + +**Why?** +Az Aspose.HTML nem olvas nyers karakterláncokat közvetlenül; egy olyan dokumentumobjektumot vár, amely egy valódi weboldalt utánz. Ha egy olyan karakterláncot adunk át neki, amely tartalmazza a jelölőnyelvedet, egyszerűen tartjuk a munkafolyamatot, és elkerüljük a fájl‑I/O‑val való foglalkozást ebben a lépésben. + +**What‑if** teljes HTML fájlod van a lemezen? Egyszerűen cseréld le a karakterlánc‑konstruktorát `new HTMLDocument("file.html")`‑re, és az Aspose betölti a fájlt helyetted. + +### 2. lépés: Kép renderelési beállítások konfigurálása (beleértve a betűtípusokat) + +Most megmondjuk a renderelőnek, hogyan szeretnénk, hogy a végső PNG kinézzen. Itt állítható be a DPI, a háttérszín, és – ami a legfontosabb a tiszta szöveghez – a betűtípus információ. + +```csharp +// Step 2: Set up image rendering options, including the font to use. +var renderingOptions = new ImageRenderingOptions +{ + // Choose the font family, size, and style (Normal, Italic, Oblique, etc.). + Font = new FontInfo("Arial", 16, WebFontStyle.Normal) +}; +``` + +**Why?** +Ha kihagyod a `FontInfo` részt, az Aspose az alapértelmezett betűtípusra fog visszaállni, amely lehet, hogy nem felel meg a várt megjelenésnek. A betűtípus megadása garantálja, hogy a **render html to png** kimenet tükrözze, amit egy böngészőben látnál. + +**What‑if** a célbetűtípus nincs telepítve a szerveren? Az Aspose beágyazhat web‑betűtípusokat a `WebFontInfo`‑val – csak mutass rá egy `.ttf` fájlra vagy egy URL‑re, és a renderelő letölti azt helyetted. + +### 3. lépés: Az `ImageRenderer` inicializálása + +A dokumentum és a beállítások készen állnak, létrehozzuk a renderelőt. Ez az objektum irányítja a konverziós folyamatot. + +```csharp +// Step 3: Initialise the renderer with the document and options. +using (var renderer = new ImageRenderer(htmlDoc, renderingOptions)) +{ + // Step 4 lives inside this block. +} +``` + +**Why?** +Az `ImageRenderer` a munkagépe, amely feldolgozza a DOM‑ot, alkalmazza a CSS‑t, rasterizálja a layout‑ot, és végül bitmapet hoz létre. `using` blokkba helyezve biztosítja, hogy minden natív erőforrás gyorsan felszabaduljon – egy kis, de fontos teljesítmény‑tipp. + +### 4. lépés: HTML renderelése PNG fájlba + +Végül megkérjük a renderelőt, hogy a képet egy stream‑be írja. Ha a PNG‑t memóriában szeretnéd, használhatsz `MemoryStream`‑et, de itt egy lemezre írt fájlt fogunk használni. + +```csharp + // Step 4: Render the HTML to a PNG image and write it to a file. + using (var outputStream = new FileStream("YOUR_DIRECTORY/text.png", FileMode.Create)) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + } +``` + +**Why?** +A `RenderToStream` teljes irányítást ad a kimeneti formátum felett. Az `ImageFormat.Png` átadása azt mondja az Aspose‑nak, hogy a bitmapet veszteségmentes PNG‑ként kódolja, ami tökéletes képernyőképekhez vagy átlátszóságra van szükség esetén. + +**What‑if** JPEG‑re van szükséged? Egyszerűen cseréld le az `ImageFormat.Png`‑t `ImageFormat.Jpeg`‑re, és opcionálisan állítsd be a minőséget a `JpegOptions`‑on keresztül. + +### 5. lépés: A generált kép ellenőrzése + +A kód futtatása után nyisd meg a `YOUR_DIRECTORY/text.png` fájlt bármely képnézőben. Látnod kell a „Sample text” szót Arial betűtípussal, 16‑os mérettel, pontosan úgy, ahogy az HTML‑ben definiálták. Ha a szöveg elmosódottnak tűnik, próbáld meg növelni a DPI‑t: + +```csharp +renderingOptions.Resolution = new Resolution(300, 300); // 300 DPI for high‑res output +``` + +### 6. lépés: Tippek és trükkök haladó forgatókönyvekhez + +| Szituáció | Ajánlott módosítás | +|-----------|-------------------| +| **Több oldal** | Iterálj a `HTMLDocument` oldalakon, és minden egyeshez hívd meg a `renderer.RenderToStream`‑t. | +| **Egyedi háttér** | Állítsd be `renderingOptions.BackgroundColor = Color.White;` | +| **Web‑betűtípus beágyazása** | Használd a `new WebFontInfo("https://example.com/font.ttf")`‑t a `FontInfo`‑ban. | +| **Nagy HTML tartalom** | Növeld a `renderingOptions.PageWidth`/`PageHeight` értékét a levágás elkerülése érdekében. | + +Ezek a módosítások segítenek a **convert html to image** folyamatban hírlevelekhez, PDF‑ekhez vagy bármilyen helyhez, ahol statikus pillanatképre van szükség. + +## render html to png – Gyakori buktatók és megoldások + +Még egy egyszerű API‑nál is előfordulhat néhány akadály, amely elbuktathat: + +1. **Missing font leads to fallback** – Ha az Aspose nem találja az “Arial” betűtípust, egy általános betűtípusra cseréli, ami megváltoztatja a vizuális elrendezést. Mindig csomagold be a szükséges betűtípust, vagy mutass egy web‑font URL‑re. +2. **Zero‑size output** – Ha elfelejted beállítani a `PageWidth`/`PageHeight` értékeket, 0 × 0 méretű PNG keletkezhet. A renderelő alapértelmezés szerint a viewport méretét használja, ezért győződj meg róla, hogy a HTML definiál méretet (pl. CSS‑ben `width: 800px; height: 600px;`). +3. **File‑access errors** – Ha egy csak‑olvasásra beállított mappába próbálsz írni, kivétel keletkezik. Használd az `Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)`‑t biztonságos alapértelmezettként. + +Ezeknek a problémáknak a kezelése biztosítja a megbízható **render html as png** folyamatot. + +## how to use aspose – Hová tovább? + +Miután elsajátítottad az alapokat, lehet, hogy érdekel, **how to use Aspose** összetettebb feladatokhoz. Íme néhány természetes kiterjesztés: + +- **Batch conversion** – Iterálj egy HTML‑karakterláncok listáján, és generálj egy PNG‑k ZIP‑ét. +- **PDF generation** – Kombináld az `ImageRenderer` kimenetét a `PdfRenderer`‑rel, hogy képernyőképeket ágyazz be PDF‑ekbe. +- **Cloud integration** – Telepítsd a kódot Azure Functions‑be, hogy igény szerint generálj képeket. + +Az hivatalos Aspose.HTML dokumentáció (https://docs.aspose.com/html/net/) részletes API‑referenciákat, mintaprojekteket és teljesítmény‑benchmarkokat kínál. Egy igazi kincsesbánya, ha egyetlen képnél nagyobbra szeretnél skálázni. + +## Várt kimenet + +A fenti teljes kódrészlet futtatása egy `text.png` nevű fájlt hoz létre. A vizuális tartalma megegyezik az eredeti HTML‑lel: + +``` ++---------------------------+ +| Sample text | +| (Arial, 16pt, Normal) | ++---------------------------+ +``` + +## Teljes működő példa (másolás‑beillesztésre kész) + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // Step 1: Create an in‑memory HTML document. + var htmlDoc = new HTMLDocument( + "

Sample text

" + ); + + // Step 2: Set rendering options (font, DPI, etc.). + var renderingOptions = + + +## Kapcsolódó útmutatók + +- [Hogyan használjuk az Aspose‑t HTML PNG‑re rendereléshez – Lépésről‑lépésre útmutató](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [HTML renderelése PNG‑re Aspose‑szal – Teljes útmutató](/html/english/net/rendering-html-documents/how-to-render-html-to-png-with-aspose-complete-guide/) +- [HTML renderelése PNG‑ként .NET‑ben az Aspose.HTML‑el](/html/english/net/rendering-html-documents/render-html-as-png/) + +{{< /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/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md b/html/hungarian/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md new file mode 100644 index 000000000..58fa03ec2 --- /dev/null +++ b/html/hungarian/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md @@ -0,0 +1,291 @@ +--- +category: general +date: 2026-05-25 +description: HTML renderelése PNG-be C#-ban. Tanulja meg, hogyan konvertálja az HTML-t + képpé, állítsa be a képrenderelés beállításait, és néhány lépésben renderelje az + HTML-t opciókkal. +draft: false +keywords: +- render html to png +- convert html to image +- image rendering options +- render html with options +language: hu +og_description: HTML renderelése PNG-re C#-ban. Ez az útmutató bemutatja, hogyan konvertálhatja + az HTML-t képpé, hogyan állíthatja be a képrenderelés opcióit, és hogyan renderelhet + HTML-t a tökéletes eredmény érdekében. +og_title: HTML renderelése PNG‑be – Lépésről‑lépésre C# útmutató +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + headline: Render HTML to PNG – Complete Guide with Custom Handlers & Options + type: TechArticle +- description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + name: Render HTML to PNG – Complete Guide with Custom Handlers & Options + steps: + - name: A basic PNG (no extra options). + text: A basic PNG (no extra options). + - name: An antialiased PNG. + text: An antialiased PNG. + - name: A hint‑enabled PNG. + text: A hint‑enabled PNG. + type: HowTo +tags: +- C# +- HTML +- graphics +- image rendering +title: HTML renderelése PNG‑be – Teljes útmutató egyedi kezelőkkel és beállításokkal +url: /hu/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML renderelése PNG‑be – Teljes útmutató egyedi kezelőkkel és beállításokkal + +Valaha is szükséged volt **HTML PNG‑be renderelésére**, de nem tudtad, melyik API‑hívásokat kellene használni? Nem vagy egyedül – sok fejlesztő ütközik ebbe a problémába hírlevelek, bélyegképek vagy PDF‑szerű előnézetek készítésekor. A jó hír? Néhány C# sorral **HTML‑t képpé konvertálhatsz** futás közben, és még a *kép renderelési beállításokat* is finomhangolhatod a tökéletes eredményért. + +Ebben az útmutatóban egy valós példán keresztül vezetünk végig: egy egyedi `ResourceHandler`, amely meghatározza, hová kerülnek a külső erőforrások, egy `HTMLDocument` betöltése, majd végül a jelölőnyelv PNG fájlokba történő renderelése antialiasing és betűtípus‑hinting használatával és anélkül. A végére képes leszel **HTML‑t opciókkal renderelni**, amelyek bármilyen vizuális minőségi követelménynek megfelelnek. + +## Mit fogsz építeni + +- Egy újrahasználható erőforráskezelő, amely képeket, betűtípusokat vagy CSS‑t egy általad irányított mappába ír. +- Egy egyszerű HTML dokumentum betöltő, amely bármilyen jelölőnyelvi karakterláncra cserélhető. +- Két renderelési lépés: egy egyszerű, egy *kép renderelési beállításokkal* (antialiasing, hinting). +- Kész‑használatra kész C# kód, amelyet beilleszthetsz egy konzolalkalmazásba vagy egységtesztbe. + +Külső könyvtárak nem szükségesek a hipotetikus `HtmlRenderer` névtérön kívül, de pontosan megmutatjuk, hol csatlakoztathatod a kedvenc HTML‑kép motorodat. + +--- + +## Előfeltételek + +- .NET 6.0 vagy újabb (a kód .NET Core‑ral is lefordítható). +- Alapvető ismeretek a C# osztályokról és a `using` utasításokról. +- Egy könyvtár a lemezen, ahová a tutorial fájlokat írhat (`YOUR_DIRECTORY` a kódrészletekben). + +Ha ezek megvannak, merüljünk el benne. + +--- + +## HTML renderelése PNG‑be – Egyedi erőforráskezelő + +HTML renderelésekor a külső erőforrások (képek, betűtípusok, CSS) gyakran helyet igényelnek. Alapértelmezés szerint sok renderelő egy ideiglenes mappába ír, ami biztonsági rémálom lehet. Első lépésünk az, hogy **HTML‑t PNG‑be rendereljünk**, miközben teljes ellenőrzést tartunk a források felett. + +```csharp +using System; +using System.IO; + +// Step 1: Define a custom resource handler to control where external resources are written +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + // Combine your target folder with the resource name + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} +``` + +*Miért fontos ez:* +A `ResourceHandler` alaposztály lehetővé teszi a renderelő számára, hogy megkérdezze: „Hová tegyem ezt a képet?” A `HandleResource` felülírásával minden kérést a `YOUR_DIRECTORY/Resources` helyre irányítunk. Ez megakadályozza, hogy a renderelő a rendszerben szétterjessze a fájlokat, és a takarítást egyszerűvé teszi. + +> **Pro tipp:** Ha névütközéseket vársz, egy GUID‑et helyezz a `info.Name` elé a mentés előtt. + +--- + +## HTML‑t képpé konvertálás – Dokumentum betöltése + +Miután a kezelő készen áll, szükségünk van egy `HTMLDocument` példányra. Tekintsd úgy, mint egy vászonra, amely a jelölőnyelvedet, szkripteket és stílusreferenciákat tartalmazza. + +```csharp +using HtmlRenderer; // hypothetical namespace + +// Step 2: Load an HTML document that may reference external resources +HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); +``` + +A karakterláncot bármilyen HTML‑re cserélheted – például egy Razor nézet kimenetére vagy egy Markdown‑HTML konverzióra. A fontos rész, hogy a dokumentum ismeri a később átadott egyedi kezelőt. + +--- + +## Kép renderelési beállítások – Antialiasing és betűtípus‑hinting finomhangolása + +Az egyszerű renderelés működik, de néha szükség van egy extra csiszolásra: simább élek, tisztább szöveg vagy a helyes al-pixel elhelyezés. Itt jönnek képbe a **kép renderelési beállítások**. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Mi történik a háttérben?* +Az `ImageRenderingOptions` megadja a renderelőnek, mely betűtípust használja, és hogy simítsa-e a geometriai alakzatokat. A `TextOptions` arra fókuszál, hogyan kerülnek rasterizálásra a glifek – a hinting a karaktereket a pixelrácshoz igazítja, ami különösen hasznos kis méreteknél. + +--- + +## HTML renderelése opciókkal – Renderelési beállítások alkalmazása + +A dokumentum és a beállítások elkészültek, most végre **HTML‑t opciókkal renderelhetünk**. Három fájlt fogunk előállítani: + +1. Egy egyszerű PNG (további opciók nélkül). +2. Egy antialiasing‑es PNG. +3. Egy hint‑elt PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Vedd észre, hogy minden `ImageRenderer` más-más második argumentumot kap: az egyszerű kezelőt, az antialiasing beállításokat és a hinting beállításokat. Ez a minta lehetővé teszi a konfigurációk cseréjét anélkül, hogy más kódot módosítanál – tökéletes egységtesztekhez vagy funkciókapcsolókhoz. + +> **Gyakori kérdés:** *„Összekapcsolhatom az antialiasing‑et és a hinting‑et egy lépésben?”* +> Természetesen. Hozz létre egyetlen opciós objektumot, amely mindkét `UseAntialiasing` és `UseHinting` értéket `true`‑ra állítja, majd add át az `ImageRenderer`‑nek. + +--- + +## Az eredmény ellenőrzése – Mit várhatsz + +A program futtatása után nyisd meg a három PNG fájlt: + +- **out.png** – a HTML hiteles pillanatképe, de az élek kissé szaggatottak lehetnek. +- **img.png** – simább vonalak és görbék az antialiasingnek köszönhetően. +- **txt.png** – a szöveg élesebb, különösen 12 pt Verdana esetén, a betűtípus‑hinting miatt. + +Ha bármelyik kép hibásnak tűnik, ellenőrizd, hogy a `YOUR_DIRECTORY/Resources` tartalmazza-e a hivatkozott `logo.png` fájlt. A hiányzó erőforrások miatt a renderelő egy helyőrzőre vált, ami furcsán nézhet ki. + +--- + +## Teljes működő példa + +Az alábbiakban a teljes program látható, amelyet egyszerűen beilleszthetsz egy konzolalkalmazásba. Tartalmazza az összes `using` direktívát és egy minimális `Main` metódust. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Futtasd a programot, vizsgáld meg a három PNG‑t, és pontosan látni fogod, hogyan befolyásolja az egyes beállítások a végső képet. Nyugodtan kísérletezz – változtasd a betűtípust, kapcsolj be vagy ki `UseAntialiasing`‑t, vagy adj hozzá több CSS szabályt. Nincs határ, amikor **HTML‑t képpé konvertálsz** igény szerint. + +--- + +## Következő lépések és kapcsolódó témák + +- **Kötegelt feldolgozás:** Egy HTML‑részletgyűjteményen iterálva generálj bélyegképeket mindegyikhez. +- **PDF konverzió:** Kombináld a PNG‑ket egy PDF könyvtárral (pl. iTextSharp), hogy többoldalas dokumentumot hozz létre. +- **Dinamikus erőforrások:** Bővítsd a `MyHandler`‑t, hogy képeket töltsön le egy CDN‑ről vagy adatbázisból a fájlrendszer helyett. +- **Teljesítményhangolás:** Gyorsítótárazd a renderelt képeket, ha a forrás HTML nem változott; ez drámaian csökkenti a CPU terhelést. + +Ha mélyebb testreszabás érdekel, nézd meg az `ImageRenderer` `RenderTransform` tulajdonságát a forgatáshoz vagy méretezéshez, vagy fedezd fel a `CssEngine` beállításait a fejlett elrendezésvezérléshez. + +--- + +## Következtetés + +Mindezt lefedtük, ami a **HTML PNG‑be rendereléséhez** C#‑ban szükséges: egy egyedi erőforráskezelő, a jelölőnyelv betöltése, a *kép renderelési beállítások* konfigurálása, és végül **HTML renderelése opciókkal**, amelyek antialiasing‑et és betűtípus‑hinting‑et biztosítanak. A teljes, futtatható példa azonnal működik, és a moduláris felépítés könnyűvé teszi a nagyobb projektekhez való alkalmazását. + +Próbáld ki, finomhangold a beállításokat, és hagyd, hogy a renderelt képek beszéljenek a következő e‑mail kampányodban, műszerfaladon vagy jelentéskészítő eszközödben. Got + +## Kapcsolódó oktatóanyagok + +- [Hogyan renderelj HTML‑t PNG‑be – Teljes C# útmutató](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Hogyan használjuk az Aspose‑t HTML PNG‑be rendereléshez – Lépésről‑lépésre útmutató](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [PNG létrehozása HTML‑ből – Teljes C# renderelési útmutató](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/indonesian/net/generate-jpg-and-png-images/_index.md index 4e885ce32..034f6ec09 100644 --- a/html/indonesian/net/generate-jpg-and-png-images/_index.md +++ b/html/indonesian/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Pelajari cara menggunakan Aspose.HTML untuk .NET guna memanipulasi dokumen HTML, Pelajari cara mengaktifkan antialiasing untuk meningkatkan kualitas gambar PNG atau JPG saat mengonversi dokumen DOCX menggunakan Aspose.HTML. ### [Konversi DOCX ke PNG – Membuat Arsip ZIP dengan C# Tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Pelajari cara mengonversi file DOCX menjadi PNG dan mengemasnya ke dalam arsip ZIP menggunakan C# dengan Aspose.HTML. +### [Konversi docx ke png dalam C# – Panduan Lengkap Langkah demi Langkah](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Pelajari cara mengonversi file DOCX menjadi PNG menggunakan C# dengan Aspose.HTML dalam panduan langkah demi langkah yang lengkap. +### [Buat PNG dari HTML – Panduan Lengkap Langkah demi Langkah](./create-png-from-html-full-step-by-step-guide/) +Pelajari cara mengonversi HTML menjadi gambar PNG dengan panduan lengkap langkah demi langkah menggunakan Aspose.HTML untuk .NET. +### [Buat PNG dari HTML dengan Aspose – Render HTML ke PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Pelajari cara mengonversi HTML menjadi gambar PNG menggunakan Aspose dengan proses render yang mudah. +### [Konversi Dokumen Word ke PNG – Panduan Pemrograman Lengkap](./convert-word-document-to-png-complete-programming-guide/) +Pelajari cara mengonversi dokumen Word menjadi PNG menggunakan Aspose.HTML untuk .NET dengan panduan lengkap langkah demi langkah. +### [Render HTML ke PNG – Panduan Lengkap dengan Penangan Kustom & Opsi](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Pelajari cara merender HTML menjadi PNG menggunakan penangan kustom dan opsi konfigurasi untuk hasil optimal. ## Kesimpulan diff --git a/html/indonesian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/indonesian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..ba0a1e4f3 --- /dev/null +++ b/html/indonesian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-05-25 +description: Konversi docx ke png dengan cepat menggunakan C#. Pelajari cara mengonversi + Word ke gambar, mengekspor Word sebagai png, dan mengatur font khusus dalam satu + tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: id +og_description: Konversi docx ke png dengan C#. Panduan ini menunjukkan cara mengekspor + Word menjadi png dan mengatur font khusus untuk hasil yang sempurna. +og_title: Konversi docx ke png di C# – Panduan Pemrograman Lengkap +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Mengonversi docx ke png di C# – Panduan Lengkap Langkah demi Langkah +url: /id/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Mengonversi docx ke png di C# – Panduan Lengkap Langkah‑per‑Langkah + +Pernah membutuhkan untuk **convert docx to png** tetapi tidak yakin perpustakaan mana yang akan memberikan glyph bersih dan fidelitas halaman penuh? Anda tidak sendirian. Dalam banyak proyek otomasi kantor, mengubah dokumen Word menjadi gambar (pikirkan “convert word to image”) adalah cara tercepat untuk menyematkan konten di halaman web atau email tanpa harus khawatir tentang instalasi Office. + +Begini: API Aspose.Words untuk .NET memungkinkan Anda **export word as png** dengan hanya beberapa baris kode, dan Anda bahkan dapat mengatur **set custom font** sehingga outputnya terlihat persis seperti aslinya. Dalam tutorial ini kami akan membahas seluruh proses—dari menginstal paket hingga merender PNG akhir—sehingga Anda dapat mulai mengonversi docx ke png hari ini. + +## Convert docx to png – Gambaran Umum dan Prasyarat + +* **.NET 6.0 atau lebih baru** – contoh ini menargetkan .NET 6, tetapi versi sebelumnya juga dapat bekerja. +* **Aspose.Words for .NET** – paket NuGet yang menyediakan `Document`, `TextOptions`, dan `ImageRenderer`. +* Sebuah file **sample DOCX** yang ingin Anda ubah menjadi gambar (letakkan di folder yang dapat Anda referensikan). +* Opsional: sebuah **custom TrueType font** (misalnya, Times New Roman) jika Anda ingin mengganti font default dokumen. + +Jika semua poin di atas sudah terpenuhi, Anda siap mulai mengonversi word ke image dengan percaya diri. + +## Install Aspose.Words for .NET (convert word to image) + +Langkah pertama adalah menarik perpustakaan ke dalam proyek Anda. Buka terminal di folder solusi Anda dan jalankan: + +```bash +dotnet add package Aspose.Words +``` + +Perintah tunggal itu menambahkan versi stabil terbaru dari Aspose.Words, yang mencakup kelas `ImageRenderer` yang kami perlukan untuk **export docx as png**. Setelah proses pemulihan selesai, Anda siap melanjutkan. + +> **Pro tip:** Jika Anda menggunakan Visual Studio, Anda juga dapat menambahkan paket melalui UI NuGet Package Manager—cukup cari “Aspose.Words”. + +## Load the source document (convert docx to png) + +Sekarang kita akan memuat file DOCX. Ini adalah titik di mana alur **convert docx to png** sebenarnya dimulai. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` mewakili seluruh file Word dalam memori. Path dapat berupa absolut atau relatif; pastikan file tersebut ada, jika tidak Anda akan mendapatkan `FileNotFoundException`. + +## Configure text rendering options (set custom font) + +Jika DOCX Anda menggunakan font yang tidak terpasang di mesin target, PNG yang dihasilkan mungkin terlihat tidak tepat. Itulah mengapa Anda sering perlu **set custom font** sebelum mengekspor. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` memberi tahu renderer untuk menerapkan sub‑pixel hinting, yang menajamkan tepi huruf—terutama penting untuk PNG beresolusi tinggi. +* `FontInfo` memaksa setiap potongan teks digambar dengan *Times New Roman* pada 14 pt, terlepas dari apa yang ditentukan dalam DOCX asli. Silakan ganti nama tersebut dengan font apa pun yang Anda miliki di server. + +## Create an ImageRenderer (convert word to image) + +Dengan dokumen dan opsi siap, kami menginstansiasi `ImageRenderer`. Kelas ini melakukan pekerjaan berat mengubah halaman menjadi gambar bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* Blok `using` memastikan renderer melepaskan sumber daya native (seperti handle GDI) dengan cepat. +* `RenderToFile` menerima path dan `ImageFormat`. Jika Anda membutuhkan semua halaman, Anda dapat melakukan loop pada `renderer.PageCount` dan memanggil `RenderToFile` dengan nama file khusus per halaman. + +## Verify the output (export docx as png) + +Setelah kode dijalankan, Anda akan melihat `hinted.png` di folder yang Anda tentukan. Buka dengan penampil gambar apa pun—apakah teks terlihat tajam? Jika Anda menggunakan custom font, Anda akan melihat konsistensi jenis huruf di seluruh halaman. + +Berikut referensi visual cepat (ganti dengan screenshot Anda sendiri saat mempublikasikan): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – sebuah rendering PNG dari halaman Word dengan font Times New Roman. + +Jika gambar terlihat buram, periksa kembali bahwa `UseHinting` diatur ke `true` dan DPI renderer (default 96) sesuai dengan kebutuhan Anda. Anda dapat menyesuaikan DPI melalui `renderer.ImageOptions.Resolution = 300;` sebelum memanggil `RenderToFile`. + +## Full, runnable program (export word as png) + +Menggabungkan semuanya, berikut aplikasi konsol mandiri yang dapat Anda salin‑tempel ke `Program.cs` dan jalankan: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Apa yang dilakukan program ini:** + +1. Memuat `input.docx`. +2. Memaksa setiap karakter menggunakan *Times New Roman* pada 14 pt dengan hinting diaktifkan. +3. Merender halaman pertama pada 300 DPI, menghasilkan PNG berkualitas tinggi. +4. Menulis pesan konsol yang ramah untuk mengonfirmasi keberhasilan. + +Jalankan dengan `dotnet run` dan Anda akan memiliki gambar yang dirender dengan sempurna siap untuk ditampilkan di web, disematkan dalam PDF, atau skenario lain di mana Anda perlu **convert docx to png** tanpa beban Office. + +## Common questions and edge‑case handling + +* **Bagaimana jika saya membutuhkan semua halaman?** + Loop pada `renderer.PageCount` dan panggil `RenderToFile` dengan nama file yang menyertakan nomor halaman, misalnya `output_page_{i}.png`. + +* **Apakah saya dapat mengekspor ke format gambar lain?** + Tentu saja. Ganti `ImageFormat.Png` dengan `ImageFormat.Jpeg`, `ImageFormat.Bmp`, atau `ImageFormat.Tiff` tergantung pada kebutuhan Anda selanjutnya. + +* **Dokumen saya menggunakan font tersemat—apakah saya masih perlu `set custom font`?** + Jika DOCX sudah menyematkan font yang Anda inginkan, Anda dapat melewatkan properti `Font`. Renderer akan menghormati font yang tersemat secara otomatis. + +* **Bagaimana cara menangani dokumen besar tanpa menghabiskan memori?** + Proses satu halaman pada satu waktu di dalam blok `using`, dan buang setiap bitmap yang dihasilkan setelah disimpan. Ini menjaga jejak memori tetap rendah. + +* **Apakah ada masalah lisensi?** + Aspose.Words menawarkan percobaan gratis dengan watermark. Untuk penggunaan produksi, beli lisensi dan panggil `License license = new License(); license.SetLicense("Aspose.Words.lic");` sebelum memuat dokumen. + +## Kesimpulan + +Anda kini memiliki resep lengkap dan siap produksi untuk **convert docx to png** menggunakan C#. Panduan ini mencakup semua hal mulai dari menginstal Aspose.Words (perpustakaan utama untuk **convert word to image**) hingga mengonfigurasi `TextOptions` untuk skenario **set custom font**, dan akhirnya merender file gambar. Dengan pengetahuan ini Anda dapat **export word as png**, menyematkannya di halaman web, menghasilkan thumbnail, atau memasukkannya ke dalam pipeline pemrosesan gambar apa pun. + +Apa selanjutnya? Cobalah mengekspor beberapa halaman, bereksperimen dengan pengaturan DPI yang berbeda, atau ubah format output menjadi + +## Tutorial Terkait + +- [Cara Mengaktifkan Antialiasing Saat Mengonversi DOCX ke PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Mengonversi HTML ke PNG di .NET dengan Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – buat arsip zip tutorial c#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/indonesian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/indonesian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..adc04f837 --- /dev/null +++ b/html/indonesian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-05-25 +description: Pelajari cara mengonversi dokumen Word menjadi PNG dengan cepat. Tutorial + ini juga menunjukkan cara menyimpan dokumen Word sebagai PNG dengan antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: id +og_description: Konversi dokumen Word ke PNG dengan beberapa baris kode C#. Ikuti + panduan ini untuk menyimpan dokumen Word sebagai PNG secara efisien. +og_title: Ubah Dokumen Word ke PNG – Panduan Langkah demi Langkah +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Konversi Dokumen Word ke PNG – Panduan Pemrograman Lengkap +url: /id/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Mengonversi Dokumen Word ke PNG – Panduan Pemrograman Lengkap + +Pernah membutuhkan untuk **convert Word document to PNG** tetapi tidak yakin pustaka atau pengaturan mana yang harus dipilih? Anda tidak sendirian. Dalam banyak proyek otomasi kantor, Anda akhirnya membutuhkan gambar raster dari file `.docx`—mungkin untuk pratinjau thumbnail, penyematan email, atau pemeriksaan visual cepat. Kabar baiknya, dengan beberapa baris kode C#, Anda juga dapat **save Word document as PNG** tanpa harus mengutak‑atik secara manual. + +Dalam tutorial ini kami akan membahas contoh dunia nyata menggunakan Aspose.Words for .NET. Kami akan mencakup semua mulai dari memuat file sumber, menyesuaikan opsi rendering gambar untuk output yang tajam, hingga menulis file PNG ke disk. Pada akhir tutorial, Anda akan memiliki metode yang dapat digunakan kembali dan dapat dimasukkan ke dalam proyek .NET mana pun. + +## Prasyarat + +- **.NET 6.0** atau yang lebih baru (kode ini juga berfungsi pada .NET Framework 4.6+). +- Salinan **licensed** dari **Aspose.Words for .NET** (versi percobaan gratis dapat digunakan untuk pengujian). +- Visual Studio 2022 atau IDE apa pun yang Anda sukai. +- File Word contoh (`input.docx`) ditempatkan di folder yang dapat Anda referensikan. + +Tidak diperlukan paket pihak ketiga lainnya. + +## Langkah 1: Siapkan Proyek dan Impor Namespace + +Pertama-tama, buat aplikasi console baru (atau integrasikan ke dalam layanan yang sudah ada). Kemudian tambahkan paket NuGet Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Sekarang impor namespace yang diperlukan ke dalam file Anda: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** Jika Anda menargetkan .NET 6+, Anda dapat menggunakan fitur pernyataan tingkat atas dan melewatkan boilerplate metode `Main`. + +## Langkah 2: Muat Dokumen Word Sumber + +Langkah nyata pertama dalam alur konversi adalah memuat dokumen yang ingin Anda rasterkan. Aspose.Words mendukung `.doc`, `.docx`, `.rtf`, dan banyak format lainnya, sehingga Anda tidak terbatas pada tipe file Office klasik. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Mengapa kami memeriksa `PageCount`? Karena dokumen dengan nol halaman akan menghasilkan PNG kosong, yang sering menjadi kegagalan diam yang mengganggu kode di hilir. + +## Langkah 3: Konfigurasikan Opsi Rendering Gambar + +Saat mengonversi konten Word berbasis vektor menjadi bitmap, Anda akan melihat tepi bergerigi jika tetap menggunakan pengaturan default. Mengaktifkan antialiasing akan melicinkan garis-garis tersebut, terutama untuk diagram, bentuk, dan teks berukuran kecil. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Anda mungkin bertanya, “Apakah saya selalu memerlukan antialiasing?” Biasanya, ya, kecuali Anda menghasilkan ikon kecil di mana kinerja lebih penting daripada ketajaman visual. + +## Langkah 4: Render Setiap Halaman ke File PNG Terpisah + +Sebuah dokumen Word dapat berisi beberapa halaman. Aspose.Words memungkinkan Anda merender seluruh dokumen sebagai satu gambar, tetapi pola yang lebih umum adalah menghasilkan satu PNG per halaman. Di bawah ini kami akan melakukan loop melalui halaman-halaman, merender masing‑masing ke file terpisah. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Mengapa menggunakan blok `using`?** `ImageRenderer` menyimpan sumber daya tak terkelola (seperti handle GDI+). Membungkusnya dalam `using` menjamin pembersihan yang tepat, mencegah kebocoran memori pada layanan yang berjalan lama. + +### Kasus Tepi & Tips + +- **Large Documents:** Merender dokumen 200‑halaman dapat memakan banyak memori. Pertimbangkan merender dalam batch atau meningkatkan properti `MaxMemoryUsage` jika Anda mengalami `OutOfMemoryException`. +- **Transparent Backgrounds:** Jika file Word Anda berisi bentuk transparan dan Anda menginginkan PNG transparan, setel `BackgroundColor = Color.Transparent` dalam `ImageRenderingOptions`. +- **Scaling:** Untuk menghasilkan thumbnail, sesuaikan `ImageSaveOptions` (mis., `Resolution = 72`) atau ubah ukuran PNG yang dihasilkan dengan `System.Drawing`. + +## Langkah 5: Bungkus dalam Metode yang Dapat Digunakan Kembali + +Memiliki logika konversi dalam satu metode membuatnya mudah dipanggil dari mana saja—baik itu API web, pekerja latar belakang, atau UI desktop. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Anda sekarang dapat memanggil: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Dan metode tersebut akan **save Word document as PNG** file dengan nama `page_1.png`, `page_2.png`, dll. + +## Output yang Diharapkan + +Menjalankan contoh kode pada `input.docx` tiga halaman akan menghasilkan: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Buka salah satu PNG tersebut di penampil gambar—Anda akan melihat render yang tajam dan antialias dari halaman Word yang bersangkutan. Tanpa batas tambahan, tanpa distorsi, hanya snapshot bitmap yang akurat. + +## Kesalahan Umum dan Cara Menghindarinya + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **PNG Kosong** | Dokumen tidak dimuat (`doc` bernilai null) atau indeks halaman di luar jangkauan. | Verifikasi jalur file dan pastikan `doc.PageCount` > 0 sebelum merender. | +| **Teks Bergigi** | Antialiasing dinonaktifkan atau DPI terlalu rendah. | Setel `UseAntialiasing = true` dan secara opsional tingkatkan `Resolution` (mis., 150 DPI). | +| **Kekurangan Memori** | Merender halaman yang sangat besar dengan DPI tinggi dalam loop yang ketat. | Render satu halaman pada satu waktu (seperti yang ditunjukkan) dan segera dispose `ImageRenderer`. | +| **Warna Tidak Tepat** | Warna latar belakang default putih; dokumen transparan muncul putih. | Setel `BackgroundColor = Color.Transparent` bila diperlukan. | + +## Kesimpulan + +Kami baru saja menunjukkan cara bersih dan siap produksi untuk **convert Word document to PNG** dan, secara ekstensi, **save Word document as PNG** menggunakan Aspose.Words for .NET. Langkah‑langkahnya sederhana: + +1. Muat `.docx` dengan `Document`. +2. Sesuaikan `ImageRenderingOptions` (antialiasing, DPI, latar belakang). +3. Loop melalui halaman dan panggil `ImageRenderer.RenderToFile`. + +Dengan metode `ConvertWordToPng` yang dapat digunakan kembali, Anda kini dapat mengintegrasikan pratinjau berbasis gambar ke dalam aplikasi C# apa pun—baik itu layanan web yang menghasilkan thumbnail untuk kontrak yang diunggah, alat desktop yang mengarsipkan laporan sebagai PNG, atau pekerjaan batch yang menyiapkan aset untuk sistem manajemen konten. + +**Apa selanjutnya?** Cobalah bereksperimen dengan format gambar lain (`ImageFormat.Jpeg`, `Bmp`) atau jelajahi `PdfSaveOptions` jika Anda memerlukan PDF bersama PNG. Anda juga dapat menambahkan watermark atau mengubah ukuran output secara dinamis. + +Selamat coding, dan silakan tinggalkan komentar jika Anda mengalami kendala! + +## Tutorial Terkait + +- [konversi docx ke png – tutorial membuat arsip zip c#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Cara Mengaktifkan Antialiasing Saat Mengonversi DOCX ke PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Cara Menggunakan Aspose untuk Merender HTML ke PNG – Panduan Langkah‑demi‑Langkah](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/indonesian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..913439948 --- /dev/null +++ b/html/indonesian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,312 @@ +--- +category: general +date: 2026-05-25 +description: Buat PNG dari HTML dengan cepat menggunakan Aspose.HTML. Pelajari cara + merender HTML ke PNG, mengonversi HTML ke PNG, dan menangani sumber daya secara + efisien. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: id +og_description: Buat PNG dari HTML dengan Aspose.HTML. Panduan ini menunjukkan cara + merender HTML ke PNG, mengonversi HTML ke PNG, dan menangani sumber daya dengan + benar. +og_title: Buat PNG dari HTML – Tutorial Pemrograman Lengkap +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Buat PNG dari HTML – Panduan Langkah-demi-Langkah Lengkap +url: /id/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Membuat PNG dari HTML – Panduan Lengkap Langkah‑per‑Langkah + +Pernah bertanya‑tanya bagaimana **membuat PNG dari HTML** tanpa harus mengandalkan banyak alat pihak ketiga? Anda tidak sendirian. Baik Anda sedang membangun generator pratinjau email, dasbor pelaporan, atau layanan thumbnail, mengubah markup HTML menjadi gambar PNG yang tajam adalah kebutuhan umum. Dalam tutorial ini kami akan menelusuri contoh lengkap yang dapat dijalankan yang **merender HTML ke PNG**, menunjukkan cara **mengonversi HTML ke PNG** dengan Aspose.HTML, dan bahkan menjelaskan **cara menangani sumber daya** seperti gambar, CSS, dan font. + +Kami akan memulai dengan string HTML kecil, menyiapkan `ResourceHandler` khusus yang menulis setiap aset eksternal ke disk, dan mengakhiri dengan menyimpan file PNG yang sempurna. Pada akhir tutorial Anda akan memiliki solusi mandiri yang dapat dimasukkan ke proyek .NET apa pun. + +## Apa yang Akan Anda Pelajari + +- Cara membuat `HTMLDocument` dari string atau file. +- Cara mengimplementasikan `ResourceHandler` khusus sehingga setiap sumber daya yang diminta perender disimpan secara lokal. +- Langkah‑langkah tepat untuk **merender HTML ke PNG** menggunakan `ImageRenderer`. +- Kesulitan umum (font yang hilang, URL relatif) dan cara terbaik **menangani sumber daya**. +- Cara memverifikasi output dan menyesuaikan ukuran atau format gambar bila diperlukan. + +### Prasyarat + +- .NET 6.0 atau lebih baru (kode ini juga berfungsi pada .NET Framework 4.7+). +- Referensi ke paket NuGet **Aspose.HTML for .NET**. +- Familiaritas dasar dengan C# dan aliran asinkron (tidak wajib, tapi membantu). + +Tanpa alat eksternal, tanpa browser headless—hanya C# biasa dan Aspose.HTML. + +--- + +## Membuat PNG dari HTML – Ikhtisar + +Berikut adalah kode **lengkap, siap‑jalan**. Silakan salin‑tempel ke aplikasi konsol, sesuaikan placeholder `YOUR_DIRECTORY`, dan tekan F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Tips pro:** Ganti `"YOUR_DIRECTORY"` dengan path absolut (misalnya, `Path.GetFullPath("./output")`) agar tidak terjadi kejutan ketika aplikasi dijalankan dari direktori kerja yang berbeda. + +--- + +## Langkah 1: Siapkan Dokumen HTML + +Hal pertama yang kami lakukan adalah membungkus string HTML mentah ke dalam `HTMLDocument`. Aspose.HTML memperlakukan objek ini sebagai DOM lengkap, yang berarti ia akan memecahkan tag ``, blok ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Anda dapat mengganti string dengan HTML apa pun—mungkin output dari view Razor atau konversi Markdown‑ke‑HTML. Bagian pentingnya adalah dokumen mengetahui tentang penangan kustom yang akan kami berikan nanti. + +--- + +## Opsi Rendering Gambar – Menyetel Antialiasing dan Font Hinting + +Rendering biasa berfungsi, tetapi kadang‑kadang Anda membutuhkan sentuhan ekstra: tepi yang lebih halus, teks yang lebih jelas, atau posisi sub‑pixel yang tepat. Di sinilah **opsi rendering gambar** berperan. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Apa yang terjadi di balik layar?* +`ImageRenderingOptions` memberi tahu renderer font mana yang harus digunakan dan apakah harus menghaluskan bentuk geometris. `TextOptions` berfokus pada cara glyph dirasterisasi—hinting menyelaraskan karakter ke grid piksel, yang sangat berguna pada ukuran kecil. + +--- + +## Render HTML dengan Opsi – Menerapkan Pengaturan Rendering + +Dengan dokumen dan opsi yang sudah dipersiapkan, kita akhirnya dapat **render HTML dengan opsi**. Kami akan menghasilkan tiga file: + +1. PNG dasar (tanpa opsi tambahan). +2. PNG dengan antialiasing. +3. PNG dengan hinting. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Perhatikan bagaimana setiap `ImageRenderer` menerima argumen kedua yang berbeda: penangan biasa, pengaturan antialiasing, dan pengaturan hinting. Pola ini memungkinkan Anda menukar konfigurasi tanpa mengubah kode lain—sempurna untuk unit test atau feature flag. + +> **Pertanyaan umum:** *“Apakah saya dapat menggabungkan antialiasing dan hinting dalam satu proses?”* +> Tentu saja. Cukup buat satu objek opsi yang mengatur `UseAntialiasing` dan `UseHinting` menjadi `true`, lalu berikan ke `ImageRenderer`. + +--- + +## Verifikasi Output – Apa yang Diharapkan + +Setelah Anda menjalankan program, buka tiga file PNG tersebut: + +- **out.png** – snapshot setia dari HTML, tetapi tepinya mungkin terlihat agak bergerigi. +- **img.png** – garis dan kurva lebih halus berkat antialiasing. +- **txt.png** – teks tampak lebih tajam, terutama pada Verdana 12 pt, karena font hinting. + +Jika ada gambar yang tampak aneh, periksa kembali bahwa `YOUR_DIRECTORY/Resources` berisi `logo.png` yang direferensikan. Aset yang hilang akan membuat renderer beralih ke placeholder, yang dapat terlihat tidak wajar. + +--- + +## Contoh Lengkap yang Berfungsi + +Berikut seluruh program, siap untuk disalin‑tempel ke aplikasi console. Ia mencakup semua direktif `using` dan metode `Main` minimal. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Jalankan program, periksa tiga PNG, dan Anda akan melihat secara tepat bagaimana setiap opsi memengaruhi gambar akhir. Jangan ragu bereksperimen—ubah font, alihkan `UseAntialiasing`, atau tambahkan aturan CSS lebih banyak. Kemungkinannya tak terbatas ketika Anda **mengonversi HTML ke gambar** sesuai permintaan. + +--- + +## Langkah Selanjutnya & Topik Terkait + +- **Pemrosesan batch:** Loop melalui koleksi potongan HTML dan hasilkan thumbnail untuk masing‑masing. +- **Konversi PDF:** Gabungkan PNG dengan pustaka PDF (misalnya iTextSharp) untuk menghasilkan dokumen multi‑halaman. +- **Sumber daya dinamis:** Perluas `MyHandler` untuk mengambil gambar dari CDN atau basis data alih‑alih sistem file. +- **Optimasi performa:** Cache gambar yang sudah dirender ketika HTML sumber tidak berubah; ini mengurangi beban CPU secara signifikan. + +Jika Anda tertarik pada kustomisasi lebih dalam, lihat properti `RenderTransform` pada `ImageRenderer` untuk rotasi atau skala, atau jelajahi pengaturan `CssEngine` untuk kontrol layout lanjutan. + +--- + +## Kesimpulan + +Kami telah membahas semua yang Anda perlukan untuk **render HTML ke PNG** dalam C#: penangan sumber daya kustom, memuat markup, mengonfigurasi *opsi rendering gambar*, dan akhirnya **render HTML dengan opsi** yang memberi Anda antialiasing dan font hinting. Contoh lengkap yang dapat dijalankan seharusnya bekerja langsung, dan desain modular memudahkan adaptasi ke proyek yang lebih besar. + +Cobalah, ubah pengaturannya, dan biarkan gambar yang dirender berbicara dalam kampanye email, dasbor, atau alat pelaporan Anda berikutnya. Got + + +## Tutorial Terkait + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/italian/net/generate-jpg-and-png-images/_index.md index f6e8b2d8a..8d07549ee 100644 --- a/html/italian/net/generate-jpg-and-png-images/_index.md +++ b/html/italian/net/generate-jpg-and-png-images/_index.md @@ -41,10 +41,20 @@ Integrare Aspose.HTML per .NET nei tuoi progetti .NET è semplice. La libreria Scopri come creare pagine web dinamiche usando Aspose.HTML per .NET. Questo tutorial passo dopo passo riguarda i prerequisiti, gli spazi dei nomi e il rendering di HTML in immagini. ### [Genera immagini PNG tramite ImageDevice in .NET con Aspose.HTML](./generate-png-images-by-imagedevice/) Impara a usare Aspose.HTML per .NET per manipolare documenti HTML, convertire HTML in immagini e altro ancora. Tutorial passo dopo passo con FAQ. +### [Crea PNG da HTML – Guida completa passo‑passo](./create-png-from-html-full-step-by-step-guide/) +Impara a generare immagini PNG da HTML con Aspose.HTML per .NET, seguendo una guida dettagliata passo dopo passo. ### [Come abilitare l'antialiasing durante la conversione di DOCX in PNG/JPG](./how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) Scopri come abilitare l'antialiasing durante la conversione di documenti DOCX in immagini PNG o JPG con Aspose.HTML per .NET. ### [Converti docx in PNG – crea archivio zip C# tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Impara a convertire documenti DOCX in PNG e a comprimerli in un archivio ZIP usando C# e Aspose.HTML. +### [Crea PNG da HTML con Aspose – renderizza HTML in PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Scopri come convertire HTML in PNG con Aspose.HTML, passo dopo passo, includendo impostazioni di rendering e ottimizzazioni. +### [Converti documento Word in PNG – Guida completa di programmazione](./convert-word-document-to-png-complete-programming-guide/) +Impara a convertire documenti Word in immagini PNG usando Aspose.HTML per .NET, con esempi di codice dettagliati. +### [Converti docx in PNG in C# – Guida completa passo‑passo](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Impara a convertire documenti DOCX in PNG usando C# con una guida completa passo‑passo. +### [Renderizza HTML in PNG – Guida completa con gestori personalizzati e opzioni](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Scopri come renderizzare HTML in PNG usando Aspose.HTML con gestori personalizzati e opzioni avanzate. ## Conclusione diff --git a/html/italian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/italian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..b05b41135 --- /dev/null +++ b/html/italian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-05-25 +description: Converti docx in png rapidamente usando C#. Scopri come convertire Word + in immagine, esportare Word come png e impostare un font personalizzato in un unico + tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: it +og_description: Converti docx in png con C#. Questa guida ti mostra come esportare + Word in png e impostare un font personalizzato per risultati perfetti. +og_title: Converti docx in png in C# – Guida completa alla programmazione +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Converti docx in png in C# – Guida completa passo‑passo +url: /it/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Converti docx in png in C# – Guida completa passo‑passo + +Ti è mai capitato di dover **convertire docx in png** ma non eri sicuro quale libreria ti avrebbe fornito glifi puliti e fedeltà a pagina intera? Non sei solo. In molti progetti di automazione d'ufficio, trasformare un documento Word in un'immagine (pensa a “convertire word in immagine”) è il modo più veloce per incorporare contenuti in una pagina web o in un'email senza preoccuparsi delle installazioni di Office. + +Ecco la questione: l'API Aspose.Words per .NET ti consente di **esportare word come png** con poche righe di codice, e puoi anche **impostare un font personalizzato** in modo che l'output abbia esattamente lo stesso aspetto dell'originale. In questo tutorial percorreremo l'intero processo—dall'installazione del pacchetto al rendering del PNG finale—così potrai iniziare a convertire docx in png subito. + +## Converti docx in png – Panoramica e prerequisiti + +* **.NET 6.0 o successivo** – l'esempio è mirato a .NET 6, ma le versioni precedenti funzionano comunque. +* **Aspose.Words per .NET** – un pacchetto NuGet che fornisce `Document`, `TextOptions` e `ImageRenderer`. +* Un file **DOCX di esempio** che desideri trasformare in un'immagine (posizionalo in una cartella a cui puoi fare riferimento). +* Opzionale: un **font TrueType personalizzato** (ad es., Times New Roman) se vuoi sovrascrivere il font predefinito del documento. + +Se hai spuntato tutti questi punti, sei pronto per iniziare a convertire word in immagine con fiducia. + +## Installa Aspose.Words per .NET (convertire word in immagine) + +Il primo passo è importare la libreria nel tuo progetto. Apri un terminale nella cartella della soluzione ed esegui: + +```bash +dotnet add package Aspose.Words +``` + +Quel singolo comando aggiunge l'ultima versione stabile di Aspose.Words, che include la classe `ImageRenderer` di cui avremo bisogno per **esportare docx come png**. Dopo che il ripristino è terminato, sei pronto per procedere. + +> **Consiglio professionale:** Se stai usando Visual Studio, puoi anche aggiungere il pacchetto tramite l'interfaccia UI del NuGet Package Manager—basta cercare “Aspose.Words”. + +## Carica il documento sorgente (convertire docx in png) + +Ora caricheremo il file DOCX. Questo è il punto in cui la pipeline di **convertire docx in png** inizia realmente. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` rappresenta l'intero file Word in memoria. Il percorso può essere assoluto o relativo; assicurati solo che il file esista, altrimenti otterrai una `FileNotFoundException`. + +## Configura le opzioni di rendering del testo (impostare un font personalizzato) + +Se il tuo DOCX utilizza un font che non è installato sulla macchina di destinazione, il PNG renderizzato potrebbe apparire sbagliato. Per questo spesso è necessario **impostare un font personalizzato** prima dell'esportazione. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` indica al renderer di applicare il hinting sub‑pixel, che affina i bordi delle lettere—particolarmente importante per PNG ad alta risoluzione. +* `FontInfo` forza ogni pezzo di testo a essere disegnato con *Times New Roman* a 14 pt, indipendentemente da ciò che specifica il DOCX originale. Sentiti libero di sostituire il nome con qualsiasi font presente sul server. + +## Crea un ImageRenderer (convertire word in immagine) + +Con il documento e le opzioni pronti, istanziamo `ImageRenderer`. Questa classe si occupa del lavoro pesante di trasformare le pagine in immagini bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* Il blocco `using` garantisce che il renderer rilasci rapidamente le risorse native (come i handle GDI). +* `RenderToFile` accetta un percorso e un `ImageFormat`. Se ti servono tutte le pagine, puoi iterare su `renderer.PageCount` e chiamare `RenderToFile` con un nome file specifico per pagina. + +## Verifica l'output (esportare docx come png) + +Dopo l'esecuzione del codice, dovresti vedere `hinted.png` nella cartella specificata. Aprilo con qualsiasi visualizzatore di immagini—il testo appare nitido? Se hai usato un font personalizzato, noterai la tipografia coerente su tutta la pagina. + +Ecco un rapido riferimento visivo (sostituisci con il tuo screenshot quando pubblichi): + +![esempio di output convert docx in png](https://example.com/assets/convert-docx-to-png.png "esempio di output convert docx in png") + +*Testo alternativo:* **esempio di output convert docx in png** – un rendering PNG di una pagina Word con font Times New Roman. + +Se l'immagine appare sfocata, verifica che `UseHinting` sia impostato su `true` e che i DPI del renderer (default 96) corrispondano alle tue esigenze. Puoi regolare i DPI tramite `renderer.ImageOptions.Resolution = 300;` prima di chiamare `RenderToFile`. + +## Programma completo e eseguibile (esportare word come png) + +Mettiamo tutto insieme, ecco un'app console autonoma che puoi copiare‑incollare in `Program.cs` ed eseguire: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Cosa fa questo programma:** + +1. Carica `input.docx`. +2. Forza ogni carattere a utilizzare *Times New Roman* a 14 pt con hinting abilitato. +3. Renderizza la prima pagina a 300 DPI, producendo un PNG ad alta qualità. +4. Scrive un messaggio di console amichevole che conferma il successo. + +Eseguilo con `dotnet run` e avrai un'immagine perfettamente renderizzata pronta per la visualizzazione web, l'incorporamento in PDF, o qualsiasi altro scenario in cui hai bisogno di **convertire docx in png** senza l'overhead di Office. + +## Domande comuni e gestione dei casi limite + +* **E se ho bisogno di tutte le pagine?** + Itera su `renderer.PageCount` e chiama `RenderToFile` con un nome file che includa il numero di pagina, ad esempio `output_page_{i}.png`. + +* **Posso esportare in altri formati immagine?** + Assolutamente. Sostituisci `ImageFormat.Png` con `ImageFormat.Jpeg`, `ImageFormat.Bmp` o `ImageFormat.Tiff` a seconda dei requisiti successivi. + +* **Il mio documento utilizza font incorporati—devo comunque `impostare un font personalizzato`?** + Se il DOCX incorpora già i font desiderati, puoi saltare la proprietà `Font`. Il renderer rispetterà automaticamente il font incorporato. + +* **Come gestire documenti di grandi dimensioni senza esaurire la memoria?** + Elabora una pagina alla volta all'interno del blocco `using` e elimina ogni bitmap generata dopo il salvataggio. Questo mantiene basso l'utilizzo di memoria. + +* **Ci sono problemi di licenza?** + Aspose.Words offre una prova gratuita con watermark. Per l'uso in produzione, acquista una licenza e chiama `License license = new License(); license.SetLicense("Aspose.Words.lic");` prima di caricare il documento. + +## Conclusione + +Ora hai una ricetta completa e pronta per la produzione per **convertire docx in png** usando C#. La guida ha coperto tutto, dall'installazione di Aspose.Words (la libreria di riferimento per **convertire word in immagine**) alla configurazione di `TextOptions` per uno scenario di **impostare un font personalizzato**, fino al rendering del file immagine. Con queste conoscenze puoi **esportare word come png**, incorporarlo in pagine web, generare miniature o inserirlo in qualsiasi pipeline di elaborazione immagini. + +Cosa fare dopo? Prova a esportare più pagine, sperimenta con impostazioni DPI diverse, o cambia il formato di output a + +## Tutorial correlati + +- [Come abilitare l'anti-aliasing durante la conversione di DOCX in PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Converti HTML in PNG in .NET con Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx in png – crea archivio zip tutorial c#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/italian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/italian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..fbe8a354a --- /dev/null +++ b/html/italian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Scopri come convertire rapidamente un documento Word in PNG. Questo tutorial + mostra anche come salvare un documento Word come PNG con antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: it +og_description: Converti un documento Word in PNG con poche righe di C#. Segui questa + guida per salvare il documento Word come PNG in modo efficiente. +og_title: Converti documento Word in PNG – Guida passo‑a‑passo +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Converti documento Word in PNG – Guida completa di programmazione +url: /it/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Converti documento Word in PNG – Guida completa di programmazione + +Ti è mai capitato di dover **convertire un documento Word in PNG** senza sapere quale libreria o impostazione scegliere? Non sei il solo. In molti progetti di automazione d'ufficio finisci per aver bisogno di un'immagine raster di un file `.docx` — magari per anteprime thumbnail, incorporamenti in email o controlli visivi rapidi. La buona notizia è che, con poche righe di C#, puoi anche **salvare un documento Word come PNG** senza alcuna manipolazione manuale. + +In questo tutorial percorreremo un esempio reale usando Aspose.Words per .NET. Copriremo tutto, dal caricamento del file sorgente, alla regolazione delle opzioni di rendering per ottenere un output nitido, fino alla scrittura del file PNG su disco. Alla fine avrai un metodo riutilizzabile da inserire in qualsiasi progetto .NET. + +## Prerequisiti + +Prima di iniziare, assicurati di avere: + +- **.NET 6.0** o successivo (il codice funziona anche su .NET Framework 4.6+). +- Una copia **licenziata** di **Aspose.Words per .NET** (la versione di prova gratuita è sufficiente per i test). +- Visual Studio 2022 o qualsiasi IDE tu preferisca. +- Un file Word di esempio (`input.docx`) posizionato in una cartella a cui puoi fare riferimento. + +Non sono necessari altri pacchetti di terze parti. + +## Passo 1: Configura il progetto e importa i namespace + +Prima di tutto, crea una nuova console app (o integrala in un servizio esistente). Poi aggiungi il pacchetto NuGet Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Ora importa i namespace necessari nel tuo file: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Suggerimento:** Se stai targetizzando .NET 6+, puoi usare la funzionalità delle dichiarazioni di livello superiore e saltare il boilerplate del metodo `Main`. + +## Passo 2: Carica il documento Word sorgente + +Il primo vero passo nella pipeline di conversione è caricare il documento che vuoi rasterizzare. Aspose.Words supporta `.doc`, `.docx`, `.rtf` e molti altri formati, quindi non sei limitato ai classici tipi di file Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Perché controlliamo `PageCount`? Perché un documento a zero pagine produrrebbe un PNG vuoto, che è spesso un errore silenzioso che blocca il codice a valle. + +## Passo 3: Configura le opzioni di rendering dell'immagine + +Quando converti contenuti Word basati su vettori in una bitmap, noterai bordi frastagliati se ti limiti ai valori predefiniti. Abilitare l'antialiasing leviga quelle linee, specialmente per grafici, forme e testo a dimensioni ridotte. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Ti potresti chiedere: “Devo sempre usare l'antialiasing?” Tipicamente sì, a meno che tu non stia generando icone piccolissime dove le prestazioni hanno la precedenza sulla fedeltà visiva. + +## Passo 4: Renderizza ogni pagina in un file PNG separato + +Un documento Word può contenere più pagine. Aspose.Words ti permette di renderizzare l'intero documento come un'unica immagine, ma il pattern più comune è generare un PNG per pagina. Di seguito itereremo sulle pagine, renderizzando ciascuna in un proprio file. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Perché usare un blocco `using`?** `ImageRenderer` mantiene risorse non gestite (come handle GDI+). Avvolgerlo in `using` garantisce una corretta pulizia, evitando perdite di memoria in servizi a lungo termine. + +### Casi limite e consigli + +- **Documenti grandi:** Renderizzare un documento di 200 pagine può richiedere molta memoria. Considera di renderizzare in batch o aumentare la proprietà `MaxMemoryUsage` se incontri `OutOfMemoryException`. +- **Sfondi trasparenti:** Se il tuo file Word contiene forme trasparenti e desideri un PNG trasparente, imposta `BackgroundColor = Color.Transparent` in `ImageRenderingOptions`. +- **Scaling:** Per produrre una thumbnail, regola `ImageSaveOptions` (ad esempio `Resolution = 72`) o ridimensiona il PNG risultante con `System.Drawing`. + +## Passo 5: Raggruppa il tutto in un metodo riutilizzabile + +Avere la logica di conversione in un unico metodo rende semplice chiamarlo da qualsiasi punto — sia da una Web API, da un worker in background, o da un'interfaccia desktop. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Ora puoi chiamare: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +E il metodo **salverà il documento Word come PNG** con nomi `page_1.png`, `page_2.png`, ecc. + +## Output previsto + +Eseguendo il codice di esempio su un `input.docx` di tre pagine otterrai: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Apri uno di questi PNG in un visualizzatore di immagini: dovresti vedere un rendering nitido e antialiasato della pagina Word corrispondente. Nessun bordo extra, nessuna distorsione, solo uno snapshot bitmap fedele. + +## Problemi comuni e come evitarli + +| Problema | Perché accade | Soluzione | +|----------|----------------|-----------| +| **PNG vuoto** | Il documento non è stato caricato (`doc` è null) o l'indice della pagina è fuori range. | Verifica il percorso del file e assicurati che `doc.PageCount` > 0 prima del rendering. | +| **Testo frastagliato** | Antialiasing disabilitato o DPI troppo basso. | Imposta `UseAntialiasing = true` e, opzionalmente, aumenta `Resolution` (es. 150 DPI). | +| **Out‑of‑Memory** | Renderizzazione di pagine molto grandi a DPI elevato in un ciclo stretto. | Renderizza una pagina alla volta (come mostrato) e disponi prontamente di `ImageRenderer`. | +| **Colori errati** | Il colore di sfondo predefinito è bianco; i documenti trasparenti appaiono bianchi. | Imposta `BackgroundColor = Color.Transparent` quando necessario. | + +## Conclusione + +Abbiamo appena dimostrato un metodo pulito e pronto per la produzione per **convertire un documento Word in PNG** e, per estensione, **salvare un documento Word come PNG** usando Aspose.Words per .NET. I passaggi sono semplici: + +1. Carica il `.docx` con `Document`. +2. Regola `ImageRenderingOptions` (antialiasing, DPI, sfondo). +3. Itera sulle pagine e chiama `ImageRenderer.RenderToFile`. + +Con il metodo riutilizzabile `ConvertWordToPng` a disposizione, puoi ora integrare anteprime basate su immagine in qualsiasi applicazione C# — che si tratti di un servizio web che genera thumbnail per contratti caricati, di uno strumento desktop che archivia report come PNG, o di un job batch che prepara asset per un sistema di gestione dei contenuti. + +**Cosa fare dopo?** Prova a sperimentare con altri formati immagine (`ImageFormat.Jpeg`, `Bmp`) o esplora `PdfSaveOptions` se ti serve un PDF oltre ai PNG. Potresti anche aggiungere filigrane o ridimensionare l'output al volo. + +Buona programmazione, e sentiti libero di lasciare un commento se incontri difficoltà! + +## Tutorial correlati + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/italian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..e51885bf9 --- /dev/null +++ b/html/italian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,296 @@ +--- +category: general +date: 2026-05-25 +description: Crea PNG da HTML rapidamente usando Aspose.HTML. Impara a renderizzare + HTML in PNG, convertire HTML in PNG e gestire le risorse in modo efficiente. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: it +og_description: Crea PNG da HTML con Aspose.HTML. Questa guida mostra come renderizzare + HTML in PNG, convertire HTML in PNG e gestire correttamente le risorse. +og_title: Crea PNG da HTML – Tutorial completo di programmazione +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Crea PNG da HTML – Guida completa passo‑passo +url: /it/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crea PNG da HTML – Guida Completa Passo‑Passo + +Ti sei mai chiesto come **creare PNG da HTML** senza dover gestire una serie di strumenti di terze parti? Non sei l'unico. Che tu stia costruendo un generatore di anteprime email, una dashboard di reportistica o un servizio di miniature, trasformare il markup HTML in un'immagine PNG nitida è una necessità comune. In questo tutorial ti guideremo attraverso un esempio completo e eseguibile che **renderizza HTML in PNG**, ti mostrerà come **convertire HTML in PNG** con Aspose.HTML, e spiegherà anche **come gestire le risorse** come immagini, CSS e font. + +Inizieremo con una piccola stringa HTML, configureremo un `ResourceHandler` personalizzato che scrive ogni risorsa esterna su disco, e termineremo salvando un file PNG perfetto. Alla fine avrai una soluzione autonoma che potrai inserire in qualsiasi progetto .NET. + +## Cosa Imparerai + +- Come creare un `HTMLDocument` da una stringa o da un file. +- Come implementare un `ResourceHandler` personalizzato in modo che ogni risorsa richiesta dal renderer venga salvata localmente. +- I passaggi esatti per **renderizzare HTML in PNG** usando `ImageRenderer`. +- Problemi comuni (font mancanti, URL relativi) e il modo migliore **per gestire le risorse**. +- Come verificare l'output e regolare le dimensioni o il formato dell'immagine se necessario. + +### Prerequisiti + +- .NET 6.0 o successivo (il codice funziona anche su .NET Framework 4.7+). +- Un riferimento al pacchetto NuGet **Aspose.HTML for .NET**. +- Familiarità di base con C# e stream asincroni (non obbligatorio, ma utile). + +Nessuno strumento esterno, nessun browser headless—solo puro C# e Aspose.HTML. + +--- + +## Crea PNG da HTML – Panoramica + +Di seguito trovi il codice **completo, pronto‑all’uso**. Sentiti libero di copiarlo e incollarlo in un’app console, regolare il segnaposto `YOUR_DIRECTORY`, e premere F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Consiglio professionale:** Sostituisci `"YOUR_DIRECTORY"` con un percorso assoluto (ad esempio, `Path.GetFullPath("./output")`) per evitare sorprese quando l'app viene eseguita da una directory di lavoro diversa. + +--- + +## Passo 1: Preparare il Documento HTML + +La prima cosa che facciamo è avvolgere una stringa HTML grezza in un `HTMLDocument`. Aspose.HTML tratta questo oggetto come un DOM completo, il che significa che risolverà i tag ``, i blocchi ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Puoi sostituire la stringa con qualsiasi HTML tu voglia—magari l'output di una vista Razor o una conversione da Markdown a HTML. La parte importante è che il documento conosca il gestore personalizzato che passeremo in seguito. + +--- + +## Opzioni di Rendering dell'Immagine – Ottimizzazione di Antialiasing e Hinting dei Font + +Il rendering semplice funziona, ma a volte serve quel tocco in più: bordi più lisci, testo più chiaro o posizionamento sub-pixel corretto. È qui che le **opzioni di rendering dell'immagine** brillano. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Cosa succede dietro le quinte?* +`ImageRenderingOptions` indica al renderer quale font usare e se smussare le forme geometriche. `TextOptions` si concentra su come i glifi vengono rasterizzati—l'hinting allinea i caratteri alla griglia dei pixel, particolarmente utile a dimensioni ridotte. + +--- + +## Render HTML with Options – Applicare le Impostazioni di Rendering + +Con il documento e le opzioni pronti, possiamo finalmente **render HTML with options**. Genereremo tre file: + +1. Un PNG di base (senza opzioni aggiuntive). +2. Un PNG antialiasato. +3. Un PNG con hint abilitato. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Nota come ogni `ImageRenderer` riceva un secondo argomento diverso: il gestore semplice, le impostazioni di antialiasing e le impostazioni di hinting. Questo schema ti permette di scambiare configurazioni senza modificare altro codice—perfetto per test unitari o flag di funzionalità. + +> **Domanda comune:** *“Posso combinare antialiasing e hinting in un'unica passata?”* +> Assolutamente. Basta creare un unico oggetto opzioni che imposti sia `UseAntialiasing` sia `UseHinting` a `true`, quindi passarlo a `ImageRenderer`. + +--- + +## Verifica l'Uscita – Cosa Aspettarsi + +Dopo aver eseguito il programma, apri i tre file PNG: + +- **out.png** – una fedele istantanea dell'HTML, ma i bordi potrebbero apparire un po' frastagliati. +- **img.png** – linee e curve più lisce grazie all'antialiasing. +- **txt.png** – il testo appare più nitido, specialmente a 12 pt Verdana, grazie al hinting dei font. + +Se qualche immagine sembra sbagliata, verifica che `YOUR_DIRECTORY/Resources` contenga il `logo.png` referenziato. Le risorse mancanti faranno ricadere il renderer su un segnaposto, che può apparire strano. + +--- + +## Esempio Completo Funzionante + +Di seguito trovi l'intero programma, pronto per il copia‑incolla in un'app console. Include tutte le direttive `using` e un metodo `Main` minimale. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Esegui il programma, ispeziona i tre PNG e vedrai esattamente come ogni opzione influisce sull'immagine finale. Sentiti libero di sperimentare—cambia il font, attiva/disattiva `UseAntialiasing` o aggiungi altre regole CSS. Il cielo è il limite quando **convert HTML to image** su richiesta. + +--- + +## Prossimi Passi e Argomenti Correlati + +- **Batch processing:** Esegui un ciclo su una collezione di snippet HTML e genera miniature per ciascuno. +- **PDF conversion:** Combina i PNG con una libreria PDF (ad esempio, iTextSharp) per produrre documenti multi‑pagina. +- **Dynamic resources:** Estendi `MyHandler` per recuperare immagini da un CDN o da un database invece che dal file system. +- **Performance tuning:** Cache le immagini renderizzate quando l'HTML di origine non è cambiato; questo riduce drasticamente il carico CPU. + +Se sei interessato a una personalizzazione più approfondita, dai un'occhiata alla proprietà `RenderTransform` di `ImageRenderer` per rotazione o scaling, oppure esplora le impostazioni di `CssEngine` per un controllo avanzato del layout. + +--- + +## Conclusione + +Abbiamo coperto tutto ciò di cui hai bisogno per **render HTML to PNG** in C#: un gestore di risorse personalizzato, il caricamento del markup, la configurazione delle *opzioni di rendering dell'immagine* e infine **render HTML with options** che ti offrono antialiasing e hinting dei font. L'esempio completo e eseguibile dovrebbe funzionare subito, e il design modulare lo rende facile da adattare a progetti più grandi. + +Provalo, modifica le impostazioni e lascia che le immagini renderizzate parlino nella tua prossima campagna email, dashboard o strumento di reporting. Got + +## Tutorial Correlati + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/japanese/net/generate-jpg-and-png-images/_index.md index 57de57175..7b10eec52 100644 --- a/html/japanese/net/generate-jpg-and-png-images/_index.md +++ b/html/japanese/net/generate-jpg-and-png-images/_index.md @@ -41,10 +41,20 @@ Aspose.HTML for .NET を .NET プロジェクトに統合するのは簡単で Aspose.HTML for .NET を使用して動的な Web ページを作成する方法を学習します。このステップ バイ ステップのチュートリアルでは、前提条件、名前空間、および HTML から画像へのレンダリングについて説明します。 ### [Aspose.HTML を使用して .NET で ImageDevice によって PNG 画像を生成する](./generate-png-images-by-imagedevice/) Aspose.HTML for .NET を使用して HTML ドキュメントを操作したり、HTML を画像に変換したりする方法を学びます。FAQ 付きのステップバイステップのチュートリアルです。 +### [HTML から PNG を作成する – 完全ステップバイステップガイド](./create-png-from-html-full-step-by-step-guide/) +HTML コンテンツを PNG 画像に変換する手順を詳細に解説した完全ガイドです。 ### [DOCX を PNG/JPG に変換する際のアンチエイリアシングの有効化方法](./how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) DOCX 文書を PNG または JPG 画像に変換する際に、アンチエイリアシングを有効にして高品質な出力を得る手順を解説します。 ### [DOCX を PNG に変換 – ZIP アーカイブを作成する C# チュートリアル](./convert-docx-to-png-create-zip-archive-c-tutorial/) C# で DOCX を PNG に変換し、ZIP アーカイブを作成する方法を学びます。 +### [Aspose で HTML から PNG を作成 – HTML を PNG にレンダリング](./create-png-from-html-with-aspose-render-html-to-png/) +Aspose.HTML を利用して、HTML コンテンツを PNG 画像に変換する手順をステップバイステップで解説します。 +### [Word 文書を PNG に変換 – 完全プログラミングガイド](./convert-word-document-to-png-complete-programming-guide/) +C# を使用して Word 文書を PNG 画像に変換する手順をステップバイステップで解説します。 +### [DOCX を PNG に変換 – C# 完全ステップバイステップガイド](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +C# を使用して DOCX ファイルを PNG 画像に変換する手順を、詳細なステップバイステップで解説します。 +### [HTML を PNG にレンダリング – カスタムハンドラとオプションを使用した完全ガイド](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +カスタムハンドラとさまざまなオプションを活用し、HTML を高品質な PNG 画像に変換する手順を詳しく解説します。 ## 結論 diff --git a/html/japanese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/japanese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..9ccbb6729 --- /dev/null +++ b/html/japanese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-05-25 +description: C# を使用して docx を png に素早く変換します。Word を画像に変換する方法、Word を png としてエクスポートする方法、カスタムフォントを設定する方法をひとつのチュートリアルで学びましょう。 +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: ja +og_description: C#でdocxをpngに変換する。このガイドでは、Wordをpngとしてエクスポートし、完璧な結果を得るためにカスタムフォントを設定する方法を示します。 +og_title: C#でdocxをpngに変換 – 完全プログラミングガイド +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: C#でdocxをpngに変換する – 完全ステップバイステップガイド +url: /ja/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# で docx を png に変換 – 完全ステップバイステップガイド + +**convert docx to png** が必要だったことはありますか、しかしどのライブラリがきれいなグリフとページ全体の忠実度を提供するか分からなかったでしょうか? あなたは一人ではありません。多くのオフィス自動化プロジェクトでは、Word 文書を画像に変換する(「convert word to image」的なイメージ)ことが、Office のインストールを気にせずにウェブページやメールにコンテンツを埋め込む最速の方法です。 + +ポイントは、Aspose.Words for .NET API を使えば、ほんの数行のコードで **export word as png** が可能で、さらに **set custom font** 設定を行うことで出力が元の文書とまったく同じように見えるということです。このチュートリアルでは、パッケージのインストールから最終的な PNG のレンダリングまで、全プロセスを順を追って解説しますので、すぐに **docx to png** を始められます。 + +## docx を png に変換 – 概要と前提条件 + +コードに入る前に、必要なものがすべて揃っているか確認しましょう: + +- **.NET 6.0 or later** – この例は .NET 6 を対象としていますが、以前のバージョンでも動作します。 +- **Aspose.Words for .NET** – `Document`、`TextOptions`、`ImageRenderer` を提供する NuGet パッケージです。 +- 画像に変換したい **sample DOCX** ファイル(参照できるフォルダーに配置してください)。 +- 任意:**custom TrueType font**(例: Times New Roman)を使用して、ドキュメントのデフォルトフォントを上書きしたい場合。 + +これらの項目がすべて揃っていれば、自信を持って word を image に変換し始める準備が整いました。 + +## Aspose.Words for .NET のインストール(convert word to image) + +最初のステップは、ライブラリをプロジェクトに導入することです。ソリューションフォルダーでターミナルを開き、次のコマンドを実行します: + +```bash +dotnet add package Aspose.Words +``` + +この単一コマンドで、最新の安定版 Aspose.Words が追加されます。これには **export docx as png** に必要な `ImageRenderer` クラスが含まれています。復元が完了したら、すぐに使用できます。 + +> **Pro tip:** Visual Studio を使用している場合は、NuGet パッケージ マネージャー UI からもパッケージを追加できます—「Aspose.Words」で検索してください。 + +## ソースドキュメントの読み込み(convert docx to png) + +ここで DOCX ファイルを読み込みます。これが **convert docx to png** パイプラインが実際に開始するポイントです。 + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` はメモリ内の Word ファイル全体を表します。パスは絶対パスでも相対パスでも構いませんが、ファイルが存在することを確認してください。存在しない場合は `FileNotFoundException` が発生します。 + +## テキストレンダリングオプションの設定(set custom font) + +DOCX が対象マシンにインストールされていないフォントを使用している場合、レンダリングされた PNG が見た目が崩れる可能性があります。そのため、エクスポート前に **set custom font** を行う必要があります。 + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` は、レンダラにサブピクセルヒンティングを適用させ、文字のエッジをシャープにします—特に高解像度 PNG では重要です。 +* `FontInfo` は、元の DOCX が何を指定していても、すべてのテキストを *Times New Roman* の 14 pt で描画させます。サーバーにある任意のフォント名に置き換えて構いません。 + +## ImageRenderer の作成(convert word to image) + +ドキュメントとオプションが準備できたら、`ImageRenderer` のインスタンスを作成します。このクラスはページをビットマップ画像に変換する重い処理を担当します。 + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +いくつか注意点があります: + +* `using` ブロックは、レンダラがネイティブリソース(GDI ハンドルなど)を速やかに解放することを保証します。 +* `RenderToFile` はパスと `ImageFormat` を受け取ります。すべてのページが必要な場合は、`renderer.PageCount` をループし、ページごとのファイル名で `RenderToFile` を呼び出すことができます。 + +## 出力の確認(export docx as png) + +コード実行後、指定したフォルダーに `hinted.png` が生成されているはずです。任意の画像ビューアで開き、テキストが鮮明に表示されているか確認してください。カスタムフォントを使用した場合、ページ全体で一貫した書体が適用されていることが分かります。 + +![docx を png に変換した例の出力](https://example.com/assets/convert-docx-to-png.png "docx を png に変換した例の出力") + +*Alt text:* **convert docx to png example output** – Times New Roman フォントで描画された Word ページの PNG 表示です。 + +画像がぼやけている場合は、`UseHinting` が `true` に設定されているか、レンダラの DPI(デフォルトは 96)が要件に合っているかを再確認してください。`RenderToFile` を呼び出す前に `renderer.ImageOptions.Resolution = 300;` で DPI を調整できます。 + +## 完全な実行可能プログラム(export word as png) + +すべてをまとめると、`Program.cs` にコピー&ペーストして実行できる自己完結型コンソールアプリがこちらです: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**このプログラムの動作:** + +1. `input.docx` をロードします。 +2. すべての文字をヒンティング有効で *Times New Roman* の 14 pt に強制します。 +3. 最初のページを 300 DPI でレンダリングし、高品質 PNG を生成します。 +4. 成功を示すフレンドリーなコンソールメッセージを書き込みます。 + +`dotnet run` で実行すると、Web 表示や PDF 埋め込み、または Office のオーバーヘッドなしで **convert docx to png** が必要なあらゆるシナリオに対応できる完璧にレンダリングされた画像が得られます。 + +## よくある質問とエッジケースの対処 + +* **すべてのページが必要な場合は?** + `renderer.PageCount` をループし、ページ番号を含むファイル名(例: `output_page_{i}.png`)で `RenderToFile` を呼び出します。 + +* **他の画像形式にエクスポートできますか?** + もちろんです。`ImageFormat.Png` を `ImageFormat.Jpeg`、`ImageFormat.Bmp`、または `ImageFormat.Tiff` に置き換えて、下流の要件に合わせてください。 + +* **ドキュメントが埋め込みフォントを使用している場合、`set custom font` はまだ必要ですか?** + DOCX が必要なフォントをすでに埋め込んでいる場合、`Font` プロパティは省略できます。レンダラは埋め込みフォントを自動的に尊重します。 + +* **大きなドキュメントでメモリを使い切らないようにするには?** + `using` ブロック内でページごとに処理し、保存後に生成されたビットマップを破棄します。これによりメモリ使用量を抑えられます。 + +* **ライセンスに関する懸念はありますか?** + Aspose.Words は透かし付きの無料トライアルを提供しています。製品版で使用する場合は、ライセンスを購入し、ドキュメントをロードする前に `License license = new License(); license.SetLicense("Aspose.Words.lic");` を呼び出してください。 + +## 結論 + +これで、C# を使用して **convert docx to png** を行うための完全な本番対応レシピが手に入りました。このガイドでは、Aspose.Words のインストール(**convert word to image** に最適なライブラリ)から、**set custom font** シナリオ向けの `TextOptions` 設定、最終的な画像ファイルのレンダリングまでを網羅しました。この知識があれば、**export word as png** を行い、ウェブページに埋め込んだり、サムネイルを生成したり、任意の画像処理パイプラインに組み込んだりできます。 + +次は何をすべきでしょうか?複数ページのエクスポートを試したり、異なる DPI 設定で実験したり、出力形式を変更してみてください。 + +## 関連チュートリアル + +- [DOCX を PNG/JPG に変換する際のアンチエイリアシング有効化方法](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Aspose.HTML を使用した .NET での HTML の PNG 変換](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip アーカイブ作成 C# チュートリアル](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/japanese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/japanese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..5fc45aa35 --- /dev/null +++ b/html/japanese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-05-25 +description: Word文書をすばやくPNGに変換する方法を学びましょう。このチュートリアルでは、アンチエイリアス付きでWord文書をPNGとして保存する方法も紹介しています。 +draft: false +keywords: +- convert word document to png +- save word document as png +language: ja +og_description: 数行のC#でWord文書をPNGに変換。効率的にWord文書をPNGとして保存する方法をご覧ください。 +og_title: Word文書をPNGに変換 – ステップバイステップガイド +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Word文書をPNGに変換 – 完全プログラミングガイド +url: /ja/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# WordドキュメントをPNGに変換 – 完全プログラミングガイド + +Wordドキュメントを **PNGに変換** したいけど、どのライブラリや設定を選べばいいか分からない、ということはありませんか?オフィス自動化プロジェクトでは、`.docx` ファイルのラスタ画像が必要になることが多く、サムネイルプレビューやメール埋め込み、素早いビジュアルチェックなどで活用できます。嬉しいことに、数行の C# コードさえ書けば **WordドキュメントをPNGとして保存** でき、手作業は一切不要です。 + +本チュートリアルでは、Aspose.Words for .NET を使った実践的な例を通して、ソースファイルの読み込みから、鮮明な出力のための画像レンダリングオプションの調整、PNG ファイルへの書き出しまでを順を追って解説します。最後まで読めば、どの .NET プロジェクトにも組み込める再利用可能なメソッドが手に入ります。 + +## 前提条件 + +作業を始める前に、以下を用意してください。 + +- **.NET 6.0** 以上(コードは .NET Framework 4.6+ でも動作します)。 +- **Aspose.Words for .NET** の **ライセンス版**(無料トライアルでもテストは可能)。 +- Visual Studio 2022 もしくはお好みの IDE。 +- サンプル用 Word ファイル(`input.docx`)を参照できるフォルダーに配置。 + +その他のサードパーティパッケージは不要です。 + +## 手順 1: プロジェクトの作成と名前空間のインポート + +まずは新しいコンソールアプリ(または既存サービスへの統合)を作成し、Aspose.Words の NuGet パッケージを追加します。 + +```bash +dotnet add package Aspose.Words +``` + +次に、必要な名前空間をファイルにインポートします。 + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **プロのコツ:** .NET 6+ を対象にしている場合、トップレベルステートメント機能を使えば `Main` メソッドの雛形を書かずに済みます。 + +## 手順 2: ソースの Word ドキュメントを読み込む + +変換パイプラインの最初の本格的なステップは、ラスタライズしたいドキュメントを読み込むことです。Aspose.Words は `.doc`, `.docx`, `.rtf` など多数の形式をサポートしているので、従来の Office ファイルに限定されません。 + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +`PageCount` をチェックするのはなぜか?ページ数が 0 のドキュメントは空の PNG を生成してしまい、下流のコードで静かな失敗を引き起こすことがあるためです。 + +## 手順 3: 画像レンダリングオプションの設定 + +ベクターベースの Word コンテンツをビットマップに変換すると、デフォルト設定のままだとギザギザが目立ちます。アンチエイリアシングを有効にすれば、特にチャートや図形、小さなサイズのテキストが滑らかになります。 + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +「常にアンチエイリアシングが必要?」と疑問に思うかもしれません。ほとんどの場合は必要です。ただし、極小アイコンのようにパフォーマンスが優先されるケースでは無効にしても構いません。 + +## 手順 4: 各ページを個別の PNG ファイルとしてレンダリング + +Word ドキュメントは複数ページを持つことがあります。Aspose.Words ではドキュメント全体を単一画像としてレンダリングできますが、一般的にはページごとに PNG を生成するパターンが好まれます。以下のコードでページをループし、各ページを個別ファイルに出力します。 + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**`using` ブロックを使う理由** +`ImageRenderer` は GDI+ ハンドルなどのアンマネージドリソースを保持します。`using` でラップすれば確実にクリーンアップされ、長時間稼働するサービスでのメモリリークを防げます。 + +### エッジケースとヒント + +- **大容量ドキュメント:** 200 ページ程度の文書はメモリ消費が激しくなります。バッチ処理に分割するか、`MaxMemoryUsage` プロパティを増やして `OutOfMemoryException` に備えてください。 +- **透過背景:** Word ファイルに透過シェイプが含まれ、透過 PNG が必要な場合は `ImageRenderingOptions` の `BackgroundColor = Color.Transparent` を設定します。 +- **スケーリング:** サムネイルを作りたいときは `ImageSaveOptions`(例: `Resolution = 72`)で解像度を下げるか、`System.Drawing` で生成後にリサイズしてください。 + +## 手順 5: 再利用可能なメソッドにまとめる + +変換ロジックを単一メソッドにまとめておけば、Web API、バックグラウンドワーカー、デスクトップ UI など、どこからでも簡単に呼び出せます。 + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +次のように呼び出せます。 + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +このメソッドは **WordドキュメントをPNGとして保存** し、`page_1.png`, `page_2.png` といった名前のファイルを生成します。 + +## 期待される出力 + +3 ページの `input.docx` をサンプルコードで実行すると、以下のようなファイルが生成されます。 + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +いずれかの PNG を画像ビューアで開くと、対応する Word ページの鮮明でアンチエイリアス処理されたビットマップが表示されます。余計な余白や歪みはなく、忠実なスナップショットです。 + +## よくある落とし穴と回避策 + +| 問題 | 発生理由 | 対策 | +|------|----------|------| +| **空白 PNG** | ドキュメントが読み込めていない(`doc` が null)またはページインデックスが範囲外 | ファイルパスを確認し、`doc.PageCount` が 0 より大きいことを確認してからレンダリング | +| **文字がギザギザ** | アンチエイリアシングが無効、または DPI が低すぎる | `UseAntialiasing = true` を設定し、必要に応じて `Resolution`(例: 150 DPI)を上げる | +| **メモリ不足** | 高 DPI で大きなページを連続レンダリングしている | 1 ページずつレンダリングし、`ImageRenderer` を速やかに破棄する | +| **色が正しくない** | 背景色がデフォルトで白になるため、透過ドキュメントが白く表示される | 必要に応じて `BackgroundColor = Color.Transparent` を設定 | + +## 結論 + +本稿では、Aspose.Words for .NET を利用して **WordドキュメントをPNGに変換** し、さらに **WordドキュメントをPNGとして保存** する、クリーンで本番環境向けの手順を示しました。手順はシンプルです。 + +1. `Document` で `.docx` を読み込む。 +2. `ImageRenderingOptions`(アンチエイリアシング、DPI、背景)を調整。 +3. ページをループし、`ImageRenderer.RenderToFile` を呼び出す。 + +再利用可能な `ConvertWordToPng` メソッドがあれば、アップロードされた契約書のサムネイル生成、レポートの PNG アーカイブ、CMS 用資産の一括作成など、あらゆる C# アプリケーションに画像プレビュー機能を組み込めます。 + +**次のステップは?** 他の画像形式(`ImageFormat.Jpeg`, `Bmp`)に挑戦したり、PNG と同時に PDF が必要な場合は `PdfSaveOptions` を試したりしてください。また、透かしの追加や出力サイズの動的変更も検討できます。 + +Happy coding、そして何か問題があれば遠慮なくコメントを残してください! + +## 関連チュートリアル + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/japanese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..98abe9f19 --- /dev/null +++ b/html/japanese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Aspose.HTML を使用して HTML から PNG を迅速に作成します。HTML を PNG にレンダリングし、HTML を PNG + に変換し、リソースを効率的に扱う方法を学びましょう。 +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: ja +og_description: Aspose.HTML を使用して HTML から PNG を作成します。このガイドでは、HTML を PNG にレンダリングし、HTML + を PNG に変換し、リソースを適切に処理する方法を示します。 +og_title: HTMLからPNGを作成 – 完全プログラミングチュートリアル +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: HTMLからPNGを作成する – 完全ステップバイステップガイド +url: /ja/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTMLからPNGを作成する – 完全ステップバイステップガイド + +サードパーティツールをたくさん使わずに **HTMLからPNGを作成** したいと思ったことはありませんか? あなただけではありません。メールプレビュー生成器、レポートダッシュボード、サムネイルサービスなどを構築する際に、HTMLマークアップを鮮明な PNG 画像に変換する必要はよくあります。このチュートリアルでは、**HTMLをPNGにレンダリング** する完全な実行可能サンプルを順を追って解説し、Aspose.HTML を使って **HTMLをPNGに変換** する方法、さらに画像・CSS・フォントといった **リソースの扱い方** も説明します。 + +まずは小さな HTML 文字列から始め、外部アセットをすべてディスクに書き出すカスタム `ResourceHandler` を設定し、最後に完璧な PNG ファイルを保存します。これを終えると、任意の .NET プロジェクトに組み込める自己完結型ソリューションが手に入ります。 + +## 学べること + +- 文字列またはファイルから `HTMLDocument` を作成する方法。 +- レンダラが要求するすべてのリソースをローカルに保存できるカスタム `ResourceHandler` の実装方法。 +- `ImageRenderer` を使用して **HTMLをPNGにレンダリング** する正確な手順。 +- よくある落とし穴(フォント欠如、相対 URL)と **リソースの扱い方** のベストプラクティス。 +- 出力を検証し、必要に応じて画像サイズやフォーマットを調整する方法。 + +### 前提条件 + +- .NET 6.0 以上(コードは .NET Framework 4.7+ でも動作します)。 +- **Aspose.HTML for .NET** NuGet パッケージへの参照。 +- C# と非同期ストリームの基本的な知識(必須ではありませんがあると便利)。 + +外部ツール不要、ヘッドレスブラウザ不要—純粋に C# と Aspose.HTML だけです。 + +--- + +## HTMLからPNGを作成する – 概要 + +以下は **完全に実行可能なコード** です。コンソールアプリにコピーペーストし、`YOUR_DIRECTORY` プレースホルダーを調整して F5 を押すだけで動作します。 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **プロのコツ:** `"YOUR_DIRECTORY"` は絶対パス(例: `Path.GetFullPath("./output")`)に置き換えておくと、アプリが別の作業ディレクトリから実行されたときの予期せぬ動作を防げます。 + +--- + +## 手順 1: HTML ドキュメントの準備 + +最初に行うのは、生の HTML 文字列を `HTMLDocument` でラップすることです。Aspose.HTML はこのオブジェクトをフル機能の DOM として扱い、`` タグや ` + + +
Hello, world!
+ Demo logo + +"); +``` + +文字列は任意の HTML に置き換え可能です。たとえば Razor ビューの出力や Markdown‑to‑HTML 変換結果などです。重要なのは、後で渡すカスタムハンドラをドキュメントが認識していることです。 + +--- + +## Image Rendering Options – アンチエイリアスとフォントヒンティングの微調整 + +デフォルトのレンダリングでも動作しますが、エッジを滑らかにしたり、テキストを鮮明にしたり、サブピクセル位置を正確にしたりしたいことがあります。ここで **画像レンダリングオプション** が活躍します。 + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*内部で何が起きているか:* +`ImageRenderingOptions` は、使用するフォントや幾何形状のスムージング方法をレンダラに指示します。`TextOptions` はグリフのラスタライズ方法に焦点を当て、ヒンティングは文字をピクセルグリッドに合わせて配置し、特に小さいサイズで有効です。 + +--- + +## Render HTML with Options – 設定の適用 + +ドキュメントとオプションの準備が整ったら、ついに **オプション付きで HTML をレンダリング** できます。以下の 3 つのファイルを生成します。 + +1. 基本的な PNG(オプションなし)。 +2. アンチエイリアス適用 PNG。 +3. ヒンティング適用 PNG。 + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +各 `ImageRenderer` が受け取る第2引数が異なる点に注目してください:プレーンハンドラ、アンチエイリアス設定、ヒンティング設定です。このパターンにより、他のコードを変更せずに設定だけを入れ替えられるため、ユニットテストや機能フラグに最適です。 + +> **よくある質問:** *「アンチエイリアスとヒンティングを同時に適用できる?」* +> もちろんです。`UseAntialiasing` と `UseHinting` の両方を `true` に設定した単一のオプションオブジェクトを作成し、`ImageRenderer` に渡すだけです。 + +--- + +## Verify the Output – 期待される結果 + +プログラムを実行したら、生成された 3 つの PNG を開いて確認してください。 + +- **out.png** – HTML の忠実なスナップショットですが、エッジがややギザギザになることがあります。 +- **img.png** – アンチエイリアスにより線や曲線が滑らかになります。 +- **txt.png** – フォントヒンティングによりテキストが特に 12 pt Verdana で鋭く見えます。 + +画像が期待通りでない場合は、`YOUR_DIRECTORY/Resources` に参照されている `logo.png` が存在するか確認してください。アセットが欠けていると、レンダラはプレースホルダーにフォールバックし、見た目が変になることがあります。 + +--- + +## Full Working Example + +以下はコンソールアプリにそのまま貼り付け可能な、完全なプログラムです。`using` ディレクティブと最小限の `Main` メソッドを含んでいます。 + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +プログラムを実行し、3 つの PNG を確認すれば、各オプションが最終画像にどのように影響するかが分かります。フォントを変えたり、`UseAntialiasing` を切り替えたり、CSS ルールを追加したりして自由に実験してください。**HTML を画像に変換** できる環境が手に入ります。 + +--- + +## Next Steps & Related Topics + +- **バッチ処理:** HTML スニペットのコレクションをループし、各々のサムネイルを生成。 +- **PDF 変換:** PNG を PDF ライブラリ(例: iTextSharp)と組み合わせて、マルチページドキュメントを作成。 +- **動的リソース:** `MyHandler` を拡張し、ファイルシステムではなく CDN やデータベースから画像を取得。 +- **パフォーマンスチューニング:** ソース HTML が変更されていない場合はレンダリング結果をキャッシュし、CPU 負荷を大幅に削減。 + +さらに深いカスタマイズに興味がある場合は、`ImageRenderer` の `RenderTransform` プロパティで回転やスケーリングを、`CssEngine` 設定で高度なレイアウト制御を調べてみてください。 + +--- + +## Conclusion + +C# で **HTML を PNG にレンダリング** するために必要なすべてを網羅しました:カスタムリソースハンドラ、マークアップの読み込み、*画像レンダリングオプション* の設定、そしてアンチエイリアスとフォントヒンティングを備えた **オプション付きの HTML レンダリング**。この完全な実装例はすぐに動作し、モジュラー設計により大規模プロジェクトへの適用も容易です。 + +ぜひ試して設定を調整し、次のメールキャンペーン、ダッシュボード、レポートツールでレンダリング画像が語るようにしてください。 + +## Related Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/korean/net/generate-jpg-and-png-images/_index.md index 2f2fd11d0..26635e3dc 100644 --- a/html/korean/net/generate-jpg-and-png-images/_index.md +++ b/html/korean/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Aspose.HTML for .NET을 .NET 프로젝트에 통합하는 것은 번거롭지 DOCX 문서를 PNG 또는 JPG 이미지로 변환할 때 안티앨리어싱을 적용하는 방법을 단계별로 안내합니다. ### [DOCX를 PNG로 변환하고 ZIP 아카이브 만들기 C# 튜토리얼](./convert-docx-to-png-create-zip-archive-c-tutorial/) C#을 사용해 DOCX 파일을 PNG 이미지로 변환하고, 결과를 ZIP 파일로 압축하는 방법을 단계별로 안내합니다. +### [C#에서 DOCX를 PNG로 변환 – 완전 단계별 가이드](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +C#을 사용해 DOCX 파일을 PNG 이미지로 변환하는 전체 과정을 단계별로 안내합니다. +### [HTML에서 PNG 생성 – 전체 단계별 가이드](./create-png-from-html-full-step-by-step-guide/) +HTML 콘텐츠를 PNG 이미지로 변환하는 전체 단계별 과정을 안내합니다. +### [Aspose를 사용해 HTML을 PNG로 렌더링하여 PNG 만들기](./create-png-from-html-with-aspose-render-html-to-png/) +Aspose.HTML을 활용해 HTML 콘텐츠를 PNG 이미지로 변환하는 단계별 가이드. +### [Word 문서를 PNG로 변환 – 완전 프로그래밍 가이드](./convert-word-document-to-png-complete-programming-guide/) +C#을 사용해 Word 문서를 PNG 이미지로 변환하는 방법을 단계별로 안내합니다. +### [HTML을 PNG로 렌더링 – 사용자 정의 핸들러 및 옵션을 포함한 완전 가이드](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +사용자 정의 핸들러와 다양한 옵션을 활용해 HTML을 PNG 이미지로 변환하는 전체 단계별 가이드. ## 결론 diff --git a/html/korean/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/korean/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..c911ac605 --- /dev/null +++ b/html/korean/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: C#를 사용하여 docx를 빠르게 png로 변환하세요. Word를 이미지로 변환하고, Word를 png로 내보내며, 사용자 + 지정 글꼴을 설정하는 방법을 한 번에 배울 수 있습니다. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: ko +og_description: C#를 사용하여 docx를 png로 변환합니다. 이 가이드는 워드를 png로 내보내고 완벽한 결과를 위해 사용자 정의 + 글꼴을 설정하는 방법을 보여줍니다. +og_title: C#에서 docx를 png로 변환하기 – 전체 프로그래밍 가이드 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: C#에서 docx를 png로 변환하기 – 완전한 단계별 가이드 +url: /ko/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 docx를 png로 변환 – 완전 단계별 가이드 + +docx를 png로 변환해야 했지만 어떤 라이브러리가 깨끗한 글리프와 전체 페이지 정확성을 제공하는지 몰랐던 적이 있나요? 당신만 그런 것이 아닙니다. 많은 사무 자동화 프로젝트에서 Word 문서를 이미지로 변환하는 것(예: “convert word to image”)은 Office 설치에 신경 쓰지 않고 웹 페이지나 이메일에 콘텐츠를 삽입하는 가장 빠른 방법입니다. + +여기 핵심이 있습니다: Aspose.Words for .NET API를 사용하면 **export word as png** 를 몇 줄의 코드만으로 수행할 수 있으며, **set custom font** 설정을 통해 출력이 원본과 정확히 동일하게 만들 수 있습니다. 이 튜토리얼에서는 패키지 설치부터 최종 PNG 렌더링까지 전체 과정을 단계별로 살펴보며, 오늘 바로 docx를 png로 변환할 수 있도록 안내합니다. + +## docx를 png로 변환 – 개요 및 전제 조건 + +시작하기 전에 다음 항목을 확인하세요: + +* **.NET 6.0 또는 그 이후 버전** – 예제는 .NET 6을 대상으로 하지만 이전 버전에서도 작동합니다. +* **Aspose.Words for .NET** – `Document`, `TextOptions`, `ImageRenderer` 를 제공하는 NuGet 패키지입니다. +* 이미지로 변환하려는 **샘플 DOCX** 파일 (참조 가능한 폴더에 배치) +* 선택 사항: **맞춤 TrueType 폰트**(예: Times New Roman) – 문서의 기본 폰트를 재정의하고 싶을 때 사용 + +위 항목을 모두 준비했다면, 자신 있게 word를 image로 변환할 준비가 된 것입니다. + +## Aspose.Words for .NET 설치 (convert word to image) + +첫 번째 단계는 라이브러리를 프로젝트에 추가하는 것입니다. 솔루션 폴더에서 터미널을 열고 다음 명령을 실행하세요: + +```bash +dotnet add package Aspose.Words +``` + +이 단일 명령은 최신 안정 버전의 Aspose.Words를 추가하며, 여기에는 **export docx as png** 에 필요한 `ImageRenderer` 클래스가 포함됩니다. 복원이 완료되면 바로 사용할 수 있습니다. + +> **Pro tip:** Visual Studio를 사용한다면 NuGet 패키지 관리자 UI를 통해서도 패키지를 추가할 수 있습니다—“Aspose.Words”를 검색하면 됩니다. + +## 소스 문서 로드 (convert docx to png) + +이제 DOCX 파일을 로드합니다. 바로 여기서 **convert docx to png** 파이프라인이 실제로 시작됩니다. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document`는 메모리 내에 전체 Word 파일을 나타냅니다. 경로는 절대 경로나 상대 경로 모두 가능하니 파일이 존재하는지 확인하세요. 그렇지 않으면 `FileNotFoundException`이 발생합니다. + +## 텍스트 렌더링 옵션 구성 (set custom font) + +DOCX가 대상 머신에 설치되지 않은 폰트를 사용하고 있다면, 렌더링된 PNG가 어색하게 보일 수 있습니다. 그래서 **set custom font** 를 적용하는 것이 중요합니다. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting`은 렌더러가 서브픽셀 힌팅을 적용하도록 하여 글자 가장자리를 선명하게 만듭니다—특히 고해상도 PNG에서 중요합니다. +* `FontInfo`는 원본 DOCX에 지정된 폰트와 관계없이 모든 텍스트를 *Times New Roman* 14 pt로 강제합니다. 서버에 있는 다른 폰트 이름으로 교체해도 됩니다. + +## ImageRenderer 생성 (convert word to image) + +문서와 옵션이 준비되면 `ImageRenderer`를 인스턴스화합니다. 이 클래스가 페이지를 비트맵 이미지로 변환하는 무거운 작업을 수행합니다. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +몇 가지 참고 사항: + +* `using` 블록은 렌더러가 네이티브 리소스(GDI 핸들 등)를 즉시 해제하도록 보장합니다. +* `RenderToFile`은 경로와 `ImageFormat`을 받습니다. 모든 페이지가 필요하면 `renderer.PageCount`를 순회하면서 페이지별 파일 이름으로 `RenderToFile`을 호출하면 됩니다. + +## 출력 확인 (export docx as png) + +코드가 실행된 후 지정한 폴더에 `hinted.png`가 생성됩니다. 이미지 뷰어로 열어 텍스트가 선명하게 보이는지 확인하세요. 맞춤 폰트를 사용했다면 전체 페이지에 일관된 서체가 적용된 것을 확인할 수 있습니다. + +Here’s a quick visual reference (replace with your own screenshot when publishing): + +![docx를 png로 변환한 예시 출력](https://example.com/assets/convert-docx-to-png.png "docx를 png로 변환한 예시 출력") + +*Alt text:* **docx를 png로 변환한 예시 출력** – Times New Roman 폰트가 적용된 Word 페이지의 PNG 렌더링. + +이미지가 흐릿하게 보인다면 `UseHinting`이 `true`로 설정되어 있는지, 렌더러의 DPI(기본 96)가 요구 사항에 맞는지 다시 확인하세요. `RenderToFile`을 호출하기 전에 `renderer.ImageOptions.Resolution = 300;` 와 같이 DPI를 조정할 수 있습니다. + +## 전체 실행 가능한 프로그램 (export word as png) + +모든 코드를 합치면 `Program.cs`에 복사‑붙여넣기만 하면 바로 실행할 수 있는 콘솔 앱이 됩니다: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**이 프로그램이 수행하는 작업:** + +1. `input.docx`를 로드합니다. +2. 모든 문자를 힌팅이 활성화된 *Times New Roman* 14 pt로 강제합니다. +3. 첫 번째 페이지를 300 DPI로 렌더링하여 고품질 PNG를 생성합니다. +4. 성공을 알리는 친절한 콘솔 메시지를 출력합니다. + +`dotnet run`으로 실행하면 웹 표시, PDF 삽입 또는 Office 없이 **convert docx to png** 가 필요한 모든 시나리오에 사용할 수 있는 완벽한 이미지가 생성됩니다. + +## 일반적인 질문 및 엣지 케이스 처리 + +* **전체 페이지가 필요하면 어떻게 하나요?** + `renderer.PageCount`를 순회하면서 페이지 번호를 포함한 파일 이름(`output_page_{i}.png` 등)으로 `RenderToFile`을 호출합니다. + +* **다른 이미지 포맷으로 내보낼 수 있나요?** + 물론입니다. `ImageFormat.Png`를 `ImageFormat.Jpeg`, `ImageFormat.Bmp`, `ImageFormat.Tiff` 등으로 교체하면 됩니다. + +* **문서에 임베디드 폰트가 포함되어 있는데도 `set custom font`가 필요할까요?** + DOCX에 원하는 폰트가 이미 임베디드되어 있다면 `Font` 속성을 생략해도 됩니다. 렌더러가 자동으로 임베디드 폰트를 사용합니다. + +* **대용량 문서를 메모리 부족 없이 처리하려면?** + `using` 블록 안에서 페이지당 하나씩 처리하고, 저장 후 각 비트맵을 즉시 Dispose하세요. 이렇게 하면 메모리 사용량을 최소화할 수 있습니다. + +* **라이선스 문제는 없나요?** + Aspose.Words는 워터마크가 포함된 무료 체험판을 제공합니다. 실제 운영 환경에서는 라이선스를 구매하고 `License license = new License(); license.SetLicense("Aspose.Words.lic");` 를 문서를 로드하기 전에 호출해야 합니다. + +## 결론 + +이제 C#을 사용해 **convert docx to png** 를 수행할 수 있는 완전하고 프로덕션 수준의 레시피를 갖추었습니다. 이 가이드는 Aspose.Words 설치( **convert word to image** 를 위한 기본 라이브러리)부터 **set custom font** 상황에 맞는 `TextOptions` 구성, 그리고 이미지 파일 렌더링까지 모든 과정을 다루었습니다. 이 지식을 활용해 **export word as png** 를 웹 페이지에 삽입하거나 썸네일을 생성하거나 이미지 처리 파이프라인에 연계할 수 있습니다. + +다음은? 여러 페이지를 내보내 보거나, 다양한 DPI 설정을 실험하거나, 출력 포맷을 다른 형식으로 바꿔보세요. + + +## 관련 튜토리얼 + +- [DOCX를 PNG/JPG로 변환할 때 안티앨리어싱 활성화 방법](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Aspose.HTML을 사용해 .NET에서 HTML을 PNG로 변환](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip 아카이브 생성 C# 튜토리얼](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/korean/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/korean/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..ae2495ce0 --- /dev/null +++ b/html/korean/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-05-25 +description: Word 문서를 빠르게 PNG로 변환하는 방법을 배워보세요. 이 튜토리얼에서는 안티앨리어싱을 적용하여 Word 문서를 PNG로 + 저장하는 방법도 보여줍니다. +draft: false +keywords: +- convert word document to png +- save word document as png +language: ko +og_description: 몇 줄의 C# 코드로 Word 문서를 PNG로 변환하세요. 이 가이드를 따라 Word 문서를 효율적으로 PNG로 저장하세요. +og_title: 워드 문서를 PNG로 변환 – 단계별 가이드 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: 워드 문서를 PNG로 변환 – 완전한 프로그래밍 가이드 +url: /ko/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word 문서를 PNG로 변환 – 완전 프로그래밍 가이드 + +Word 문서를 PNG로 **변환**해야 할 때, 어떤 라이브러리나 설정을 선택해야 할지 몰라 고민한 적이 있나요? 당신만 그런 것이 아닙니다. 많은 사무 자동화 프로젝트에서 `.docx` 파일의 래스터 이미지가 필요하게 됩니다—예를 들어 썸네일 미리보기, 이메일 삽입, 혹은 빠른 시각적 확인을 위해서죠. 좋은 소식은, 몇 줄의 C# 코드만으로도 **Word 문서를 PNG로 저장**할 수 있다는 것입니다. + +이번 튜토리얼에서는 Aspose.Words for .NET을 사용한 실제 예제를 단계별로 살펴보겠습니다. 소스 파일 로드, 선명한 출력을 위한 이미지 렌더링 옵션 조정, PNG 파일을 디스크에 저장하는 전 과정을 다룹니다. 끝까지 따라오면 어떤 .NET 프로젝트에도 바로 넣어 사용할 수 있는 재사용 가능한 메서드를 얻게 됩니다. + +## 사전 요구 사항 + +- **.NET 6.0** 이상 (코드는 .NET Framework 4.6+에서도 동작합니다). +- **Aspose.Words for .NET**의 **라이선스**가 있는 사본 (무료 체험판으로 테스트 가능). +- Visual Studio 2022 또는 선호하는 IDE. +- 참조할 수 있는 폴더에 배치한 샘플 Word 파일 (`input.docx`). + +다른 서드파티 패키지는 필요하지 않습니다. + +## 1단계: 프로젝트 설정 및 네임스페이스 가져오기 + +먼저, 새 콘솔 앱을 만들고(또는 기존 서비스에 통합) Aspose.Words NuGet 패키지를 추가합니다: + +```bash +dotnet add package Aspose.Words +``` + +이제 파일에 필요한 네임스페이스를 가져옵니다: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **팁:** .NET 6+를 대상으로 하는 경우, 최상위 문장(top‑level statements) 기능을 사용하여 `Main` 메서드 보일러플레이트를 생략할 수 있습니다. + +## 2단계: 원본 Word 문서 로드 + +변환 파이프라인에서 첫 번째 실제 단계는 래스터화하려는 문서를 로드하는 것입니다. Aspose.Words는 `.doc`, `.docx`, `.rtf` 등 다양한 형식을 지원하므로 기존 Office 파일 형식에 제한받지 않습니다. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +`PageCount`를 확인하는 이유는 무엇일까요? 페이지가 0인 문서는 빈 PNG를 생성하게 되며, 이는 종종 조용히 실패하여 이후 코드에서 문제를 일으키기 때문입니다. + +## 3단계: 이미지 렌더링 옵션 구성 + +벡터 기반 Word 콘텐츠를 비트맵으로 변환할 때 기본 설정을 그대로 사용하면 계단 현상이 나타납니다. 안티앨리어싱을 활성화하면 특히 차트, 도형, 작은 크기의 텍스트가 부드럽게 렌더링됩니다. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +‘항상 안티앨리어싱이 필요할까?’라고 생각할 수 있습니다. 일반적으로는 필요하지만, 성능이 시각적 품질보다 중요한 아주 작은 아이콘을 생성할 경우는 예외입니다. + +## 4단계: 각 페이지를 별개의 PNG 파일로 렌더링 + +Word 문서는 여러 페이지를 포함할 수 있습니다. Aspose.Words를 사용하면 전체 문서를 하나의 이미지로 렌더링할 수 있지만, 일반적인 패턴은 페이지당 하나의 PNG를 생성하는 것입니다. 아래에서는 페이지를 순회하면서 각각을 별도 파일로 렌더링합니다. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**`using` 블록을 사용하는 이유는?** `ImageRenderer`는 GDI+ 핸들 같은 비관리 리소스를 보유합니다. `using`으로 감싸면 적절히 정리되어 장기 실행 서비스에서 메모리 누수를 방지합니다. + +### 엣지 케이스 및 팁 + +- **대용량 문서:** 200페이지 정도의 문서를 렌더링하면 메모리를 많이 사용합니다. 배치로 렌더링하거나 `OutOfMemoryException`이 발생하면 `MaxMemoryUsage` 속성을 늘리는 것을 고려하세요. +- **투명 배경:** Word 파일에 투명 도형이 포함되어 있고 투명 PNG가 필요하면 `ImageRenderingOptions`에서 `BackgroundColor = Color.Transparent`로 설정합니다. +- **스케일링:** 썸네일을 만들려면 `ImageSaveOptions`(예: `Resolution = 72`)를 조정하거나 `System.Drawing`을 사용해 결과 PNG 크기를 조정합니다. + +## 5단계: 재사용 가능한 메서드로 정리 + +변환 로직을 하나의 메서드에 넣으면 웹 API, 백그라운드 워커, 데스크톱 UI 등 어디서든 쉽게 호출할 수 있습니다. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +이제 다음과 같이 호출할 수 있습니다: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +그리고 메서드는 `page_1.png`, `page_2.png` 등 이름의 **Word 문서를 PNG 파일**로 저장합니다. + +## 예상 출력 + +샘플 코드를 3페이지 `input.docx`에 실행하면 다음과 같은 결과가 생성됩니다: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +이미지 뷰어에서 해당 PNG를 열면 해당 Word 페이지가 선명하고 안티앨리어싱된 렌더링으로 표시됩니다. 여분의 테두리나 왜곡 없이 정확한 비트맵 스냅샷을 확인할 수 있습니다. + +## 흔히 발생하는 문제와 해결 방법 + +| 문제 | 발생 원인 | 해결 방법 | +|------|----------|----------| +| **빈 PNG** | 문서가 로드되지 않음(`doc`이 null) 또는 페이지 인덱스가 범위를 벗어남. | 파일 경로를 확인하고 렌더링 전에 `doc.PageCount`가 0보다 큰지 확인하세요. | +| **텍스트가 거칠게 보임** | 안티앨리어싱이 비활성화되었거나 DPI가 너무 낮음. | `UseAntialiasing = true`로 설정하고 필요에 따라 `Resolution`을 높이세요(예: 150 DPI). | +| **메모리 부족** | 높은 DPI로 매우 큰 페이지를 연속적으로 렌더링함. | 한 번에 한 페이지씩 렌더링하고(`ImageRenderer`를 즉시 dispose)합니다. | +| **색상 오류** | 배경색이 기본적으로 흰색으로 설정되어 투명 문서가 흰색으로 표시됩니다. | 필요할 경우 `BackgroundColor = Color.Transparent`로 설정합니다. | + +## 결론 + +우리는 Aspose.Words for .NET을 사용하여 **Word 문서를 PNG로 변환**하고, 확장해서 **Word 문서를 PNG로 저장**하는 깔끔하고 프로덕션에 적합한 방법을 시연했습니다. 단계는 간단합니다: + +1. `Document`로 `.docx`를 로드합니다. +2. `ImageRenderingOptions`를 조정합니다(안티앨리어싱, DPI, 배경). +3. 페이지를 순회하면서 `ImageRenderer.RenderToFile`을 호출합니다. + +재사용 가능한 `ConvertWordToPng` 메서드를 갖추면 이제 어떤 C# 애플리케이션에도 이미지 기반 미리보기를 통합할 수 있습니다—예를 들어 업로드된 계약서의 썸네일을 생성하는 웹 서비스, 보고서를 PNG로 보관하는 데스크톱 도구, 혹은 콘텐츠 관리 시스템을 위한 자산을 준비하는 배치 작업 등에 활용할 수 있습니다. + +**다음은?** 다른 이미지 포맷(`ImageFormat.Jpeg`, `Bmp`)을 실험하거나 PNG와 함께 PDF가 필요하면 `PdfSaveOptions`를 살펴보세요. 워터마크를 추가하거나 출력 크기를 실시간으로 조정하는 방법도 고려해볼 수 있습니다. + +코딩을 즐기세요, 그리고 문제가 발생하면 언제든 댓글을 남겨 주세요! + +## 관련 튜토리얼 + +- [docx를 png로 변환 – zip 아카이브 생성 C# 튜토리얼](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [DOCX를 PNG/JPG로 변환할 때 안티앨리어싱 활성화 방법](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Aspose를 사용해 HTML을 PNG로 렌더링하는 방법 – 단계별 가이드](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/korean/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..03e7f4172 --- /dev/null +++ b/html/korean/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Aspose.HTML를 사용하여 HTML을 빠르게 PNG로 만들세요. HTML을 PNG로 렌더링하고, HTML을 PNG로 변환하며, + 리소스를 효율적으로 처리하는 방법을 배워보세요. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: ko +og_description: Aspose.HTML를 사용하여 HTML에서 PNG를 만들기. 이 가이드는 HTML을 PNG로 렌더링하고, HTML을 + PNG로 변환하며, 리소스를 올바르게 처리하는 방법을 보여줍니다. +og_title: HTML에서 PNG 만들기 – 완전한 프로그래밍 튜토리얼 +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: HTML에서 PNG 만들기 – 전체 단계별 가이드 +url: /ko/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML에서 PNG 만들기 – 전체 단계별 가이드 + +서드파티 도구를 많이 사용하지 않고 **HTML에서 PNG 만들기**가 궁금하셨나요? 당신만 그런 것이 아닙니다. 이메일 미리보기 생성기, 보고서 대시보드, 썸네일 서비스 등을 구축하든, HTML 마크업을 선명한 PNG 이미지로 변환하는 것은 흔한 요구입니다. 이 튜토리얼에서는 **HTML을 PNG로 렌더링**하는 완전한 실행 가능한 예제를 단계별로 살펴보고, Aspose.HTML을 사용해 **HTML을 PNG로 변환**하는 방법과 이미지, CSS, 폰트와 같은 **리소스 처리 방법**까지 설명합니다. + +우리는 작은 HTML 문자열을 시작으로, 모든 외부 자산을 디스크에 기록하는 커스텀 `ResourceHandler`를 설정하고, 완벽한 PNG 파일을 저장하는 것으로 마무리합니다. 끝까지 진행하면 .NET 프로젝트 어디에든 삽입할 수 있는 자체 포함 솔루션을 얻게 됩니다. + +## 배울 내용 + +- 문자열 또는 파일에서 `HTMLDocument`를 생성하는 방법. +- 렌더러가 요청하는 모든 리소스를 로컬에 저장하도록 커스텀 `ResourceHandler`를 구현하는 방법. +- `ImageRenderer`를 사용해 **HTML을 PNG로 렌더링**하는 정확한 단계. +- 일반적인 함정(폰트 누락, 상대 URL)과 **리소스 처리** 최선 방법. +- 출력을 검증하고 필요에 따라 이미지 크기나 포맷을 조정하는 방법. + +### 사전 요구 사항 + +- .NET 6.0 이상(코드는 .NET Framework 4.7+에서도 작동합니다). +- **Aspose.HTML for .NET** NuGet 패키지에 대한 참조. +- C# 및 비동기 스트림에 대한 기본 지식(필수는 아니지만 도움이 됩니다). + +외부 도구 없이, 헤드리스 브라우저 없이—그냥 순수 C#과 Aspose.HTML만 사용합니다. + +--- + +## HTML에서 PNG 만들기 – 개요 + +아래는 **완전하고 바로 실행 가능한 코드**입니다. 콘솔 앱에 복사·붙여넣기하고, `YOUR_DIRECTORY` 자리 표시자를 조정한 뒤 F5를 눌러 실행해 보세요. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** `"YOUR_DIRECTORY"`를 절대 경로(예: `Path.GetFullPath("./output")`)로 바꾸면 앱이 다른 작업 디렉터리에서 실행될 때 발생할 수 있는 예기치 않은 상황을 방지할 수 있습니다. + +--- + +## 1단계: HTML 문서 준비 + +먼저 원시 HTML 문자열을 `HTMLDocument`에 래핑합니다. Aspose.HTML은 이 객체를 완전한 DOM으로 취급하여 `` 태그, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +문자열을 원하는 어떤 HTML로든 교체할 수 있습니다—예를 들어 Razor 뷰 출력이나 Markdown‑to‑HTML 변환 결과 등. 중요한 점은 문서가 나중에 전달할 커스텀 핸들러를 알고 있다는 것입니다. + +--- + +## Image Rendering Options – Fine‑Tuning Antialiasing and Font Hinting + +기본 렌더링도 작동하지만 때때로 추가적인 다듬기가 필요합니다: 더 부드러운 가장자리, 더 선명한 텍스트, 혹은 정확한 서브픽셀 위치 지정. 바로 여기서 **이미지 렌더링 옵션**이 빛을 발합니다. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*내부에서 무슨 일이 일어나고 있나요?* +`ImageRenderingOptions`는 렌더러에게 어떤 폰트를 사용할지와 기하학적 형태를 부드럽게 할지 알려줍니다. `TextOptions`는 글리프가 래스터화되는 방식을 담당하는데, 힌팅은 문자를 픽셀 그리드에 맞추어 작은 크기에서도 특히 유용합니다. + +--- + +## Render HTML with Options – Applying Rendering Settings + +문서와 옵션이 준비되었으니 이제 **옵션을 가진 HTML 렌더링**을 수행할 차례입니다. 세 개의 파일을 생성합니다: + +1. 기본 PNG (추가 옵션 없음). +2. 안티앨리어싱 적용 PNG. +3. 힌팅 적용 PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +각 `ImageRenderer`가 두 번째 인수로 서로 다른 값을 받는 것을 확인하세요: 기본 핸들러, 안티앨리어싱 설정, 힌팅 설정. 이 패턴을 사용하면 다른 코드를 수정하지 않고도 구성을 교체할 수 있어 단위 테스트나 기능 플래그에 최적입니다. + +> **Common question:** *“Can I combine antialiasing and hinting in one pass?”* +> 물론 가능합니다. `UseAntialiasing`과 `UseHinting`을 모두 `true`로 설정한 하나의 옵션 객체를 만들고 이를 `ImageRenderer`에 전달하면 됩니다. + +--- + +## Verify the Output – What to Expect + +프로그램을 실행한 뒤 세 개의 PNG 파일을 열어보세요: + +- **out.png** – HTML을 충실히 스냅샷한 이미지이지만 가장자리가 약간 들쭉날쭉할 수 있습니다. +- **img.png** – 안티앨리어싱 덕분에 선과 곡선이 부드럽습니다. +- **txt.png** – 폰트 힌팅 덕분에 텍스트가 더 선명해 보이며, 특히 12 pt Verdana에서 두드러집니다. + +이미지가 이상하게 보이면 `YOUR_DIRECTORY/Resources`에 참조된 `logo.png`가 있는지 다시 확인하세요. 자산이 없으면 렌더러가 플레이스홀더로 대체하여 이상하게 보일 수 있습니다. + +--- + +## Full Working Example + +아래는 콘솔 앱에 복사‑붙여넣기 할 수 있는 전체 프로그램입니다. 모든 `using` 지시문과 최소한의 `Main` 메서드를 포함하고 있습니다. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +프로그램을 실행하고 세 개의 PNG를 검사하면 각 옵션이 최종 이미지에 어떤 영향을 미치는지 정확히 확인할 수 있습니다. 자유롭게 실험해 보세요—폰트를 바꾸거나 `UseAntialiasing`을 토글하거나 CSS 규칙을 추가해 보세요. 필요에 따라 **HTML을 이미지로 변환**할 때 가능한 범위는 무한합니다. + +--- + +## Next Steps & Related Topics + +- **배치 처리:** HTML 스니펫 컬렉션을 순회하며 각각에 대한 썸네일을 생성합니다. +- **PDF 변환:** PNG를 PDF 라이브러리(예: iTextSharp)와 결합해 다중 페이지 문서를 만듭니다. +- **동적 리소스:** `MyHandler`를 확장해 파일 시스템 대신 CDN이나 데이터베이스에서 이미지를 가져오게 합니다. +- **성능 튜닝:** 원본 HTML이 변경되지 않았을 때 렌더링된 이미지를 캐시하면 CPU 부하를 크게 줄일 수 있습니다. + +더 깊은 커스터마이징에 관심이 있다면 회전이나 스케일링을 위한 `ImageRenderer`의 `RenderTransform` 속성을 살펴보거나 고급 레이아웃 제어를 위한 `CssEngine` 설정을 탐색해 보세요. + +--- + +## Conclusion + +C#에서 **HTML을 PNG로 렌더링**하기 위해 필요한 모든 요소—커스텀 리소스 핸들러, 마크업 로드, *이미지 렌더링 옵션* 구성, 그리고 안티앨리어싱과 폰트 힌팅을 제공하는 **옵션을 가진 HTML 렌더링**—을 모두 다루었습니다. 완전하고 실행 가능한 예제는 바로 동작하며, 모듈식 설계 덕분에 대규모 프로젝트에 쉽게 적용할 수 있습니다. + +한 번 시도해 보고 설정을 조정해 보세요. 렌더링된 이미지가 다음 이메일 캠페인, 대시보드, 혹은 보고서 도구에서 강력한 전달 수단이 될 것입니다. 알겠어요 + +## Related Tutorials + +- [HTML을 PNG로 렌더링하는 방법 – 완전 C# 가이드](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Aspose를 사용해 HTML을 PNG로 렌더링하는 방법 – 단계별 가이드](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [HTML에서 PNG 만들기 – 전체 C# 렌더링 가이드](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/polish/net/generate-jpg-and-png-images/_index.md index fff5f7a92..03a97044a 100644 --- a/html/polish/net/generate-jpg-and-png-images/_index.md +++ b/html/polish/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Naucz się używać Aspose.HTML dla .NET do manipulowania dokumentami HTML, konw Dowiedz się, jak włączyć antyaliasing przy konwersji dokumentów DOCX do formatów PNG i JPG przy użyciu Aspose.HTML. ### [Konwertuj docx do png – utwórz archiwum zip w C# – samouczek](./convert-docx-to-png-create-zip-archive-c-tutorial/) Dowiedz się, jak konwertować pliki DOCX na obrazy PNG i spakować je do archiwum ZIP przy użyciu C# i Aspose.HTML. +### [Utwórz PNG z HTML – Pełny przewodnik krok po kroku](./create-png-from-html-full-step-by-step-guide/) +Kompletny samouczek pokazujący, jak konwertować HTML do formatu PNG przy użyciu Aspose.HTML dla .NET. +### [Utwórz PNG z HTML przy użyciu Aspose – renderowanie HTML do PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Dowiedz się, jak przy pomocy Aspose.HTML przekształcić kod HTML w obraz PNG w kilku prostych krokach. +### [Konwertuj dokument Word do PNG – kompletny przewodnik programistyczny](./convert-word-document-to-png-complete-programming-guide/) +Dowiedz się, jak przekształcić dokumenty Word do formatu PNG przy użyciu Aspose.HTML w pełnym, praktycznym przewodniku. +### [Konwertuj docx do png w C# – kompletny przewodnik krok po kroku](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Pełny przewodnik pokazujący, jak w C# konwertować pliki DOCX na obrazy PNG przy użyciu Aspose.HTML. +### [Renderowanie HTML do PNG – Kompletny przewodnik z niestandardowymi obsługami i opcjami](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Poznaj, jak renderować HTML do PNG przy użyciu Aspose.HTML, korzystając z własnych handlerów i zaawansowanych opcji konfiguracyjnych. ## Wniosek diff --git a/html/polish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/polish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..12b8a4720 --- /dev/null +++ b/html/polish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Szybko konwertuj docx na png przy użyciu C#. Dowiedz się, jak przekształcić + dokument Word w obraz, wyeksportować Word jako png oraz ustawić własną czcionkę + w jednym samouczku. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: pl +og_description: Konwertuj docx na png przy użyciu C#. Ten przewodnik pokazuje, jak + wyeksportować dokument Word jako png i ustawić własną czcionkę dla idealnych rezultatów. +og_title: Konwertuj docx na png w C# – Pełny przewodnik programistyczny +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Konwertuj docx na png w C# – Kompletny przewodnik krok po kroku +url: /pl/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convert docx to png in C# – Kompletny przewodnik krok po kroku + +Kiedykolwiek potrzebowałeś **convert docx to png**, ale nie byłeś pewien, która biblioteka zapewni czyste glify i pełną wierność strony? Nie jesteś sam. W wielu projektach automatyzacji biura, przekształcenie dokumentu Word w obraz (pomyśl „convert word to image”) jest najszybszym sposobem na osadzenie treści na stronie internetowej lub w e‑mailu, bez martwienia się o instalacje Office. + +Oto co: API Aspose.Words for .NET pozwala **export word as png** przy użyciu zaledwie kilku linii kodu, a także możesz **set custom font**, aby wynik wyglądał dokładnie jak oryginał. W tym samouczku przeprowadzimy Cię przez cały proces — od instalacji pakietu po renderowanie ostatecznego PNG — abyś już dziś mógł rozpocząć konwersję docx do png. + +## Convert docx to png – Przegląd i wymagania wstępne + +Zanim zanurkujemy w kod, upewnijmy się, że masz wszystko, czego potrzebujesz: + +* **.NET 6.0 lub nowszy** – przykład jest skierowany do .NET 6, ale wcześniejsze wersje również działają. +* **Aspose.Words for .NET** – pakiet NuGet, który udostępnia `Document`, `TextOptions` oraz `ImageRenderer`. +* Plik **sample DOCX**, który chcesz przekształcić w obraz (umieść go w folderze, do którego możesz odwołać się). +* Opcjonalnie: **custom TrueType font** (np. Times New Roman), jeśli chcesz nadpisać domyślną czcionkę dokumentu. + +Jeśli zaznaczyłeś wszystkie te pozycje, jesteś gotowy, aby z pewnością rozpocząć konwersję word to image. + +## Install Aspose.Words for .NET (convert word to image) + +Pierwszym krokiem jest pobranie biblioteki do Twojego projektu. Otwórz terminal w folderze rozwiązania i uruchom: + +```bash +dotnet add package Aspose.Words +``` + +To pojedyncze polecenie dodaje najnowszą stabilną wersję Aspose.Words, która zawiera klasę `ImageRenderer` potrzebną do **export docx as png**. Po zakończeniu przywracania jesteś gotowy do działania. + +> **Pro tip:** Jeśli używasz Visual Studio, możesz również dodać pakiet za pomocą interfejsu NuGet Package Manager — po prostu wyszukaj „Aspose.Words”. + +## Load the source document (convert docx to png) + +Teraz załadujemy plik DOCX. To jest moment, w którym pipeline **convert docx to png** faktycznie się rozpoczyna. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` reprezentuje cały plik Word w pamięci. Ścieżka może być bezwzględna lub względna; upewnij się, że plik istnieje, w przeciwnym razie napotkasz `FileNotFoundException`. + +## Configure text rendering options (set custom font) + +Jeśli Twój DOCX używa czcionki, która nie jest zainstalowana na docelowej maszynie, renderowany PNG może wyglądać nieprawidłowo. Dlatego często trzeba **set custom font** przed eksportem. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` informuje renderer, aby zastosował podpikselowe hinting, co wyostrza krawędzie liter — szczególnie ważne dla wysokiej rozdzielczości PNG. +* `FontInfo` wymusza, aby każdy fragment tekstu był rysowany czcionką *Times New Roman* o rozmiarze 14 pt, niezależnie od tego, co określa oryginalny DOCX. Śmiało możesz zamienić nazwę na dowolną czcionkę dostępną na serwerze. + +## Create an ImageRenderer (convert word to image) + +Mając dokument i opcje gotowe, tworzymy instancję `ImageRenderer`. Ta klasa wykonuje ciężką pracę przekształcania stron w obrazy bitmapowe. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Kilka uwag: + +* Blok `using` zapewnia, że renderer zwalnia natywne zasoby (takie jak uchwyty GDI) niezwłocznie. +* `RenderToFile` przyjmuje ścieżkę i `ImageFormat`. Jeśli potrzebujesz wszystkie strony, możesz iterować po `renderer.PageCount` i wywołać `RenderToFile` z nazwą pliku specyficzną dla strony. + +## Verify the output (export docx as png) + +Po uruchomieniu kodu powinieneś zobaczyć `hinted.png` w określonym folderze. Otwórz go w dowolnym przeglądarce obrazów — czy tekst wygląda wyraźnie? Jeśli użyłeś custom font, zauważysz spójną czcionkę na całej stronie. + +Oto szybka wizualna referencja (zastąp własnym zrzutem ekranu przy publikacji): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – renderowanie PNG strony Word z czcionką Times New Roman. + +Jeśli obraz jest rozmyty, sprawdź ponownie, czy `UseHinting` jest ustawione na `true` oraz czy DPI renderera (domyślnie 96) odpowiada Twoim potrzebom. DPI możesz dostosować poprzez `renderer.ImageOptions.Resolution = 300;` przed wywołaniem `RenderToFile`. + +## Full, runnable program (export word as png) + +Łącząc wszystko razem, oto samodzielna aplikacja konsolowa, którą możesz skopiować i wkleić do `Program.cs` i uruchomić: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Co robi ten program:** + +1. Ładuje `input.docx`. +2. Wymusza, aby każdy znak używał *Times New Roman* o rozmiarze 14 pt z włączonym hintingiem. +3. Renderuje pierwszą stronę przy 300 DPI, tworząc wysokiej jakości PNG. +4. Wypisuje przyjazny komunikat w konsoli potwierdzający sukces. + +Uruchom go za pomocą `dotnet run`, a otrzymasz idealnie wyrenderowany obraz gotowy do wyświetlenia w sieci, osadzenia w PDF lub w dowolnym innym scenariuszu, w którym potrzebujesz **convert docx to png** bez obciążenia Office. + +## Common questions and edge‑case handling + +* **Co jeśli potrzebuję wszystkich stron?** + Iteruj po `renderer.PageCount` i wywołuj `RenderToFile` z nazwą pliku zawierającą numer strony, np. `output_page_{i}.png`. + +* **Czy mogę eksportować do innych formatów obrazu?** + Oczywiście. Zamień `ImageFormat.Png` na `ImageFormat.Jpeg`, `ImageFormat.Bmp` lub `ImageFormat.Tiff` w zależności od wymagań dalszego przetwarzania. + +* **Mój dokument używa wbudowanych czcionek — czy nadal potrzebuję `set custom font`?** + Jeśli DOCX już zawiera wbudowane czcionki, których potrzebujesz, możesz pominąć właściwość `Font`. Renderer automatycznie będzie respektował wbudowaną czcionkę. + +* **Jak obsłużyć duże dokumenty bez wyczerpania pamięci?** + Przetwarzaj jedną stronę na raz wewnątrz bloku `using` i zwalniaj każdy wygenerowany bitmap po zapisaniu. Dzięki temu zużycie pamięci pozostaje niskie. + +* **Czy istnieje problem licencyjny?** + Aspose.Words oferuje darmową wersję próbną z znakiem wodnym. Do użytku produkcyjnego zakup licencję i wywołaj `License license = new License(); license.SetLicense("Aspose.Words.lic");` przed załadowaniem dokumentu. + +## Conclusion + +Masz teraz kompletny, gotowy do produkcji przepis na **convert docx to png** przy użyciu C#. Poradnik obejmował wszystko, od instalacji Aspose.Words (biblioteki wyboru dla **convert word to image**) po konfigurację `TextOptions` w scenariuszu **set custom font**, a na końcu renderowanie pliku obrazu. Dzięki tej wiedzy możesz **export word as png**, osadzić go w stronach internetowych, generować miniatury lub wprowadzić go do dowolnego potoku przetwarzania obrazów. + +Co dalej? Spróbuj eksportować wiele stron, eksperymentuj z różnymi ustawieniami DPI lub zmień format wyjściowy na + +## Related Tutorials + +- [Jak włączyć antyaliasing przy konwertowaniu DOCX do PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Konwertowanie HTML do PNG w .NET przy użyciu Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – tworzenie archiwum zip tutorial C#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/polish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/polish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..c39cf4ab1 --- /dev/null +++ b/html/polish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Dowiedz się, jak szybko przekonwertować dokument Word na PNG. Ten poradnik + pokazuje również, jak zapisać dokument Word jako PNG z antyaliasingiem. +draft: false +keywords: +- convert word document to png +- save word document as png +language: pl +og_description: Konwertuj dokument Word na PNG kilkoma liniami C#. Skorzystaj z tego + przewodnika, aby efektywnie zapisać dokument Word jako PNG. +og_title: Konwertuj dokument Word na PNG – Przewodnik krok po kroku +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Konwertuj dokument Word na PNG – Kompletny przewodnik programistyczny +url: /pl/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Konwertowanie dokumentu Word do PNG – Kompletny przewodnik programistyczny + +Kiedykolwiek potrzebowałeś **convert Word document to PNG**, ale nie wiedziałeś, której biblioteki lub ustawień użyć? Nie jesteś sam. W wielu projektach automatyzacji biura potrzebny jest rastrowy obraz pliku `.docx` — na przykład do miniatur podglądu, osadzania w e‑mailach lub szybkich wizualnych kontroli. Dobrą wiadomością jest to, że kilkoma liniami C# możesz również **save Word document as PNG** bez ręcznego majsterkowania. + +W tym tutorialu przejdziemy przez praktyczny przykład z użyciem Aspose.Words for .NET. Omówimy wszystko: od wczytania pliku źródłowego, przez dostosowanie opcji renderowania obrazu dla wyraźnego wyniku, po zapisanie pliku PNG na dysku. Na koniec otrzymasz metodę, którą możesz wstawić do dowolnego projektu .NET. + +## Prerequisites + +Zanim zaczniemy, upewnij się, że masz: + +- **.NET 6.0** lub nowszy (kod działa również na .NET Framework 4.6+). +- **Licencjonowaną** kopię **Aspose.Words for .NET** (darmowa wersja próbna wystarczy do testów). +- Visual Studio 2022 lub dowolne inne IDE. +- Przykładowy plik Word (`input.docx`) umieszczony w folderze, do którego możesz odwołać się w kodzie. + +Inne pakiety firm trzecich nie są wymagane. + +## Step 1: Set Up the Project and Import Namespaces + +Najpierw utwórz nową aplikację konsolową (lub włącz kod do istniejącej usługi). Następnie dodaj pakiet NuGet Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Teraz zaimportuj potrzebne przestrzenie nazw do swojego pliku: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** Jeśli targetujesz .NET 6+, możesz skorzystać z funkcji top‑level statements i pominąć szablon `Main`. + +## Step 2: Load the Source Word Document + +Pierwszym rzeczywistym krokiem w potoku konwersji jest wczytanie dokumentu, który chcesz rasteryzować. Aspose.Words obsługuje `.doc`, `.docx`, `.rtf` i wiele innych formatów, więc nie jesteś ograniczony do klasycznych typów plików Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Dlaczego sprawdzamy `PageCount`? Ponieważ dokument o zerowej liczbie stron wygenerowałby pusty PNG, co często jest cichą awarią, która psuje dalszy kod. + +## Step 3: Configure Image Rendering Options + +Podczas konwersji wektorowej treści Word do bitmapy zauważysz ząbkowane krawędzie, jeśli pozostaniesz przy ustawieniach domyślnych. Włączenie antyaliasingu wygładza te linie, szczególnie w wykresach, kształtach i małym tekście. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Możesz się zastanawiać: „Czy zawsze potrzebuję antyaliasingu?” Zazwyczaj tak, chyba że generujesz małe ikony, gdzie wydajność przewyższa jakość wizualną. + +## Step 4: Render Each Page to a Separate PNG File + +Dokument Word może zawierać wiele stron. Aspose.Words pozwala renderować cały dokument jako pojedynczy obraz, ale częściej stosowanym podejściem jest generowanie jednego PNG na stronę. Poniżej pętla iteruje po stronach, renderując każdą do osobnego pliku. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Dlaczego używamy bloku `using`?** `ImageRenderer` trzyma niezarządzane zasoby (np. uchwyty GDI+). Umieszczenie go w `using` zapewnia prawidłowe zwolnienie pamięci, zapobiegając wyciekom w długotrwale działających usługach. + +### Edge Cases & Tips + +- **Large Documents:** Renderowanie dokumentu o 200 stronach może być intensywne pod względem pamięci. Rozważ renderowanie w partiach lub zwiększenie właściwości `MaxMemoryUsage`, jeśli napotkasz `OutOfMemoryException`. +- **Transparent Backgrounds:** Jeśli Twój plik Word zawiera przezroczyste kształty i potrzebujesz przezroczystego PNG, ustaw `BackgroundColor = Color.Transparent` w `ImageRenderingOptions`. +- **Scaling:** Aby uzyskać miniaturkę, dostosuj `ImageSaveOptions` (np. `Resolution = 72`) lub zmień rozmiar wygenerowanego PNG przy użyciu `System.Drawing`. + +## Step 5: Wrap It Up in a Reusable Method + +Umieszczenie logiki konwersji w jednej metodzie ułatwia wywoływanie jej z dowolnego miejsca — czy to z API webowego, workera w tle, czy interfejsu desktopowego. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Teraz możesz wywołać: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +A metoda **save Word document as PNG** utworzy pliki o nazwach `page_1.png`, `page_2.png` itd. + +## Expected Output + +Uruchomienie przykładowego kodu na trzy‑stronnym `input.docx` wygeneruje: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Otwórz dowolny z tych PNG w przeglądarce obrazów — powinieneś zobaczyć wyraźny, antyaliasowany render odpowiadającej strony Word. Bez dodatkowych ramek, bez zniekształceń, po prostu wierna bitmapowa migawka. + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank PNG** | Dokument nie został wczytany (`doc` jest null) lub indeks strony jest poza zakresem. | Sprawdź ścieżkę pliku i upewnij się, że `doc.PageCount` > 0 przed renderowaniem. | +| **Jagged Text** | Antialiasing wyłączony lub DPI zbyt niskie. | Ustaw `UseAntialiasing = true` i opcjonalnie zwiększ `Resolution` (np. 150 DPI). | +| **Out‑of‑Memory** | Renderowanie bardzo dużych stron przy wysokim DPI w ciasnej pętli. | Renderuj jedną stronę na raz (jak pokazano) i szybko zwalniaj `ImageRenderer`. | +| **Incorrect Colors** | Domyślny kolor tła to biały; dokumenty z przezroczystością wyglądają na białe. | Ustaw `BackgroundColor = Color.Transparent`, gdy jest to potrzebne. | + +## Conclusion + +Właśnie pokazaliśmy czysty, gotowy do produkcji sposób na **convert Word document to PNG**, a co za tym idzie, **save Word document as PNG** przy użyciu Aspose.Words for .NET. Kroki są proste: + +1. Wczytaj `.docx` przy pomocy `Document`. +2. Dostosuj `ImageRenderingOptions` (antialiasing, DPI, tło). +3. Przejdź po stronach i wywołaj `ImageRenderer.RenderToFile`. + +Mając metodę `ConvertWordToPng`, możesz teraz wbudować podglądy obrazowe w dowolną aplikację C# — czy to usługa webowa generująca miniaturki dla przesłanych kontraktów, narzędzie desktopowe archiwizujące raporty jako PNG, czy zadanie wsadowe przygotowujące zasoby dla systemu zarządzania treścią. + +**Co dalej?** Spróbuj eksperymentować z innymi formatami obrazu (`ImageFormat.Jpeg`, `Bmp`) lub zbadaj `PdfSaveOptions`, jeśli potrzebujesz PDF obok PNG. Możesz także dodać znaki wodne lub dynamicznie zmieniać rozmiar wyjścia. + +Miłego kodowania i śmiało zostaw komentarz, jeśli napotkasz problemy! + +## Related Tutorials + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/polish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..bb17a7a2f --- /dev/null +++ b/html/polish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,294 @@ +--- +category: general +date: 2026-05-25 +description: Szybko twórz pliki PNG z HTML przy użyciu Aspose.HTML. Dowiedz się, jak + renderować HTML do PNG, konwertować HTML na PNG i efektywnie zarządzać zasobami. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: pl +og_description: Utwórz PNG z HTML za pomocą Aspose.HTML. Ten przewodnik pokazuje, + jak renderować HTML do PNG, konwertować HTML na PNG i prawidłowo obsługiwać zasoby. +og_title: Tworzenie PNG z HTML – Kompletny samouczek programowania +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Utwórz PNG z HTML – Pełny przewodnik krok po kroku +url: /pl/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Utwórz PNG z HTML – Pełny przewodnik krok po kroku + +Zastanawiałeś się kiedyś, jak **create PNG from HTML** bez używania wielu narzędzi firm trzecich? Nie jesteś jedyny. Niezależnie od tego, czy tworzysz generator podglądu e‑maili, pulpit nawigacyjny raportów, czy usługę miniatur, przekształcenie kodu HTML w wyraźny obraz PNG jest powszechną potrzebą. W tym samouczku przeprowadzimy Cię przez kompletny, gotowy do uruchomienia przykład, który **renders HTML to PNG**, pokaże Ci jak **convert HTML to PNG** przy użyciu Aspose.HTML, a także wyjaśni **how to handle resources** takie jak obrazy, CSS i czcionki. + +Zaczniemy od małego łańcucha HTML, skonfigurujemy własny `ResourceHandler`, który zapisuje każdy zewnętrzny zasób na dysk, i zakończymy zapisaniem idealnego pliku PNG. Po zakończeniu będziesz mieć samodzielne rozwiązanie, które możesz wstawić do dowolnego projektu .NET. + +## Co się nauczysz + +- Jak utworzyć `HTMLDocument` z łańcucha znaków lub pliku. +- Jak zaimplementować własny `ResourceHandler`, aby każdy zasób żądany przez renderer został zapisany lokalnie. +- Dokładne kroki do **render HTML to PNG** przy użyciu `ImageRenderer`. +- Typowe pułapki (brakujące czcionki, względne URL‑e) oraz najlepszy sposób **to handle resources**. +- Jak zweryfikować wynik i dostosować rozmiar lub format obrazu w razie potrzeby. + +### Wymagania wstępne + +- .NET 6.0 lub nowszy (kod działa również na .NET Framework 4.7+). +- Odwołanie do pakietu NuGet **Aspose.HTML for .NET**. +- Podstawowa znajomość C# i asynchronicznych strumieni (nie jest wymagana, ale przydatna). + +Bez zewnętrznych narzędzi, bez przeglądarek headless — tylko czysty C# i Aspose.HTML. + +--- + +## Utwórz PNG z HTML – Przegląd + +Poniżej znajduje się **complete, ready‑to‑run code**. Śmiało skopiuj‑wklej go do aplikacji konsolowej, dostosuj placeholder `YOUR_DIRECTORY` i naciśnij F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Zastąp `"YOUR_DIRECTORY"` ścieżką absolutną (np. `Path.GetFullPath("./output")`), aby uniknąć niespodzianek, gdy aplikacja uruchomi się z innego katalogu roboczego. + +## Krok 1: Przygotuj dokument HTML + +Pierwszą rzeczą, którą robimy, jest opakowanie surowego łańcucha HTML w `HTMLDocument`. Aspose.HTML traktuje ten obiekt jako w pełni funkcjonalny DOM, co oznacza, że rozwiązuje znaczniki ``, bloki ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Możesz zamienić ten ciąg na dowolny HTML — np. wynik widoku Razor lub konwersję Markdown‑to‑HTML. Ważne, aby dokument znał własny handler, który przekażemy później. + +--- + +## Opcje renderowania obrazu – precyzyjne dostrajanie antyaliasingu i hintingu czcionek + +Proste renderowanie działa, ale czasami potrzebny jest dodatkowy szlif: gładsze krawędzie, wyraźniejszy tekst lub prawidłowe pozycjonowanie sub‑pikselowe. To właśnie miejsce, w którym **opcje renderowania obrazu** błyszczą. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Co dzieje się pod maską?* +`ImageRenderingOptions` informuje renderer, której czcionki użyć i czy wygładzać kształty geometryczne. `TextOptions` koncentruje się na rasteryzacji glifów — hinting wyrównuje znaki do siatki pikseli, co jest szczególnie przydatne przy małych rozmiarach. + +--- + +## Renderowanie HTML z opcjami – zastosowanie ustawień renderowania + +Mając przygotowany dokument i opcje, możemy w końcu **renderować HTML z opcjami**. Wygenerujemy trzy pliki: + +1. Podstawowy PNG (bez dodatkowych opcji). +2. PNG z antyaliasingiem. +3. PNG z włączonym hintingiem. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Zauważ, że każdy `ImageRenderer` otrzymuje inny drugi argument: prosty handler, ustawienia antyaliasingu i ustawienia hintingu. Ten wzorzec pozwala wymieniać konfiguracje bez zmiany innego kodu — idealny do testów jednostkowych lub flag funkcji. + +> **Common question:** *„Czy mogę połączyć antyaliasing i hinting w jednym przebiegu?”* +> Oczywiście. Wystarczy utworzyć pojedynczy obiekt opcji, który ustawi zarówno `UseAntialiasing`, jak i `UseHinting` na `true`, a następnie przekazać go do `ImageRenderer`. + +--- + +## Weryfikacja wyniku – czego się spodziewać + +Po uruchomieniu programu otwórz trzy pliki PNG: + +- **out.png** – wierny zrzut HTML, ale krawędzie mogą wyglądać nieco poszarpane. +- **img.png** – gładsze linie i krzywe dzięki antyaliasingowi. +- **txt.png** – tekst wygląda ostrzej, szczególnie przy 12 pt Verdana, dzięki hintingu czcionek. + +Jeśli którykolwiek z obrazów wygląda nieprawidłowo, sprawdź ponownie, czy `YOUR_DIRECTORY/Resources` zawiera odwołany `logo.png`. Brakujące zasoby spowodują, że renderer użyje zastępczego placeholdera, co może wyglądać dziwnie. + +--- + +## Pełny działający przykład + +Poniżej znajduje się cały program, gotowy do skopiowania i wklejenia do aplikacji konsolowej. Zawiera wszystkie dyrektywy `using` oraz minimalną metodę `Main`. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Uruchom program, przejrzyj trzy pliki PNG i zobaczysz dokładnie, jak każda opcja wpływa na ostateczny obraz. Śmiało eksperymentuj — zmień czcionkę, przełącz `UseAntialiasing` lub dodaj więcej reguł CSS. Nie ma ograniczeń, gdy **konwertujesz HTML na obraz** na żądanie. + +--- + +## Kolejne kroki i powiązane tematy + +- **Przetwarzanie wsadowe:** Przejdź przez kolekcję fragmentów HTML i generuj miniatury dla każdego. +- **Konwersja do PDF:** Połącz PNG z biblioteką PDF (np. iTextSharp), aby stworzyć dokumenty wielostronicowe. +- **Dynamiczne zasoby:** Rozszerz `MyHandler`, aby pobierał obrazy z CDN lub bazy danych zamiast z systemu plików. +- **Optymalizacja wydajności:** Buforuj renderowane obrazy, gdy źródłowy HTML się nie zmienił; to znacząco zmniejsza obciążenie CPU. + +Jeśli interesuje Cię głębsza personalizacja, przyjrzyj się właściwości `RenderTransform` klasy `ImageRenderer` w celu rotacji lub skalowania, lub zbadaj ustawienia `CssEngine` dla zaawansowanej kontroli układu. + +--- + +## Zakończenie + +Omówiliśmy wszystko, co potrzebne, aby **renderować HTML do PNG** w C#: własny handler zasobów, ładowanie markupu, konfigurowanie *opcji renderowania obrazu* oraz w końcu **renderowanie HTML z opcjami**, które zapewniają antyaliasing i hinting czcionek. Pełny, gotowy do uruchomienia przykład powinien działać od razu, a modularna konstrukcja ułatwia adaptację do większych projektów. + +Spróbuj, dostosuj ustawienia i pozwól, aby renderowane obrazy mówiły za siebie w Twojej kolejnej kampanii e‑mailowej, dashboardzie lub narzędziu raportującym. Got + +## Powiązane samouczki + +- [Jak renderować HTML jako PNG – kompletny przewodnik C#](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Jak używać Aspose do renderowania HTML do PNG – przewodnik krok po kroku](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Tworzenie PNG z HTML – pełny przewodnik renderowania C#](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/portuguese/net/generate-jpg-and-png-images/_index.md index 25a4d8da7..acb781013 100644 --- a/html/portuguese/net/generate-jpg-and-png-images/_index.md +++ b/html/portuguese/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Aprenda a usar Aspose.HTML para .NET para manipular documentos HTML, converter H Aprenda a ativar antialiasing ao converter documentos DOCX em imagens PNG ou JPG usando Aspose.HTML para .NET. ### [Converter docx para png – criar arquivo zip em C# tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Aprenda a converter documentos DOCX em imagens PNG e compactá-los em um arquivo ZIP usando C# e Aspose.HTML. +### [Converter docx para png em C# – Guia Completo Passo a Passo](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Aprenda a converter arquivos DOCX em imagens PNG usando C# com Aspose.HTML, seguindo um guia completo passo a passo. +### [Criar PNG a partir de HTML – Guia Completo Passo a Passo](./create-png-from-html-full-step-by-step-guide/) +Aprenda a gerar arquivos PNG a partir de HTML com um tutorial detalhado, cobrindo todas as etapas necessárias usando Aspose.HTML para .NET. +### [Criar PNG a partir de HTML com Aspose – renderizar HTML para PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Aprenda a gerar imagens PNG a partir de HTML usando Aspose.HTML, cobrindo renderização e opções de configuração. +### [Converter documento Word para PNG – Guia completo de programação](./convert-word-document-to-png-complete-programming-guide/) +Aprenda a converter documentos Word em imagens PNG usando Aspose.HTML para .NET, com um guia completo passo a passo. +### [Renderizar HTML para PNG – Guia Completo com Manipuladores Personalizados e Opções](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Aprenda a renderizar HTML em PNG usando manipuladores personalizados e opções avançadas com Aspose.HTML para .NET. ## Conclusão diff --git a/html/portuguese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/portuguese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..00fa21c7c --- /dev/null +++ b/html/portuguese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Converta docx para png rapidamente usando C#. Aprenda como converter + Word em imagem, exportar Word como png e definir fonte personalizada em um único + tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: pt +og_description: Converter docx para png com C#. Este guia mostra como exportar o Word + como png e definir fonte personalizada para resultados perfeitos. +og_title: Converter docx para png em C# – Guia Completo de Programação +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Converter docx para png em C# – Guia completo passo a passo +url: /pt/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Converter docx para png em C# – Guia Completo Passo a Passo + +Já precisou **convert docx to png** mas não tinha certeza de qual biblioteca forneceria glifos limpos e fidelidade de página completa? Você não está sozinho. Em muitos projetos de automação de escritório, transformar um documento Word em uma imagem (pense em “convert word to image”) é a maneira mais rápida de incorporar conteúdo em uma página web ou e‑mail sem se preocupar com instalações do Office. + +Veja: a API Aspose.Words for .NET permite que você **export word as png** com apenas algumas linhas, e ainda pode **set custom font** para que a saída fique exatamente como o original. Neste tutorial vamos percorrer todo o processo — desde a instalação do pacote até a renderização do PNG final — para que você possa começar a **convert docx to png** hoje. + +## Converter docx para png – Visão Geral e Pré‑requisitos + +Antes de mergulharmos no código, vamos garantir que você tem tudo o que precisa: + +* **.NET 6.0 ou posterior** – o exemplo tem como alvo o .NET 6, mas versões anteriores também funcionam. +* **Aspose.Words for .NET** – um pacote NuGet que fornece `Document`, `TextOptions` e `ImageRenderer`. +* Um arquivo **sample DOCX** que você deseja transformar em uma imagem (coloque‑o em uma pasta que você possa referenciar). +* Opcional: uma **custom TrueType font** (por exemplo, Times New Roman) se você quiser substituir a fonte padrão do documento. + +Se você marcou todas essas caixas, está pronto para começar a **convert word to image** com confiança. + +## Instalar Aspose.Words for .NET (convert word to image) + +O primeiro passo é trazer a biblioteca para o seu projeto. Abra um terminal na pasta da solução e execute: + +```bash +dotnet add package Aspose.Words +``` + +Esse único comando adiciona a versão estável mais recente do Aspose.Words, que inclui a classe `ImageRenderer` que precisaremos para **export docx as png**. Depois que a restauração terminar, você está pronto para prosseguir. + +> **Dica profissional:** Se você estiver usando o Visual Studio, também pode adicionar o pacote via a interface do NuGet Package Manager — basta procurar por “Aspose.Words”. + +## Carregar o documento fonte (convert docx to png) + +Agora vamos carregar o arquivo DOCX. Este é o ponto onde o pipeline **convert docx to png** realmente começa. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` representa todo o arquivo Word na memória. O caminho pode ser absoluto ou relativo; apenas certifique-se de que o arquivo exista, caso contrário você receberá uma `FileNotFoundException`. + +## Configurar opções de renderização de texto (set custom font) + +Se o seu DOCX usar uma fonte que não está instalada na máquina de destino, o PNG renderizado pode ficar estranho. Por isso, muitas vezes você precisa **set custom font** antes de exportar. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` informa ao renderizador para aplicar sub‑pixel hinting, que aguça as bordas das letras — especialmente importante para PNGs de alta resolução. +* `FontInfo` força cada trecho de texto a ser desenhado com *Times New Roman* em 14 pt, independentemente do que o DOCX original especifica. Sinta‑se à vontade para substituir o nome por qualquer fonte que você tenha no servidor. + +## Criar um ImageRenderer (convert word to image) + +Com o documento e as opções prontos, instanciamos `ImageRenderer`. Esta classe faz o trabalho pesado de transformar páginas em imagens bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Algumas observações: + +* O bloco `using` garante que o renderizador libere recursos nativos (como handles GDI) prontamente. +* `RenderToFile` aceita um caminho e um `ImageFormat`. Se precisar de todas as páginas, você pode percorrer `renderer.PageCount` e chamar `RenderToFile` com um nome de arquivo específico para cada página. + +## Verificar a saída (export docx as png) + +Depois que o código for executado, você deverá ver `hinted.png` na pasta especificada. Abra‑o com qualquer visualizador de imagens — o texto parece nítido? Se você usou uma fonte personalizada, notará a tipografia consistente em toda a página. + +Aqui está uma referência visual rápida (substitua pela sua captura de tela ao publicar): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Texto alternativo:* **convert docx to png example output** – uma renderização PNG de uma página Word com fonte Times New Roman. + +Se a imagem parecer borrada, verifique novamente se `UseHinting` está definido como `true` e se o DPI do renderizador (padrão 96) corresponde às suas necessidades. Você pode ajustar o DPI via `renderer.ImageOptions.Resolution = 300;` antes de chamar `RenderToFile`. + +## Programa completo e executável (export word as png) + +Juntando tudo, aqui está um aplicativo console autônomo que você pode copiar‑colar em `Program.cs` e executar: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**O que este programa faz:** + +1. Carrega `input.docx`. +2. Força cada caractere a usar *Times New Roman* em 14 pt com hinting habilitado. +3. Renderiza a primeira página a 300 DPI, produzindo um PNG de alta qualidade. +4. Exibe uma mensagem amigável no console confirmando o sucesso. + +Execute‑o com `dotnet run` e você terá uma imagem perfeitamente renderizada pronta para exibição web, incorporação em PDF ou qualquer outro cenário onde você precise **convert docx to png** sem a sobrecarga do Office. + +## Perguntas comuns e tratamento de casos extremos + +* **E se eu precisar de todas as páginas?** + Percorra `renderer.PageCount` e chame `RenderToFile` com um nome de arquivo que inclua o número da página, por exemplo, `output_page_{i}.png`. + +* **Posso exportar para outros formatos de imagem?** + Claro. Substitua `ImageFormat.Png` por `ImageFormat.Jpeg`, `ImageFormat.Bmp` ou `ImageFormat.Tiff` dependendo dos seus requisitos posteriores. + +* **Meu documento usa fontes incorporadas — ainda preciso de `set custom font`?** + Se o DOCX já incorpora as fontes que você deseja, pode pular a propriedade `Font`. O renderizador respeitará a fonte incorporada automaticamente. + +* **Como lidar com documentos grandes sem esgotar a memória?** + Processar uma página por vez dentro do bloco `using` e descartar cada bitmap gerado após a gravação. Isso mantém o uso de memória baixo. + +* **Existe alguma preocupação de licenciamento?** + Aspose.Words oferece um teste gratuito com marca d'água. Para uso em produção, adquira uma licença e chame `License license = new License(); license.SetLicense("Aspose.Words.lic");` antes de carregar o documento. + +## Conclusão + +Agora você tem uma receita completa e pronta para produção para **convert docx to png** usando C#. O guia abordou tudo, desde a instalação do Aspose.Words (a biblioteca de referência para **convert word to image**) até a configuração de `TextOptions` para um cenário de **set custom font**, e finalmente a renderização do arquivo de imagem. Com esse conhecimento você pode **export word as png**, incorporá‑lo em páginas web, gerar miniaturas ou alimentá‑lo em qualquer pipeline de processamento de imagens. + +Qual o próximo passo? Tente exportar várias páginas, experimente diferentes configurações de DPI ou altere o formato de saída para + +## Tutoriais Relacionados + +- [Como habilitar antialiasing ao converter DOCX para PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Converter HTML para PNG em .NET com Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – criar arquivo zip tutorial c#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/portuguese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/portuguese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..2c4e26143 --- /dev/null +++ b/html/portuguese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Aprenda a converter documentos do Word para PNG rapidamente. Este tutorial + também mostra como salvar documentos do Word como PNG com antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: pt +og_description: Converta documento Word para PNG com algumas linhas de C#. Siga este + guia para salvar documento Word como PNG de forma eficiente. +og_title: Converter documento Word para PNG – Guia passo a passo +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Converter documento Word para PNG – Guia completo de programação +url: /pt/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Converter Documento Word para PNG – Guia Completo de Programação + +Já precisou **converter documento Word para PNG** mas não sabia qual biblioteca ou configuração usar? Você não está sozinho. Em muitos projetos de automação de escritório acaba sendo necessário obter uma imagem rasterizada de um arquivo `.docx` — talvez para miniaturas, inserções em e‑mail ou verificações visuais rápidas. A boa notícia é que, com algumas linhas de C#, você também pode **salvar documento Word como PNG** sem nenhum ajuste manual. + +Neste tutorial vamos percorrer um exemplo real usando Aspose.Words para .NET. Cobriremos tudo, desde o carregamento do arquivo fonte, ajuste das opções de renderização de imagem para obter saída nítida, até a gravação do arquivo PNG no disco. Ao final, você terá um método reutilizável que pode ser inserido em qualquer projeto .NET. + +## Pré‑requisitos + +Antes de começar, certifique‑se de que você tem: + +- **.NET 6.0** ou superior (o código também funciona no .NET Framework 4.6+). +- Uma cópia **licenciada** do **Aspose.Words para .NET** (a versão de avaliação gratuita serve para testes). +- Visual Studio 2022 ou qualquer IDE de sua preferência. +- Um arquivo Word de exemplo (`input.docx`) colocado em uma pasta que você possa referenciar. + +Nenhum outro pacote de terceiros é necessário. + +## Etapa 1: Configurar o Projeto e Importar Namespaces + +Primeiro, crie um novo aplicativo console (ou integre em um serviço existente). Em seguida, adicione o pacote NuGet Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Agora importe os namespaces necessários no seu arquivo: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Dica profissional:** Se você estiver mirando .NET 6+, pode usar o recurso de declarações de nível superior e pular o boilerplate do método `Main`. + +## Etapa 2: Carregar o Documento Word Fonte + +O primeiro passo real no pipeline de conversão é carregar o documento que você deseja rasterizar. Aspose.Words suporta `.doc`, `.docx`, `.rtf` e muitos outros formatos, então você não está limitado aos tipos de arquivo clássicos do Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Por que verificamos `PageCount`? Porque um documento com zero páginas geraria um PNG vazio, o que costuma ser uma falha silenciosa que atrapalha o código subsequente. + +## Etapa 3: Configurar Opções de Renderização de Imagem + +Ao converter conteúdo Word baseado em vetor para bitmap, você notará bordas serrilhadas se permanecer com as configurações padrão. Habilitar antialiasing suaviza essas linhas, especialmente para gráficos, formas e texto em tamanhos pequenos. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Você pode se perguntar: “Preciso sempre de antialiasing?” Normalmente, sim, a menos que você esteja gerando ícones minúsculos onde desempenho supera a fidelidade visual. + +## Etapa 4: Renderizar Cada Página em um Arquivo PNG Separado + +Um documento Word pode conter várias páginas. Aspose.Words permite renderizar o documento inteiro como uma única imagem, mas o padrão mais comum é gerar um PNG por página. A seguir, percorreremos as páginas, renderizando cada uma em seu próprio arquivo. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Por que usar um bloco `using`?** O `ImageRenderer` mantém recursos não gerenciados (como handles GDI+). Envolvê‑lo em `using` garante a limpeza correta, evitando vazamentos de memória em serviços de longa execução. + +### Casos de Borda & Dicas + +- **Documentos Grandes:** Renderizar um documento de 200 páginas pode consumir muita memória. Considere renderizar em lotes ou aumentar a propriedade `MaxMemoryUsage` se encontrar `OutOfMemoryException`. +- **Fundos Transparentes:** Se seu arquivo Word contém formas transparentes e você deseja um PNG transparente, defina `BackgroundColor = Color.Transparent` em `ImageRenderingOptions`. +- **Escala:** Para produzir uma miniatura, ajuste `ImageSaveOptions` (por exemplo, `Resolution = 72`) ou redimensione o PNG resultante com `System.Drawing`. + +## Etapa 5: Encapsular em um Método Reutilizável + +Ter a lógica de conversão em um único método facilita a chamada a partir de qualquer lugar — seja uma API web, um worker em segundo plano ou uma interface desktop. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Agora você pode chamar: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +E o método **salvará documento Word como PNG** com nomes `page_1.png`, `page_2.png`, etc. + +## Saída Esperada + +Executar o código de exemplo em um `input.docx` de três páginas produzirá: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Abra qualquer um desses PNGs em um visualizador de imagens — você verá uma renderização nítida e antialiasada da página Word correspondente. Sem bordas extras, sem distorções, apenas uma captura bitmap fiel. + +## Armadilhas Comuns e Como Evitá‑las + +| Problema | Por que Acontece | Solução | +|----------|------------------|---------| +| **PNG em Branco** | O documento não foi carregado (`doc` é nulo) ou o índice da página está fora do intervalo. | Verifique o caminho do arquivo e assegure que `doc.PageCount` > 0 antes de renderizar. | +| **Texto Serrilhado** | Antialiasing desativado ou DPI muito baixo. | Defina `UseAntialiasing = true` e, opcionalmente, aumente `Resolution` (ex.: 150 DPI). | +| **Out‑of‑Memory** | Renderização de páginas muito grandes em alta DPI dentro de um loop apertado. | Renderize uma página por vez (como mostrado) e descarte o `ImageRenderer` imediatamente. | +| **Cores Incorretas** | A cor de fundo padrão é branca; documentos transparentes aparecem brancos. | Defina `BackgroundColor = Color.Transparent` quando necessário. | + +## Conclusão + +Acabamos de demonstrar uma forma limpa e pronta para produção de **converter documento Word para PNG** e, por extensão, **salvar documento Word como PNG** usando Aspose.Words para .NET. Os passos são diretos: + +1. Carregue o `.docx` com `Document`. +2. Ajuste `ImageRenderingOptions` (antialiasing, DPI, fundo). +3. Percorra as páginas e chame `ImageRenderer.RenderToFile`. + +Com o método reutilizável `ConvertWordToPng`, você pode agora integrar pré‑visualizações baseadas em imagem em qualquer aplicação C# — seja um serviço web que gera miniaturas de contratos enviados, uma ferramenta desktop que arquiva relatórios como PNG, ou um job em lote que prepara ativos para um sistema de gerenciamento de conteúdo. + +**Próximos passos?** Experimente outros formatos de imagem (`ImageFormat.Jpeg`, `Bmp`) ou explore `PdfSaveOptions` se precisar de um PDF além dos PNGs. Você também pode adicionar marcas d'água ou redimensionar a saída dinamicamente. + +Boa codificação, e sinta‑se à vontade para deixar um comentário caso encontre algum obstáculo! + +## Tutoriais Relacionados + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/portuguese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..3f146363c --- /dev/null +++ b/html/portuguese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Crie PNG a partir de HTML rapidamente usando Aspose.HTML. Aprenda a renderizar + HTML para PNG, converter HTML em PNG e lidar com recursos de forma eficiente. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: pt +og_description: Crie PNG a partir de HTML com Aspose.HTML. Este guia mostra como renderizar + HTML para PNG, converter HTML em PNG e lidar adequadamente com recursos. +og_title: Criar PNG a partir de HTML – Tutorial Completo de Programação +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Criar PNG a partir de HTML – Guia Completo Passo a Passo +url: /pt/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Criar PNG a partir de HTML – Guia Completo Passo a Passo + +Já se perguntou como **create PNG from HTML** sem precisar de várias ferramentas de terceiros? Você não está sozinho. Seja construindo um gerador de pré‑visualização de e‑mail, um painel de relatórios ou um serviço de miniaturas, transformar marcação HTML em uma imagem PNG nítida é uma necessidade comum. Neste tutorial vamos percorrer um exemplo completo e executável que **renders HTML to PNG**, mostra como **convert HTML to PNG** com Aspose.HTML e ainda explica **how to handle resources** como imagens, CSS e fontes. + +Começaremos com uma pequena string HTML, configuraremos um `ResourceHandler` personalizado que grava cada recurso externo em disco e finalizaremos salvando um arquivo PNG perfeito. Ao final, você terá uma solução autônoma que pode ser inserida em qualquer projeto .NET. + +## O que você aprenderá + +- Como criar um `HTMLDocument` a partir de uma string ou arquivo. +- Como implementar um `ResourceHandler` personalizado para que cada recurso solicitado pelo renderizador seja salvo localmente. +- Os passos exatos para **render HTML to PNG** usando `ImageRenderer`. +- Armadilhas comuns (fonts ausentes, URLs relativas) e a melhor forma **to handle resources**. +- Como verificar a saída e ajustar o tamanho ou formato da imagem, se necessário. + +### Pré‑requisitos + +- .NET 6.0 ou superior (o código também funciona no .NET Framework 4.7+). +- Uma referência ao pacote NuGet **Aspose.HTML for .NET**. +- Familiaridade básica com C# e streams assíncronos (não obrigatório, mas útil). + +Nenhuma ferramenta externa, nenhum navegador headless — apenas C# puro e Aspose.HTML. + +--- + +## Criar PNG a partir de HTML – Visão Geral + +Abaixo está o **complete, ready‑to‑run code**. Sinta‑se à vontade para copiar‑colar em um aplicativo console, ajustar o placeholder `YOUR_DIRECTORY` e pressionar F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Substitua `"YOUR_DIRECTORY"` por um caminho absoluto (por exemplo, `Path.GetFullPath("./output")`) para evitar surpresas quando o aplicativo for executado a partir de um diretório de trabalho diferente. + +--- + +## Passo 1: Preparar o Documento HTML + +A primeira coisa que fazemos é envolver uma string HTML bruta em um `HTMLDocument`. Aspose.HTML trata esse objeto como um DOM totalmente funcional, o que significa que ele resolverá tags ``, blocos ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Você pode substituir a string por qualquer HTML que desejar — talvez a saída de uma view Razor ou uma conversão de Markdown‑para‑HTML. A parte importante é que o documento conhece o manipulador personalizado que passaremos adiante. + +--- + +## Opções de Renderização de Imagem – Ajustando Antialiasing e Hinting de Fonte + +A renderização simples funciona, mas às vezes você precisa daquele toque extra: bordas mais suaves, texto mais claro ou posicionamento sub‑pixel correto. É aqui que as **opções de renderização de imagem** brilham. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*O que está acontecendo nos bastidores?* +`ImageRenderingOptions` informa ao renderizador qual fonte usar e se deve suavizar formas geométricas. `TextOptions` foca em como os glifos são rasterizados — o hinting alinha os caracteres à grade de pixels, o que é especialmente útil em tamanhos pequenos. + +--- + +## Renderizar HTML com Opções – Aplicando Configurações de Renderização + +Com o documento e as opções preparados, podemos finalmente **renderizar HTML com opções**. Vamos gerar três arquivos: + +1. Um PNG básico (sem opções extras). +2. Um PNG com antialiasing. +3. Um PNG com hinting ativado. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Observe como cada `ImageRenderer` recebe um segundo argumento diferente: o manipulador simples, as configurações de antialiasing e as configurações de hinting. Esse padrão permite trocar configurações sem alterar nenhum outro código — perfeito para testes unitários ou feature flags. + +> **Pergunta comum:** *“Posso combinar antialiasing e hinting em um único passe?”* +> Absolutamente. Basta criar um único objeto de opções que defina tanto `UseAntialiasing` quanto `UseHinting` como `true`, e então passá‑lo para `ImageRenderer`. + +--- + +## Verificar a Saída – O que Esperar + +Depois de executar o programa, abra os três arquivos PNG: + +- **out.png** – uma captura fiel do HTML, mas as bordas podem parecer um pouco serrilhadas. +- **img.png** – linhas e curvas mais suaves graças ao antialiasing. +- **txt.png** – o texto aparece mais nítido, especialmente em Verdana 12 pt, por causa do hinting de fonte. + +Se alguma das imagens parecer errada, verifique se `YOUR_DIRECTORY/Resources` contém o `logo.png` referenciado. Recursos ausentes farão o renderizador recorrer a um placeholder, que pode ficar estranho. + +--- + +## Exemplo Completo Funcional + +Abaixo está o programa inteiro, pronto para copiar‑colar em um aplicativo console. Inclui todas as diretivas `using` e um método `Main` minimalista. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Execute o programa, inspecione os três PNGs e você verá exatamente como cada opção influencia a imagem final. Sinta‑se à vontade para experimentar — altere a fonte, ative ou desative `UseAntialiasing`, ou adicione mais regras CSS. O céu é o limite quando você **converte HTML em imagem** sob demanda. + +--- + +## Próximos Passos & Tópicos Relacionados + +- **Processamento em lote:** Percorra uma coleção de trechos HTML e gere miniaturas para cada um. +- **Conversão para PDF:** Combine os PNGs com uma biblioteca PDF (ex.: iTextSharp) para produzir documentos multipágina. +- **Recursos dinâmicos:** Amplie `MyHandler` para buscar imagens de um CDN ou banco de dados ao invés do sistema de arquivos. +- **Ajuste de desempenho:** Cacheie imagens renderizadas quando o HTML de origem não mudou; isso reduz drasticamente a carga de CPU. + +Se você quiser personalizações mais avançadas, explore a propriedade `RenderTransform` de `ImageRenderer` para rotação ou escala, ou investigue as configurações do `CssEngine` para controle avançado de layout. + +--- + +## Conclusão + +Cobremos tudo que você precisa para **renderizar HTML para PNG** em C#: um manipulador de recursos personalizado, carregamento de markup, configuração de *opções de renderização de imagem* e, finalmente, **renderizar HTML com opções** que fornecem antialiasing e hinting de fonte. O exemplo completo e executável deve funcionar imediatamente, e o design modular facilita a adaptação a projetos maiores. + +Experimente, ajuste as configurações e deixe as imagens renderizadas falarem por você na sua próxima campanha de e‑mail, painel ou ferramenta de relatórios. Got + +## Tutoriais Relacionados + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/russian/net/generate-jpg-and-png-images/_index.md index 74f005949..0860d097e 100644 --- a/html/russian/net/generate-jpg-and-png-images/_index.md +++ b/html/russian/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Aspose.HTML для .NET предлагает простой метод прео Узнайте, как включить сглаживание при преобразовании DOCX в PNG или JPG с помощью Aspose.HTML для .NET. ### [Конвертация DOCX в PNG – создание ZIP-архива на C#](./convert-docx-to-png-create-zip-archive-c-tutorial/) Узнайте, как преобразовать файлы DOCX в PNG и упаковать их в ZIP-архив с помощью C# и Aspose.HTML. +### [Создание PNG из HTML – Полное пошаговое руководство](./create-png-from-html-full-step-by-step-guide/) +Подробное руководство по созданию PNG‑изображений из HTML с использованием Aspose.HTML для .NET. +### [Создание PNG из HTML с Aspose.HTML – рендеринг HTML в PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Узнайте, как с помощью Aspose.HTML преобразовать HTML‑страницу в PNG‑изображение. +### [Конвертация Word‑документа в PNG – Полное руководство по программированию](./convert-word-document-to-png-complete-programming-guide/) +Узнайте, как преобразовать документы Word в PNG‑изображения с помощью Aspose.HTML для .NET, следуя полному пошаговому руководству. +### [Конвертация DOCX в PNG в C# – Полное пошаговое руководство](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Подробное пошаговое руководство по конвертации DOCX в PNG с использованием C# и Aspose.HTML. +### [Рендеринг HTML в PNG – Полное руководство с пользовательскими обработчиками и параметрами](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Подробное руководство по рендерингу HTML в PNG с использованием пользовательских обработчиков и настройкой параметров вывода. ## Заключение diff --git a/html/russian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/russian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..9f0925720 --- /dev/null +++ b/html/russian/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Быстро преобразуйте docx в png с помощью C#. Узнайте, как конвертировать + Word в изображение, экспортировать Word как png и установить пользовательский шрифт + в одном руководстве. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: ru +og_description: Конвертировать docx в png с помощью C#. Это руководство покажет, как + экспортировать Word в PNG и установить пользовательский шрифт для идеального результата. +og_title: Преобразовать docx в png на C# – Полное руководство по программированию +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Конвертировать docx в png на C# – Полное пошаговое руководство +url: /ru/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Конвертация docx в png на C# – Полное пошаговое руководство + +Когда‑нибудь вам нужно было **convert docx to png**, но вы не знали, какая библиотека даст чистые глифы и полную точность страниц? Вы не одиноки. Во многих проектах автоматизации офисных процессов преобразование Word‑документа в изображение (например, “convert word to image”) — самый быстрый способ встроить содержимое в веб‑страницу или письмо, не беспокоясь об установке Office. + +Дело в том, что API Aspose.Words for .NET позволяет **export word as png** всего несколькими строками кода, и вы даже можете **set custom font**, чтобы результат выглядел точно как оригинал. В этом руководстве мы пройдем весь процесс — от установки пакета до рендеринга финального PNG — чтобы вы могли сразу начать **convert docx to png**. + +## Convert docx to png – Обзор и требования + +Прежде чем перейти к коду, убедитесь, что у вас есть всё необходимое: + +* **.NET 6.0 или новее** — пример ориентирован на .NET 6, но работают и более ранние версии. +* **Aspose.Words for .NET** — пакет NuGet, предоставляющий `Document`, `TextOptions` и `ImageRenderer`. +* **sample DOCX** файл, который вы хотите превратить в изображение (разместите его в папке, к которой можете обратиться). +* Необязательно: **custom TrueType font** (например, Times New Roman), если хотите переопределить шрифт по умолчанию в документе. + +Если все пункты отмечены, вы готовы уверенно **convert word to image**. + +## Install Aspose.Words for .NET (convert word to image) + +Первый шаг — добавить библиотеку в проект. Откройте терминал в папке решения и выполните: + +```bash +dotnet add package Aspose.Words +``` + +Эта единственная команда установит последнюю стабильную версию Aspose.Words, включающую класс `ImageRenderer`, который нам понадобится для **export docx as png**. После завершения восстановления вы готовы работать. + +> **Pro tip:** Если вы используете Visual Studio, можно добавить пакет через UI NuGet Package Manager — просто найдите “Aspose.Words”. + +## Load the source document (convert docx to png) + +Теперь загрузим файл DOCX. Здесь фактически начинается конвейер **convert docx to png**. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` представляет весь Word‑файл в памяти. Путь может быть абсолютным или относительным; просто убедитесь, что файл существует, иначе вы получите `FileNotFoundException`. + +## Configure text rendering options (set custom font) + +Если ваш DOCX использует шрифт, который не установлен на целевой машине, полученный PNG может выглядеть некорректно. Поэтому часто требуется **set custom font** перед экспортом. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` заставляет рендерер применять субпиксельное хинтинг, что делает края букв более чёткими — особенно важно для PNG высокого разрешения. +* `FontInfo` принудительно рисует весь текст *Times New Roman* размером 14 pt, независимо от того, что указано в оригинальном DOCX. Замените название шрифта на любой, доступный на сервере. + +## Create an ImageRenderer (convert word to image) + +С готовыми документом и параметрами создаём `ImageRenderer`. Этот класс делает тяжёлую работу по превращению страниц в растровые изображения. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Несколько замечаний: + +* Блок `using` гарантирует, что рендерер своевременно освобождает нативные ресурсы (например, дескрипторы GDI). +* `RenderToFile` принимает путь и `ImageFormat`. Если нужны все страницы, можно пройтись в цикле по `renderer.PageCount` и вызвать `RenderToFile` с именем файла, включающим номер страницы. + +## Verify the output (export docx as png) + +После выполнения кода вы должны увидеть `hinted.png` в указанной папке. Откройте его в любой программе‑просмотрщике — выглядит ли текст чётко? Если вы использовали пользовательский шрифт, вы заметите единообразный типографический стиль на всей странице. + +Ниже пример визуального результата (замените своей скриншотом при публикации): + +![convert docx to png example output](https://example.com/assets/convert-docx-to-png.png "convert docx to png example output") + +*Alt text:* **convert docx to png example output** – PNG‑рендеринг страницы Word с шрифтом Times New Roman. + +Если изображение выглядит размытым, проверьте, что `UseHinting` установлен в `true` и что DPI рендерера (по умолчанию 96) соответствует вашим требованиям. DPI можно изменить через `renderer.ImageOptions.Resolution = 300;` перед вызовом `RenderToFile`. + +## Full, runnable program (export word as png) + +Объединив всё вместе, получаем автономное консольное приложение, которое можно скопировать в `Program.cs` и запустить: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Что делает эта программа:** + +1. Загружает `input.docx`. +2. Принудительно задаёт каждому символу *Times New Roman* 14 pt с включённым хинтингом. +3. Рендерит первую страницу с 300 DPI, создавая PNG высокого качества. +4. Выводит в консоль дружелюбное сообщение о успешном завершении. + +Запустите её командой `dotnet run`, и у вас будет идеально отрендеренное изображение, готовое для веб‑отображения, встраивания в PDF или любой другой сценарий, где требуется **convert docx to png** без накладных расходов Office. + +## Common questions and edge‑case handling + +* **What if I need all pages?** + Пройдитесь в цикле по `renderer.PageCount` и вызывайте `RenderToFile` с именем файла, включающим номер страницы, например `output_page_{i}.png`. + +* **Can I export to other image formats?** + Конечно. Замените `ImageFormat.Png` на `ImageFormat.Jpeg`, `ImageFormat.Bmp` или `ImageFormat.Tiff` в зависимости от ваших downstream‑требований. + +* **My document uses embedded fonts—do I still need `set custom font`?** + Если DOCX уже содержит нужные шрифты, можно пропустить свойство `Font`. Рендерер автоматически использует встроенный шрифт. + +* **How do I handle large documents without exhausting memory?** + Обрабатывайте по одной странице внутри блока `using` и освобождайте каждый созданный bitmap после сохранения. Это снижает потребление памяти. + +* **Is there a licensing concern?** + Aspose.Words предлагает бесплатную пробную версию с водяным знаком. Для продакшн‑использования приобретите лицензию и вызовите `License license = new License(); license.SetLicense("Aspose.Words.lic");` перед загрузкой документа. + +## Conclusion + +Теперь у вас есть полностью готовый к продакшну рецепт для **convert docx to png** на C#. Руководство охватывало всё: от установки Aspose.Words (библиотека‑выбор для **convert word to image**) до настройки `TextOptions` в сценарии **set custom font**, и, наконец, рендеринга файла изображения. С этими знаниями вы можете **export word as png**, встраивать его в веб‑страницы, генерировать миниатюры или передавать в любой конвейер обработки изображений. + +Что дальше? Попробуйте экспортировать несколько страниц, поэкспериментируйте с различными настройками DPI или переключите формат вывода на + +## Related Tutorials + +- [Как включить сглаживание при конвертации DOCX в PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Конвертация HTML в PNG в .NET с Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – создание zip‑архива c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/russian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/russian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..2c0dd3582 --- /dev/null +++ b/html/russian/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-05-25 +description: Узнайте, как быстро конвертировать документ Word в PNG. Этот учебник + также показывает, как сохранить документ Word в формате PNG с антиалиасингом. +draft: false +keywords: +- convert word document to png +- save word document as png +language: ru +og_description: Конвертируйте документ Word в PNG с помощью нескольких строк кода + C#. Следуйте этому руководству, чтобы эффективно сохранять документ Word в формате + PNG. +og_title: Конвертировать документ Word в PNG – пошаговое руководство +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Преобразование документа Word в PNG – Полное руководство по программированию +url: /ru/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Конвертация Word документа в PNG – Полное руководство по программированию + +Когда‑нибудь вам нужно было **конвертировать Word документ в PNG**, но вы не знали, какую библиотеку или настройки выбрать? Вы не одиноки. Во многих проектах автоматизации офисных процессов вам требуется растровое изображение файла `.docx` — возможно, для миниатюрных превью, встраивания в электронную почту или быстрых визуальных проверок. Хорошая новость в том, что с помощью нескольких строк C# вы также можете **сохранить Word документ как PNG** без ручных манипуляций. + +В этом руководстве мы пройдем реальный пример с использованием Aspose.Words for .NET. Мы охватим всё: от загрузки исходного файла, настройки параметров рендеринга изображения для чёткого вывода, до записи PNG‑файла на диск. К концу у вас будет переиспользуемый метод, который можно добавить в любой .NET‑проект. + +## Требования + +- **.NET 6.0** или новее (код также работает на .NET Framework 4.6+). +- **Лицензированная** копия **Aspose.Words for .NET** (бесплатная пробная версия подходит для тестирования). +- Visual Studio 2022 или любая предпочитаемая IDE. +- Пример Word‑файла (`input.docx`), размещённый в папке, к которой вы можете обратиться. + +Другие сторонние пакеты не требуются. + +## Шаг 1: Настройка проекта и импорт пространств имён + +Для начала создайте новое консольное приложение (или интегрируйте в существующий сервис). Затем добавьте пакет Aspose.Words через NuGet: + +```bash +dotnet add package Aspose.Words +``` + +Теперь подключите необходимые пространства имён в ваш файл: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** если вы нацелены на .NET 6+, можете использовать возможность top‑level statements и избавиться от шаблонного метода `Main`. + +## Шаг 2: Загрузка исходного Word документа + +Первый реальный шаг в конвейере конвертации — загрузить документ, который вы хотите растрировать. Aspose.Words поддерживает `.doc`, `.docx`, `.rtf` и многие другие форматы, поэтому вы не ограничены классическими типами файлов Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Зачем мы проверяем `PageCount`? Потому что документ с нулевым количеством страниц создаст пустой PNG, что часто является тихой ошибкой, сбивающей последующий код. + +## Шаг 3: Настройка параметров рендеринга изображения + +При конвертации векторного содержимого Word в растровое изображение вы заметите зубчатые края, если оставите настройки по умолчанию. Включение сглаживания (antialiasing) делает линии более плавными, особенно для диаграмм, фигур и мелкого текста. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Вы можете задаться вопросом: «Нужно ли всегда включать antialiasing?» Как правило, да, если только вы не генерируете крошечные иконки, где производительность важнее визуального качества. + +## Шаг 4: Рендеринг каждой страницы в отдельный PNG‑файл + +Word‑документ может содержать несколько страниц. Aspose.Words позволяет отрендерить весь документ в одно изображение, но более распространённый подход — генерировать отдельный PNG для каждой страницы. Ниже мы пройдемся по страницам в цикле, рендеря каждую в свой файл. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Зачем использовать блок `using`?** `ImageRenderer` удерживает неуправляемые ресурсы (например, дескрипторы GDI+). Оборачивание его в `using` гарантирует корректную очистку, предотвращая утечки памяти в длительно работающих сервисах. + +### Особые случаи и рекомендации + +- **Большие документы:** Рендеринг 200‑страничного документа может потребовать много памяти. Рассмотрите возможность рендеринга пакетами или увеличьте свойство `MaxMemoryUsage`, если столкнётесь с `OutOfMemoryException`. +- **Прозрачный фон:** Если ваш Word‑файл содержит прозрачные фигуры и вам нужен прозрачный PNG, задайте `BackgroundColor = Color.Transparent` в `ImageRenderingOptions`. +- **Масштабирование:** Чтобы создать миниатюру, настройте `ImageSaveOptions` (например, `Resolution = 72`) или измените размер полученного PNG с помощью `System.Drawing`. + +## Шаг 5: Объединение в переиспользуемый метод + +Размещение логики конвертации в одном методе упрощает вызов из любого места — будь то веб‑API, фоновой процесс или настольный UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Теперь вы можете вызвать: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +И метод **сохранит Word документ как PNG** файлы с именами `page_1.png`, `page_2.png` и т.д. + +## Ожидаемый результат + +Запуск примера кода на трёхстраничном `input.docx` создаст: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Откройте любой из этих PNG в просмотрщике изображений — вы должны увидеть чёткое, сглаженное изображение соответствующей страницы Word. Без лишних рамок, без искажений, просто достоверный растровый снимок. + +## Распространённые подводные камни и как их избежать + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| **Пустой PNG** | Документ не загрузился (`doc` is null) или индекс страницы вне диапазона. | Проверьте путь к файлу и убедитесь, что `doc.PageCount` > 0 перед рендерингом. | +| **Зубчатый текст** | Сглаживание отключено или DPI слишком низкое. | Установите `UseAntialiasing = true` и при необходимости увеличьте `Resolution` (например, 150 DPI). | +| **Недостаток памяти** | Рендеринг очень больших страниц при высоком DPI в тесном цикле. | Рендерьте по одной странице (как показано) и своевременно освобождайте `ImageRenderer`. | +| **Неправильные цвета** | Цвет фона по умолчанию белый; прозрачные документы выглядят белыми. | Установите `BackgroundColor = Color.Transparent`, если необходимо. | + +## Заключение + +Мы только что продемонстрировали чистый, готовый к продакшену способ **конвертировать Word документ в PNG** и, соответственно, **сохранить Word документ как PNG** с помощью Aspose.Words for .NET. Шаги просты: + +1. Загрузите `.docx` с помощью `Document`. +2. Настройте `ImageRenderingOptions` (сглаживание, DPI, фон). +3. Пройдитесь по страницам и вызовите `ImageRenderer.RenderToFile`. + +Обладая переиспользуемым методом `ConvertWordToPng`, вы теперь можете интегрировать превью на основе изображений в любое C#‑приложение — будь то веб‑сервис, генерирующий миниатюры для загруженных контрактов, настольный инструмент, архивирующий отчёты в PNG, или пакетная задача, подготавливающая ресурсы для системы управления контентом. + +**Что дальше?** Попробуйте поэкспериментировать с другими форматами изображений (`ImageFormat.Jpeg`, `Bmp`) или изучите `PdfSaveOptions`, если нужен PDF вместе с PNG. Вы также можете добавить водяные знаки или изменять размер вывода на лету. + +Удачной разработки, и не стесняйтесь оставлять комментарии, если столкнётесь с проблемами! + +## Связанные руководства + +- [конвертация docx в png – создание zip‑архива c# руководство](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Как включить сглаживание при конвертации DOCX в PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Как использовать Aspose для рендеринга HTML в PNG – пошаговое руководство](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/russian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..b38db9a99 --- /dev/null +++ b/html/russian/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Создавайте PNG из HTML быстро с помощью Aspose.HTML. Узнайте, как рендерить + HTML в PNG, конвертировать HTML в PNG и эффективно управлять ресурсами. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: ru +og_description: Создайте PNG из HTML с помощью Aspose.HTML. Это руководство показывает, + как отрисовать HTML в PNG, преобразовать HTML в PNG и правильно обрабатывать ресурсы. +og_title: Создайте PNG из HTML – Полный учебник по программированию +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Создание PNG из HTML – Полное пошаговое руководство +url: /ru/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Создание PNG из HTML – Полное пошаговое руководство + +Когда‑то задавались вопросом, как **create PNG from HTML** без использования кучи сторонних инструментов? Вы не одиноки. Будь то генератор превью писем, панель отчётов или сервис миниатюр, преобразование разметки HTML в чёткое PNG‑изображение – частая потребность. В этом руководстве мы пройдём через полностью готовый, исполняемый пример, который **renders HTML to PNG**, покажет, как **convert HTML to PNG** с помощью Aspose.HTML, и даже объяснит **how to handle resources** такие как изображения, CSS и шрифты. + +Мы начнём с небольшого HTML‑строки, настроим пользовательский `ResourceHandler`, который сохраняет каждый внешний ресурс на диск, и закончим сохранением идеального PNG‑файла. К концу вы получите автономное решение, которое можно внедрить в любой .NET‑проект. + +## Что вы узнаете + +- Как создать `HTMLDocument` из строки или файла. +- Как реализовать пользовательский `ResourceHandler`, чтобы каждый запрашиваемый рендерером ресурс сохранялся локально. +- Точные шаги для **render HTML to PNG** с использованием `ImageRenderer`. +- Распространённые подводные камни (отсутствие шрифтов, относительные URL) и лучший способ **to handle resources**. +- Как проверить результат и при необходимости изменить размер или формат изображения. + +### Предпосылки + +- .NET 6.0 или новее (код также работает на .NET Framework 4.7+). +- Ссылка на NuGet‑пакет **Aspose.HTML for .NET**. +- Базовые знания C# и асинхронных потоков (необязательно, но полезно). + +Никаких внешних инструментов, без безголовых браузеров — только чистый C# и Aspose.HTML. + +--- + +## Создание PNG из HTML – Обзор + +Ниже представлен **complete, ready‑to‑run code**. Скопируйте‑вставьте его в консольное приложение, замените плейсхолдер `YOUR_DIRECTORY` и нажмите F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Замените `"YOUR_DIRECTORY"` на абсолютный путь (например, `Path.GetFullPath("./output")`), чтобы избежать неожиданностей, когда приложение запускается из другой рабочей директории. + +--- + +## Шаг 1: Подготовка HTML‑документа + +Первое, что мы делаем, — оборачиваем сырую HTML‑строку в `HTMLDocument`. Aspose.HTML рассматривает этот объект как полноценный DOM, что позволяет ему обрабатывать теги ``, блоки ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Строку можно заменить любой HTML‑разметкой — например, результатом Razor‑вью или конвертацией Markdown в HTML. Главное, чтобы документ знал о кастомном обработчике, который мы передадим позже. + +--- + +## Image Rendering Options – Fine‑Tuning Antialiasing and Font Hinting + +Обычный рендеринг работает, но иногда требуется дополнительный блеск: более плавные края, чёткий текст или правильное субпиксельное позиционирование. Здесь в игру вступают **параметры рендеринга изображения**. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Что происходит под капотом?* +`ImageRenderingOptions` сообщает рендереру, какой шрифт использовать и следует ли сглаживать геометрические фигуры. `TextOptions` отвечает за то, как растеризуются глифы — хинтинг выравнивает символы по пиксельной сетке, что особенно полезно при небольших размерах. + +--- + +## Render HTML with Options – Applying Rendering Settings + +С документом и параметрами, подготовленными, мы наконец можем **рендерить HTML с параметрами**. Мы получим три файла: + +1. Базовый PNG (без дополнительных опций). +2. PNG с антиалиасингом. +3. PNG с включённым хинтингом. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Обратите внимание, что каждый `ImageRenderer` получает разный второй аргумент: обычный обработчик, настройки антиалиасинга и настройки хинтинга. Такой подход позволяет менять конфигурацию без изменения остального кода — идеально для unit‑тестов или feature‑флагов. + +> **Common question:** *«Можно ли совместить антиалиасинг и хинтинг в одном проходе?»* +> Конечно. Просто создайте один объект опций, в котором оба свойства `UseAntialiasing` и `UseHinting` установлены в `true`, и передайте его в `ImageRenderer`. + +--- + +## Verify the Output – What to Expect + +После запуска программы откройте три PNG‑файла: + +- **out.png** — точная копия HTML, но края могут выглядеть слегка зазубренными. +- **img.png** — линии и кривые стали плавнее благодаря антиалиасингу. +- **txt.png** — текст выглядит острее, особенно при 12 pt Verdana, благодаря хинтингу шрифтов. + +Если какие‑то изображения выглядят некорректно, проверьте, что в `YOUR_DIRECTORY/Resources` находится `logo.png`. Отсутствие ресурсов заставит рендерер использовать заглушку, которая выглядит странно. + +--- + +## Full Working Example + +Ниже представлен полный код программы, готовый к копированию в консольное приложение. В нём указаны все директивы `using` и минимальный метод `Main`. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Запустите программу, изучите три PNG‑файла, и вы увидите, как каждая опция влияет на конечный результат. Экспериментируйте — меняйте шрифт, переключайте `UseAntialiasing` или добавляйте новые CSS‑правила. Возможности безграничны, когда вы **конвертируете HTML в изображение** по требованию. + +--- + +## Next Steps & Related Topics + +- **Batch processing:** Перебирайте коллекцию HTML‑фрагментов и генерируйте миниатюры для каждого. +- **PDF conversion:** Объедините PNG‑файлы с библиотекой PDF (например, iTextSharp) для создания многостраничных документов. +- **Dynamic resources:** Расширьте `MyHandler` так, чтобы он получал изображения из CDN или базы данных вместо файловой системы. +- **Performance tuning:** Кешируйте отрендеренные изображения, если исходный HTML не изменился; это существенно снизит нагрузку на CPU. + +Если интересует более глубокая кастомизация, изучите свойство `RenderTransform` у `ImageRenderer` для вращения или масштабирования, а также настройки `CssEngine` для продвинутого управления макетом. + +--- + +## Conclusion + +Мы рассмотрели всё, что нужно для **рендеринга HTML в PNG** на C#: пользовательский обработчик ресурсов, загрузку разметки, настройку *параметров рендеринга изображения* и, наконец, **рендеринг HTML с опциями**, дающими антиалиасинг и хинтинг шрифтов. Полный, готовый к запуску пример должен работать «из коробки», а модульный дизайн облегчает адаптацию под более крупные проекты. + +Попробуйте, поиграйте с настройками, и позвольте отрендеренным изображениям говорить за вас в следующей email‑кампании, дашборде или системе отчётности. Got + + +## Related Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/spanish/net/generate-jpg-and-png-images/_index.md index 4323c4591..d718df4eb 100644 --- a/html/spanish/net/generate-jpg-and-png-images/_index.md +++ b/html/spanish/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,14 @@ Aprenda a utilizar Aspose.HTML para .NET para manipular documentos HTML, convert Aprenda a activar el antialiasing al convertir documentos DOCX a imágenes PNG o JPG usando Aspose.HTML para .NET. ### [Convertir docx a PNG – crear archivo ZIP con C# tutorial](./convert-docx-to-png-create-zip-archive-c-tutorial/) Aprenda a convertir documentos DOCX a imágenes PNG y empaquetarlos en un archivo ZIP usando C#. +### [Crear PNG a partir de HTML con Aspose – renderizar HTML a PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Aprenda a generar imágenes PNG a partir de contenido HTML usando Aspose.HTML y su motor de renderizado. +### [Convertir documento Word a PNG – Guía completa de programación](./convert-word-document-to-png-complete-programming-guide/) +Aprende a convertir documentos Word a imágenes PNG paso a paso con Aspose.HTML para .NET. +### [Convertir docx a png en C# – Guía completa paso a paso](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Aprenda a convertir documentos DOCX a imágenes PNG en C# con una guía completa paso a paso. +### [Renderizar HTML a PNG – Guía completa con controladores personalizados y opciones](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Aprenda a renderizar HTML a PNG usando Aspose.HTML con controladores personalizados y opciones avanzadas. ## Conclusión diff --git a/html/spanish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/spanish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..a100bdd40 --- /dev/null +++ b/html/spanish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Convierte docx a png rápidamente usando C#. Aprende cómo convertir Word + a imagen, exportar Word como png y establecer una fuente personalizada en un solo + tutorial. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: es +og_description: Convierte docx a png con C#. Esta guía te muestra cómo exportar Word + como png y establecer una fuente personalizada para obtener resultados perfectos. +og_title: Convertir docx a png en C# – Guía completa de programación +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Convertir docx a png en C# – Guía completa paso a paso +url: /es/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convertir docx a png en C# – Guía completa paso a paso + +¿Alguna vez necesitaste **convertir docx a png** pero no estabas seguro de qué biblioteca te daría glifos limpios y fidelidad de página completa? No estás solo. En muchos proyectos de automatización de oficina, convertir un documento de Word en una imagen (piensa en “convertir word a image”) es la forma más rápida de incrustar contenido en una página web o un correo electrónico sin preocuparte por instalaciones de Office. + +La cuestión es que la API Aspose.Words para .NET te permite **exportar word as png** con solo unas cuantas líneas, y además puedes **set custom font** para que la salida se vea exactamente como el original. En este tutorial recorreremos todo el proceso—desde la instalación del paquete hasta la generación del PNG final—para que puedas comenzar a **convertir docx a png** hoy mismo. + +## Convertir docx a png – Visión general y requisitos previos + +Antes de sumergirnos en el código, asegúrate de tener todo lo necesario: + +* **.NET 6.0 o posterior** – el ejemplo está dirigido a .NET 6, pero versiones anteriores también funcionan. +* **Aspose.Words para .NET** – un paquete NuGet que proporciona `Document`, `TextOptions` y `ImageRenderer`. +* Un archivo **DOCX de muestra** que quieras convertir en una imagen (colócalo en una carpeta a la que puedas hacer referencia). +* Opcional: una **fuente TrueType personalizada** (p. ej., Times New Roman) si deseas sobrescribir la fuente predeterminada del documento. + +Si tienes todo eso marcado, estás listo para comenzar a **convertir word to image** con confianza. + +## Instalar Aspose.Words para .NET (convertir word a image) + +El primer paso es agregar la biblioteca a tu proyecto. Abre una terminal en la carpeta de tu solución y ejecuta: + +```bash +dotnet add package Aspose.Words +``` + +Ese único comando añade la última versión estable de Aspose.Words, que incluye la clase `ImageRenderer` que necesitaremos para **export docx as png**. Cuando termine la restauración, ya puedes continuar. + +> **Consejo profesional:** Si usas Visual Studio, también puedes agregar el paquete mediante la interfaz de NuGet Package Manager—simplemente busca “Aspose.Words”. + +## Cargar el documento fuente (convertir docx a png) + +Ahora cargaremos el archivo DOCX. Este es el punto donde la canalización de **convert docx to png** realmente comienza. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` representa todo el archivo Word en memoria. La ruta puede ser absoluta o relativa; solo asegúrate de que el archivo exista, de lo contrario obtendrás una `FileNotFoundException`. + +## Configurar opciones de renderizado de texto (set custom font) + +Si tu DOCX usa una fuente que no está instalada en la máquina de destino, el PNG renderizado podría verse mal. Por eso a menudo necesitas **set custom font** antes de exportar. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` indica al renderizador que aplique hinting sub‑pixel, lo que afila los bordes de las letras—especialmente importante para PNGs de alta resolución. +* `FontInfo` obliga a que cada fragmento de texto se dibuje con *Times New Roman* a 14 pt, sin importar lo que el DOCX original especifique. Si lo prefieres, reemplaza el nombre por cualquier fuente que tengas en el servidor. + +## Crear un ImageRenderer (convertir word a image) + +Con el documento y las opciones listas, instanciamos `ImageRenderer`. Esta clase realiza el trabajo pesado de convertir páginas en imágenes bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Algunas notas: + +* El bloque `using` garantiza que el renderizador libere los recursos nativos (como manejadores GDI) de inmediato. +* `RenderToFile` acepta una ruta y un `ImageFormat`. Si necesitas todas las páginas, puedes iterar sobre `renderer.PageCount` y llamar a `RenderToFile` con un nombre de archivo específico para cada página. + +## Verificar la salida (export docx as png) + +Después de ejecutar el código, deberías ver `hinted.png` en la carpeta que especificaste. Ábrelo con cualquier visor de imágenes—¿el texto se ve nítido? Si usaste una fuente personalizada, notarás la tipografía consistente en toda la página. + +Aquí tienes una referencia visual rápida (reemplaza con tu propia captura de pantalla al publicar): + +![ejemplo de salida de convertir docx a png](https://example.com/assets/convert-docx-to-png.png "ejemplo de salida de convertir docx a png") + +*Texto alternativo:* **ejemplo de salida de convertir docx a png** – una representación PNG de una página de Word con la fuente Times New Roman. + +Si la imagen se ve borrosa, verifica que `UseHinting` esté establecido en `true` y que el DPI del renderizador (por defecto 96) coincida con tus necesidades. Puedes ajustar el DPI mediante `renderer.ImageOptions.Resolution = 300;` antes de llamar a `RenderToFile`. + +## Programa completo y ejecutable (export word as png) + +Juntando todo, aquí tienes una aplicación de consola autónoma que puedes copiar y pegar en `Program.cs` y ejecutar: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Lo que hace este programa:** + +1. Carga `input.docx`. +2. Fuerza que cada carácter use *Times New Roman* a 14 pt con hinting habilitado. +3. Renderiza la primera página a 300 DPI, produciendo un PNG de alta calidad. +4. Escribe un mensaje amigable en la consola confirmando el éxito. + +Ejecuta con `dotnet run` y tendrás una imagen perfectamente renderizada lista para mostrarse en la web, incrustarse en PDF o cualquier otro escenario donde necesites **convertir docx a png** sin la sobrecarga de Office. + +## Preguntas frecuentes y manejo de casos límite + +* **¿Qué pasa si necesito todas las páginas?** + Itera sobre `renderer.PageCount` y llama a `RenderToFile` con un nombre que incluya el número de página, por ejemplo `output_page_{i}.png`. + +* **¿Puedo exportar a otros formatos de imagen?** + Por supuesto. Sustituye `ImageFormat.Png` por `ImageFormat.Jpeg`, `ImageFormat.Bmp` o `ImageFormat.Tiff` según tus requisitos posteriores. + +* **Mi documento usa fuentes incrustadas—¿todavía necesito `set custom font`?** + Si el DOCX ya incrusta las fuentes que deseas, puedes omitir la propiedad `Font`. El renderizador respetará automáticamente la fuente incrustada. + +* **¿Cómo manejo documentos grandes sin agotar la memoria?** + Procesa una página a la vez dentro del bloque `using` y elimina cada bitmap generado después de guardarlo. Así mantienes bajo el consumo de memoria. + +* **¿Existe alguna cuestión de licenciamiento?** + Aspose.Words ofrece una prueba gratuita con marca de agua. Para uso en producción, adquiere una licencia y llama a `License license = new License(); license.SetLicense("Aspose.Words.lic");` antes de cargar el documento. + +## Conclusión + +Ahora tienes una receta completa y lista para producción para **convertir docx a png** usando C#. La guía cubrió todo, desde la instalación de Aspose.Words (la biblioteca de referencia para **convert word to image**) hasta la configuración de `TextOptions` para un escenario de **set custom font**, y finalmente la generación del archivo de imagen. Con este conocimiento puedes **exportar word as png**, incrustarlo en páginas web, generar miniaturas o incorporarlo a cualquier canal de procesamiento de imágenes. + +¿Qué sigue? Prueba exportar varias páginas, experimenta con diferentes configuraciones de DPI o cambia el formato de salida a + +## Tutoriales relacionados + +- [Cómo habilitar antialiasing al convertir DOCX a PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Convertir HTML a PNG en .NET con Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – crear archivo zip tutorial c#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/spanish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/spanish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..9dce898e3 --- /dev/null +++ b/html/spanish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Aprende a convertir documentos de Word a PNG rápidamente. Este tutorial + también muestra cómo guardar un documento de Word como PNG con antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: es +og_description: Convierte un documento de Word a PNG con unas pocas líneas de C#. + Sigue esta guía para guardar el documento de Word como PNG de manera eficiente. +og_title: Convertir documento Word a PNG – Guía paso a paso +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Convertir documento de Word a PNG – Guía completa de programación +url: /es/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Convertir documento Word a PNG – Guía completa de programación + +¿Alguna vez necesitaste **convertir documento Word a PNG** pero no estabas seguro de qué biblioteca o configuración elegir? No estás solo. En muchos proyectos de automatización de oficina terminas necesitando una imagen rasterizada de un archivo `.docx`, quizá para vistas previas en miniatura, incrustaciones en correos electrónicos o verificaciones visuales rápidas. La buena noticia es que con unas cuantas líneas de C# también puedes **guardar documento Word como PNG** sin ningún ajuste manual. + +En este tutorial recorreremos un ejemplo del mundo real usando Aspose.Words para .NET. Cubriremos todo, desde cargar el archivo fuente, ajustar las opciones de renderizado de imagen para obtener una salida nítida, hasta escribir el archivo PNG en disco. Al final tendrás un método reutilizable que podrás incorporar en cualquier proyecto .NET. + +## Requisitos previos + +Antes de sumergirnos, asegúrate de contar con: + +- **.NET 6.0** o posterior (el código también funciona en .NET Framework 4.6+). +- Una copia **con licencia** de **Aspose.Words para .NET** (la versión de prueba gratuita sirve para pruebas). +- Visual Studio 2022 o cualquier IDE que prefieras. +- Un archivo Word de ejemplo (`input.docx`) colocado en una carpeta a la que puedas referenciar. + +No se requieren otros paquetes de terceros. + +## Paso 1: Configurar el proyecto e importar espacios de nombres + +Lo primero, crea una nueva aplicación de consola (o intégrala en un servicio existente). Luego agrega el paquete NuGet de Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Ahora incluye los espacios de nombres necesarios en tu archivo: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Consejo profesional:** Si apuntas a .NET 6+, puedes usar la característica de declaraciones de nivel superior y omitir el código boilerplate del método `Main`. + +## Paso 2: Cargar el documento Word de origen + +El primer paso real en la cadena de conversión es cargar el documento que deseas rasterizar. Aspose.Words admite `.doc`, `.docx`, `.rtf` y muchos otros formatos, por lo que no estás limitado a los tipos de archivo clásicos de Office. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +¿Por qué verificamos `PageCount`? Porque un documento de cero páginas produciría un PNG vacío, lo que suele ser una falla silenciosa que complica el código posterior. + +## Paso 3: Configurar las opciones de renderizado de imagen + +Al convertir contenido Word basado en vectores a un mapa de bits, notarás bordes dentados si te quedas con los valores predeterminados. Habilitar el antialiasing suaviza esas líneas, especialmente en gráficos, formas y texto en tamaños pequeños. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Podrías preguntarte, “¿Siempre necesito antialiasing?” Normalmente, sí, a menos que estés generando íconos diminutos donde el rendimiento supere la fidelidad visual. + +## Paso 4: Renderizar cada página a un archivo PNG separado + +Un documento Word puede contener varias páginas. Aspose.Words permite renderizar todo el documento como una sola imagen, pero el patrón más común es generar un PNG por página. A continuación iteraremos sobre las páginas, renderizando cada una en su propio archivo. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**¿Por qué usar un bloque `using`?** El `ImageRenderer` mantiene recursos no administrados (como manejadores GDI+). Envolverlo en `using` garantiza una limpieza adecuada, evitando fugas de memoria en servicios de larga ejecución. + +### Casos límite y consejos + +- **Documentos grandes:** Renderizar un documento de 200 páginas puede consumir mucha memoria. Considera renderizar en lotes o incrementar la propiedad `MaxMemoryUsage` si te encuentras con **`OutOfMemoryException`**. +- **Fondos transparentes:** Si tu archivo Word contiene formas transparentes y deseas un PNG transparente, establece `BackgroundColor = Color.Transparent` en `ImageRenderingOptions`. +- **Escalado:** Para crear una miniatura, ajusta `ImageSaveOptions` (por ejemplo, `Resolution = 72`) o redimensiona el PNG resultante con `System.Drawing`. + +## Paso 5: Encapsularlo en un método reutilizable + +Tener la lógica de conversión en un solo método facilita su invocación desde cualquier lugar, ya sea una API web, un trabajador en segundo plano o una interfaz de escritorio. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Ahora puedes llamar: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Y el método **guardará documento Word como PNG** con nombres `page_1.png`, `page_2.png`, etc. + +## Resultado esperado + +Ejecutar el código de ejemplo con un `input.docx` de tres páginas producirá: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Abre cualquiera de esos PNG en un visor de imágenes; deberías ver una representación nítida y antialiasada de la página correspondiente de Word. Sin bordes extra, sin distorsión, solo una captura fiel del mapa de bits. + +## Errores comunes y cómo evitarlos + +| Problema | Por qué ocurre | Solución | +|----------|----------------|----------| +| **PNG en blanco** | El documento no se cargó (`doc` es null) o el índice de página está fuera de rango. | Verifica la ruta del archivo y asegura que `doc.PageCount` > 0 antes de renderizar. | +| **Texto dentado** | Antialiasing desactivado o DPI demasiado bajo. | Establece `UseAntialiasing = true` y, opcionalmente, aumenta `Resolution` (p. ej., 150 DPI). | +| **Falta de memoria** | Renderizar páginas muy grandes a alta DPI en un bucle estrecho. | Renderiza una página a la vez (como se muestra) y elimina el `ImageRenderer` rápidamente. | +| **Colores incorrectos** | El color de fondo predeterminado es blanco; los documentos transparentes aparecen blancos. | Configura `BackgroundColor = Color.Transparent` cuando sea necesario. | + +## Conclusión + +Acabamos de demostrar una forma limpia y lista para producción de **convertir documento Word a PNG** y, por extensión, **guardar documento Word como PNG** usando Aspose.Words para .NET. Los pasos son sencillos: + +1. Carga el `.docx` con `Document`. +2. Ajusta `ImageRenderingOptions` (antialiasing, DPI, fondo). +3. Recorre las páginas y llama a `ImageRenderer.RenderToFile`. + +Con el método reutilizable `ConvertWordToPng`, ahora puedes integrar vistas previas basadas en imágenes en cualquier aplicación C#—ya sea un servicio web que **genere** miniaturas para contratos subidos, una herramienta de escritorio que **archive** informes como PNG, o un trabajo por lotes que **prepare** activos para un sistema de gestión de contenido. + +**¿Qué sigue?** Prueba con otros formatos de imagen (`ImageFormat.Jpeg`, `Bmp`) o explora `PdfSaveOptions` si necesitas un PDF además de los PNG. También podrías añadir marcas de agua o redimensionar la salida sobre la marcha. + +¡Feliz codificación, y no dudes en dejar un comentario si encuentras algún obstáculo! + +## Tutoriales relacionados + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md b/html/spanish/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md new file mode 100644 index 000000000..4fb7dc977 --- /dev/null +++ b/html/spanish/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-05-25 +description: Crear PNG a partir de HTML usando Aspose HTML en C#. Aprende cómo renderizar + HTML a PNG y convertir HTML a imagen de manera eficiente. +draft: false +keywords: +- create png from html +- render html to png +- convert html to image +- render html as png +- how to use aspose +language: es +og_description: Crear PNG a partir de HTML en C# con Aspose HTML. Esta guía muestra + cómo renderizar HTML a PNG y convertir HTML a imagen paso a paso. +og_title: Crear PNG a partir de HTML con Aspose – Renderizar HTML a PNG +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + headline: create png from html with Aspose – render html to png + type: TechArticle +- description: create png from html using Aspose HTML in C#. Learn how to render html + to png and convert html to image efficiently. + name: create png from html with Aspose – render html to png + steps: + - name: Build an in‑memory HTML document + text: First we need a DOM that Aspose can chew on. Think of `HTMLDocument` as + a lightweight browser page living entirely in memory. + - name: Configure image rendering options (including fonts) + text: Now we tell the renderer how we want the final PNG to look. This is where + you can set DPI, background color, and—most importantly for crisp text—the font + information. + - name: Initialise the `ImageRenderer` + text: With the document and options ready, we create the renderer. This object + orchestrates the conversion pipeline. + - name: Render the HTML to a PNG file + text: Finally, we ask the renderer to write the image to a stream. You can write + to a `MemoryStream` if you need the PNG in‑memory, but here we’ll stick to a + file on disk. + - name: Verify the generated image + text: 'After the code runs, open `YOUR_DIRECTORY/text.png` in any image viewer. + You should see the word “Sample text” rendered in Arial, size 16, exactly as + defined in the HTML. If the text looks blurry, try increasing the DPI:' + - name: Tips & tricks for advanced scenarios + text: '| Situation | Recommended tweak | |-----------|-------------------| | **Multiple + pages** | Loop over `HTMLDocument` pages and call `renderer.RenderToStream` + for each. | | **Custom background** | Set `renderingOptions.BackgroundColor + = Color.White;` | | **Embedding web fonts** | Use `new WebFontInfo(' + type: HowTo +tags: +- Aspose.HTML +- C# +- Image rendering +title: Crear PNG a partir de HTML con Aspose – Renderizar HTML a PNG +url: /es/net/generate-jpg-and-png-images/create-png-from-html-with-aspose-render-html-to-png/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# crear png a partir de html – Guía completa de C# con Aspose.HTML + +¿Alguna vez te has preguntado cómo **crear png a partir de html** sin tener que manejar un montón de herramientas de línea de comandos? No estás solo. Muchos desarrolladores se topan con un obstáculo cuando necesitan una captura rápida de una pieza de HTML—quizá para una miniatura de correo electrónico, una vista previa de informe o una tarjeta para redes sociales. ¿La buena noticia? Con Aspose.HTML puedes **renderizar html a png** en unas pocas líneas de código, y permanecerás completamente dentro del ecosistema .NET. + +En este tutorial recorreremos todo lo que necesitas para **convertir html a imagen** usando Aspose, explicaremos por qué cada paso es importante y te mostraremos cómo **renderizar html como png** con fuentes personalizadas. Al final tendrás un fragmento de C# listo para ejecutar que crea un archivo PNG a partir de cualquier cadena HTML, y comprenderás los ajustes que puedes modificar para obtener una salida de mayor calidad. Sin navegadores externos, sin Chrome sin cabeza—solo .NET puro. + +## Lo que necesitarás + +Antes de sumergirnos, asegúrate de tener: + +- **.NET 6+** (el código también funciona en .NET Framework 4.6+) +- Paquete NuGet **Aspose.HTML for .NET** (`Aspose.Html`) instalado +- Un IDE básico de C# (Visual Studio, Rider o VS Code) +- Permiso de escritura en una carpeta donde se guardará el PNG + +Eso es todo—no se requieren binarios adicionales ni fuentes del sistema porque Aspose incluye su propio motor de renderizado. ¿Listo? Comencemos. + +![ejemplo de crear png a partir de html](placeholder.png "ejemplo de crear png a partir de html") + +## crear png a partir de html – Guía paso a paso + +A continuación dividimos el proceso en pasos claros y numerados. Cada paso incluye el **por qué** detrás de él, el **qué** exacto que debes escribir y una breve nota **qué‑pasaría** para casos comunes. + +### Paso 1: Construir un documento HTML en memoria + +Primero necesitamos un DOM que Aspose pueda procesar. Piensa en `HTMLDocument` como una página de navegador ligera que vive completamente en memoria. + +```csharp +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +// Step 1: Create an in‑memory HTML document with the desired content. +var htmlDoc = new HTMLDocument( + "

Sample text

" +); +``` + +**¿Por qué?** +Aspose.HTML no lee cadenas crudas directamente; espera un objeto documento que imite una página web real. Al alimentarle una cadena que contiene tu marcado, mantienes el flujo de trabajo simple y evitas lidiar con I/O de archivos en esta etapa. + +**¿Qué‑pasaría** si tienes un archivo HTML completo en disco? Simplemente reemplaza el constructor de cadena por `new HTMLDocument("file.html")` y Aspose cargará el archivo por ti. + +### Paso 2: Configurar las opciones de renderizado de imagen (incluyendo fuentes) + +Ahora indicamos al renderizador cómo queremos que se vea el PNG final. Aquí puedes establecer DPI, color de fondo y—lo más importante para texto nítido—la información de la fuente. + +```csharp +// Step 2: Set up image rendering options, including the font to use. +var renderingOptions = new ImageRenderingOptions +{ + // Choose the font family, size, and style (Normal, Italic, Oblique, etc.). + Font = new FontInfo("Arial", 16, WebFontStyle.Normal) +}; +``` + +**¿Por qué?** +Si omites la parte `FontInfo`, Aspose recurrirá a su fuente predeterminada, que podría no coincidir con el aspecto que esperas. Especificar la fuente garantiza que la salida **render html to png** refleje lo que verías en un navegador. + +**¿Qué‑pasaría** si la fuente objetivo no está instalada en el servidor? Aspose puede incrustar fuentes web mediante `WebFontInfo`—solo apunta a un `.ttf` o a una URL y el renderizador la obtendrá por ti. + +### Paso 3: Inicializar el `ImageRenderer` + +Con el documento y las opciones listos, creamos el renderizador. Este objeto orquesta la canalización de conversión. + +```csharp +// Step 3: Initialise the renderer with the document and options. +using (var renderer = new ImageRenderer(htmlDoc, renderingOptions)) +{ + // Step 4 lives inside this block. +} +``` + +**¿Por qué?** +`ImageRenderer` es el motor que analiza el DOM, aplica CSS, rasteriza el diseño y finalmente produce un bitmap. Envolverlo en un bloque `using` garantiza que todos los recursos nativos se liberen rápidamente—un pequeño pero vital consejo de rendimiento. + +### Paso 4: Renderizar el HTML a un archivo PNG + +Finalmente, pedimos al renderizador que escriba la imagen en un flujo. Puedes escribir a un `MemoryStream` si necesitas el PNG en memoria, pero aquí nos quedaremos con un archivo en disco. + +```csharp + // Step 4: Render the HTML to a PNG image and write it to a file. + using (var outputStream = new FileStream("YOUR_DIRECTORY/text.png", FileMode.Create)) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + } +``` + +**¿Por qué?** +`RenderToStream` te brinda control total sobre el formato de salida. Pasar `ImageFormat.Png` indica a Aspose que codifique el bitmap como un PNG sin pérdida, ideal para capturas de pantalla o cuando necesitas transparencia. + +**¿Qué‑pasaría** si necesitas JPEG en su lugar? Simplemente reemplaza `ImageFormat.Png` por `ImageFormat.Jpeg` y, opcionalmente, establece la calidad mediante `JpegOptions`. + +### Paso 5: Verificar la imagen generada + +Después de ejecutar el código, abre `YOUR_DIRECTORY/text.png` en cualquier visor de imágenes. Deberías ver la palabra “Sample text” renderizada en Arial, tamaño 16, exactamente como se definió en el HTML. Si el texto se ve borroso, prueba aumentando el DPI: + +```csharp +renderingOptions.Resolution = new Resolution(300, 300); // 300 DPI for high‑res output +``` + +### Paso 6: Consejos y trucos para escenarios avanzados + +| Situación | Ajuste recomendado | +|-----------|-------------------| +| **Múltiples páginas** | Recorrer las páginas de `HTMLDocument` y llamar a `renderer.RenderToStream` para cada una. | +| **Fondo personalizado** | Establecer `renderingOptions.BackgroundColor = Color.White;` | +| **Incrustar fuentes web** | Usar `new WebFontInfo("https://example.com/font.ttf")` en `FontInfo`. | +| **Contenido HTML grande** | Incrementar `renderingOptions.PageWidth`/`PageHeight` para evitar recortes. | + +Estos ajustes te ayudan a **convertir html a imagen** para boletines, PDFs o cualquier lugar donde necesites una captura estática. + +## renderizar html a png – Problemas comunes y cómo solucionarlos + +Aunque la API es directa, algunos tropiezos pueden aparecer: + +1. **Falta de fuente que lleva a sustitución** – Si Aspose no encuentra “Arial”, sustituye una fuente genérica, lo que altera el diseño visual. Siempre incluye la fuente requerida o apunta a una URL de fuente web. +2. **Salida de tamaño cero** – Olvidar establecer `PageWidth`/`PageHeight` puede producir un PNG de 0 × 0. El renderizador usa el tamaño del viewport por defecto, así que asegúrate de que tu HTML defina un tamaño (por ejemplo, mediante CSS `width: 800px; height: 600px;`). +3. **Errores de acceso a archivos** – Intentar escribir en una carpeta de solo lectura lanza una excepción. Usa `Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)` como ruta segura por defecto. + +Abordar estos problemas garantiza una canalización fiable de **render html as png**. + +## cómo usar aspose – ¿A dónde ir después? + +Ahora que dominas lo básico, quizás te preguntes **cómo usar Aspose** para tareas más complejas. Aquí tienes algunas extensiones naturales: + +- **Conversión por lotes** – Recorrer una lista de cadenas HTML y generar un ZIP de PNGs. +- **Generación de PDF** – Combinar la salida de `ImageRenderer` con `PdfRenderer` para incrustar capturas en PDFs. +- **Integración en la nube** – Desplegar el código en Azure Functions para generación de imágenes bajo demanda. + +La documentación oficial de Aspose.HTML (https://docs.aspose.com/html/net/) ofrece referencias API detalladas, proyectos de ejemplo y métricas de rendimiento. Es un tesoro si planeas escalar más allá de una sola imagen. + +## Resultado esperado + +Ejecutar el fragmento completo anterior produce un archivo llamado `text.png`. Su contenido visual coincide con el HTML original: + +``` ++---------------------------+ +| Sample text | +| (Arial, 16pt, Normal) | ++---------------------------+ +``` + +El PNG es sin pérdida, soporta transparencia y puede abrirse con cualquier visor de imágenes estándar. + +## Ejemplo completo funcional (listo para copiar y pegar) + +```csharp +using System.IO; +using Aspose.Html; +using Aspose.Html.Drawing; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + // Paso 1: Crear un documento HTML en memoria. + var htmlDoc = new HTMLDocument( + "

Sample text

" + ); + + // Paso 2: Establecer opciones de renderizado (fuente, DPI, etc.). + var renderingOptions = + + +## Tutoriales relacionados + +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [How to Render HTML to PNG with Aspose – Complete Guide](/html/english/net/rendering-html-documents/how-to-render-html-to-png-with-aspose-complete-guide/) +- [Render HTML as PNG in .NET with Aspose.HTML](/html/english/net/rendering-html-documents/render-html-as-png/) + +{{< /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/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md b/html/spanish/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md new file mode 100644 index 000000000..b2638e43f --- /dev/null +++ b/html/spanish/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-05-25 +description: Renderiza HTML a PNG usando C#. Aprende cómo convertir HTML a imagen, + ajustar las opciones de renderizado y renderizar HTML con opciones en unos pocos + pasos. +draft: false +keywords: +- render html to png +- convert html to image +- image rendering options +- render html with options +language: es +og_description: Render HTML a PNG en C#. Esta guía muestra cómo convertir HTML a imagen, + configurar opciones de renderizado y renderizar HTML con opciones para obtener resultados + perfectos. +og_title: Renderizar HTML a PNG – Tutorial paso a paso en C# +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + headline: Render HTML to PNG – Complete Guide with Custom Handlers & Options + type: TechArticle +- description: Render HTML to PNG using C#. Learn how to convert HTML to image, tweak + image rendering options, and render HTML with options in a few steps. + name: Render HTML to PNG – Complete Guide with Custom Handlers & Options + steps: + - name: A basic PNG (no extra options). + text: A basic PNG (no extra options). + - name: An antialiased PNG. + text: An antialiased PNG. + - name: A hint‑enabled PNG. + text: A hint‑enabled PNG. + type: HowTo +tags: +- C# +- HTML +- graphics +- image rendering +title: Renderizar HTML a PNG – Guía completa con manejadores personalizados y opciones +url: /es/net/generate-jpg-and-png-images/render-html-to-png-complete-guide-with-custom-handlers-optio/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Renderizar HTML a PNG – Guía completa con manejadores personalizados y opciones + +¿Alguna vez necesitaste **renderizar HTML a PNG** pero no estabas seguro de qué llamadas API usar? No eres el único—muchos desarrolladores se topan con esa barrera al crear boletines, miniaturas o vistas previas tipo PDF. ¿La buena noticia? Con unas pocas líneas de C# puedes **convertir HTML a imagen** al instante, y además puedes ajustar *opciones de renderizado de imagen* para obtener resultados ultra nítidos. + +En este tutorial recorreremos un ejemplo del mundo real: un `ResourceHandler` personalizado que decide dónde se guardan los recursos externos, la carga de un `HTMLDocument`, y finalmente el renderizado de ese marcado a archivos PNG con y sin antialiasing o hinting de fuentes. Al final podrás **renderizar HTML con opciones** que se adapten a cualquier requerimiento de calidad visual. + +## Qué construirás + +- Un manejador de recursos reutilizable que escribe imágenes, fuentes o CSS en una carpeta que tú controlas. +- Un cargador de documentos HTML sencillo que podría intercambiarse por cualquier cadena de marcado. +- Dos pasadas de renderizado: una simple y otra con *opciones de renderizado de imagen* (antialiasing, hinting). +- Código C# listo para ejecutar que puedes pegar en una aplicación de consola o en una prueba unitarias. + +No se requieren bibliotecas externas más allá del hipotético espacio de nombres `HtmlRenderer`, pero verás exactamente dónde conectar tu motor favorito de HTML‑a‑imagen. + +## Prerrequisitos + +- .NET 6.0 o posterior (el código también compila con .NET Core). +- Familiaridad básica con clases C# y sentencias `using`. +- Un directorio en disco donde el tutorial pueda escribir archivos (`YOUR_DIRECTORY` en los fragmentos). + +Si ya cuentas con eso, vamos a sumergirnos. + +## Renderizar HTML a PNG – Manejador de recursos personalizado + +Al renderizar HTML, los recursos externos (imágenes, fuentes, CSS) a menudo necesitan un lugar donde residir. Por defecto, muchos renderizadores escriben en una carpeta temporal, lo que puede convertirse en una pesadilla de seguridad. Nuestro primer paso es **renderizar HTML a PNG** manteniendo el control total sobre esos activos. + +```csharp +using System; +using System.IO; + +// Step 1: Define a custom resource handler to control where external resources are written +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + // Combine your target folder with the resource name + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} +``` + +*Por qué es importante:* +La clase base `ResourceHandler` permite al renderizador preguntar: “Oye, ¿dónde debo colocar esta imagen?” Al sobrescribir `HandleResource` dirigimos cada solicitud a `YOUR_DIRECTORY/Resources`. Esto evita que el renderizador disperse archivos por el sistema y facilita la limpieza. + +> **Consejo profesional:** Si anticipas colisiones de nombres, antepone un GUID a `info.Name` antes de guardarlo. + +## Convertir HTML a Imagen – Cargando el documento + +Ahora que el manejador está listo, necesitamos una instancia de `HTMLDocument`. Piensa en él como el lienzo que contiene tu marcado, scripts y referencias de estilo. + +```csharp +using HtmlRenderer; // hypothetical namespace + +// Step 2: Load an HTML document that may reference external resources +HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); +``` + +Puedes reemplazar la cadena con cualquier HTML que desees—quizá la salida de una vista Razor o una conversión de Markdown a HTML. Lo importante es que el documento conozca el manejador personalizado que pasaremos más adelante. + +## Opciones de renderizado de imagen – Ajuste fino de antialiasing y hinting de fuentes + +El renderizado simple funciona, pero a veces necesitas ese toque extra: bordes más suaves, texto más claro o posicionamiento sub‑pixel correcto. Aquí es donde **las opciones de renderizado de imagen** brillan. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*¿Qué ocurre bajo el capó?* +`ImageRenderingOptions` indica al renderizador qué fuente usar y si debe suavizar formas geométricas. `TextOptions` se centra en cómo se rasterizan los glifos—el hinting alinea los caracteres a la cuadrícula de píxeles, lo cual es especialmente útil en tamaños pequeños. + +## Renderizar HTML con opciones – Aplicando la configuración de renderizado + +Con el documento y las opciones preparados, finalmente podemos **renderizar HTML con opciones**. Generaremos tres archivos: + +1. Un PNG básico (sin opciones adicionales). +2. Un PNG con antialiasing. +3. Un PNG con hinting habilitado. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Observa cómo cada `ImageRenderer` recibe un segundo argumento diferente: el manejador simple, la configuración de antialiasing y la de hinting. Este patrón te permite intercambiar configuraciones sin modificar otro código—perfecto para pruebas unitarias o banderas de características. + +> **Pregunta frecuente:** *“¿Puedo combinar antialiasing y hinting en una sola pasada?”* +> Claro. Simplemente crea un único objeto de opciones que establezca tanto `UseAntialiasing` como `UseHinting` en `true`, y pásalo a `ImageRenderer`. + +## Verificar la salida – Qué esperar + +Después de ejecutar el programa, abre los tres archivos PNG: + +- **out.png** – una captura fiel del HTML, pero los bordes pueden verse algo dentados. +- **img.png** – líneas y curvas más suaves gracias al antialiasing. +- **txt.png** – el texto aparece más nítido, especialmente a 12 pt Verdana, por el hinting de fuentes. + +Si alguna de las imágenes se ve extraña, verifica que `YOUR_DIRECTORY/Resources` contenga el `logo.png` referenciado. La falta de recursos hará que el renderizador recurra a un marcador de posición, lo que puede resultar extraño. + +## Ejemplo completo y funcional + +A continuación tienes el programa completo, listo para copiar y pegar en una aplicación de consola. Incluye todas las directivas `using` y un método `Main` mínimo. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Ejecuta el programa, inspecciona los tres PNG y verás exactamente cómo cada opción influye en la imagen final. Siéntete libre de experimentar—cambia la fuente, alterna `UseAntialiasing`, o agrega más reglas CSS. El cielo es el límite cuando **conviertes HTML a imagen** bajo demanda. + +## Próximos pasos y temas relacionados + +- **Procesamiento por lotes:** Recorre una colección de fragmentos HTML y genera miniaturas para cada uno. +- **Conversión a PDF:** Combina los PNG con una biblioteca PDF (p. ej., iTextSharp) para producir documentos multipágina. +- **Recursos dinámicos:** Extiende `MyHandler` para obtener imágenes de un CDN o una base de datos en lugar del sistema de archivos. +- **Ajuste de rendimiento:** Cachea imágenes renderizadas cuando el HTML fuente no haya cambiado; esto reduce la carga de CPU de forma drástica. + +Si te interesa una personalización más profunda, explora la propiedad `RenderTransform` de `ImageRenderer` para rotación o escalado, o investiga la configuración `CssEngine` para control avanzado de layout. + +## Conclusión + +Hemos cubierto todo lo que necesitas para **renderizar HTML a PNG** en C#: un manejador de recursos personalizado, carga de marcado, configuración de *opciones de renderizado de imagen*, y finalmente **renderizar HTML con opciones** que te brindan antialiasing y hinting de fuentes. El ejemplo completo y ejecutable debería funcionar de inmediato, y el diseño modular facilita su adaptación a proyectos más grandes. + +Pruébalo, ajusta la configuración y deja que las imágenes renderizadas hablen por ti en tu próxima campaña de correo electrónico, panel de control o herramienta de informes. Got + +## Tutoriales relacionados + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/swedish/net/generate-jpg-and-png-images/_index.md index 39785fb46..c8d0d39ba 100644 --- a/html/swedish/net/generate-jpg-and-png-images/_index.md +++ b/html/swedish/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Lär dig att använda Aspose.HTML för .NET för att manipulera HTML-dokument, k Lär dig hur du aktiverar kantutjämning för att förbättra bildkvaliteten när du konverterar DOCX-dokument till PNG eller JPG med Aspose.HTML. ### [Konvertera DOCX till PNG – skapa zip‑arkiv C#‑handledning](./convert-docx-to-png-create-zip-archive-c-tutorial/) Lär dig hur du konverterar DOCX-filer till PNG-bilder och packar dem i ett zip‑arkiv med C# och Aspose.HTML. +### [Skapa PNG från HTML – Fullständig steg‑för‑steg‑guide](./create-png-from-html-full-step-by-step-guide/) +Lär dig hur du konverterar HTML till PNG med en komplett steg‑för‑steg‑handledning i Aspose.HTML för .NET. +### [Skapa PNG från HTML med Aspose – rendera HTML till PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Lär dig hur du renderar HTML till PNG med Aspose i en steg‑för‑steg‑handledning. +### [Rendera HTML till PNG – Komplett guide med anpassade hanterare och alternativ](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Lär dig hur du renderar HTML till PNG med anpassade hanterare och olika alternativ i en komplett guide. +### [Konvertera Word-dokument till PNG – Komplett programmeringsguide](./convert-word-document-to-png-complete-programming-guide/) +Lär dig hur du konverterar Word-dokument till PNG-bilder med en komplett programmeringsguide i Aspose.HTML för .NET. +### [Konvertera DOCX till PNG i C# – Komplett steg‑för‑steg‑guide](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Lär dig hur du konverterar DOCX-filer till PNG-bilder i C# med en komplett steg‑för‑steg‑guide i Aspose.HTML för .NET. ## Slutsats diff --git a/html/swedish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/swedish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..0f5cb171f --- /dev/null +++ b/html/swedish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-05-25 +description: Konvertera docx till png snabbt med C#. Lär dig hur du konverterar Word + till bild, exporterar Word som png och ställer in anpassat teckensnitt i en enda + handledning. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: sv +og_description: Konvertera docx till png med C#. Den här guiden visar hur du exporterar + Word som png och ställer in ett anpassat teckensnitt för perfekta resultat. +og_title: Konvertera docx till png i C# – Fullständig programmeringsguide +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Konvertera docx till png i C# – Komplett steg‑för‑steg‑guide +url: /sv/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Konvertera docx till png i C# – Komplett steg‑för‑steg‑guide + +Har du någonsin behövt **convert docx to png** men varit osäker på vilket bibliotek som ger rena glyfer och fullsidig trohet? Du är inte ensam. I många kontorsautomatiseringsprojekt är det snabbaste sättet att omvandla ett Word‑dokument till en bild (tänk “convert word to image”) för att bädda in innehåll i en webbsida eller ett e‑postmeddelande utan att behöva oroa sig för Office‑installationer. + +Här är grejen: Aspose.Words for .NET API låter dig **export word as png** med bara några få rader, och du kan till och med **set custom font**‑inställningar så att resultatet ser exakt ut som originalet. I den här handledningen går vi igenom hela processen—från att installera paketet till att rendera den slutliga PNG‑filen—så att du kan börja konvertera docx till png redan idag. + +## Konvertera docx till png – Översikt och förutsättningar + +Innan vi dyker ner i koden, låt oss säkerställa att du har allt du behöver: + +* **.NET 6.0 eller senare** – exemplet riktar sig mot .NET 6, men tidigare versioner fungerar också. +* **Aspose.Words for .NET** – ett NuGet‑paket som tillhandahåller `Document`, `TextOptions` och `ImageRenderer`. +* En **sample DOCX**‑fil som du vill omvandla till en bild (placera den i en mapp du kan referera till). +* Valfritt: ett **custom TrueType font** (t.ex. Times New Roman) om du vill åsidosätta dokumentets standardtypsnitt. + +Om du har kryssat av dessa rutor är du redo att börja konvertera word to image med förtroende. + +## Installera Aspose.Words for .NET (convert word to image) + +Det första steget är att hämta biblioteket till ditt projekt. Öppna en terminal i din lösningsmapp och kör: + +```bash +dotnet add package Aspose.Words +``` + +Det kommandot lägger till den senaste stabila versionen av Aspose.Words, som innehåller `ImageRenderer`‑klassen vi kommer att behöva för **export docx as png**. När återställningen är klar är du redo att köra. + +> **Pro tip:** Om du använder Visual Studio kan du också lägga till paketet via NuGet Package Manager‑gränssnittet—sök bara efter “Aspose.Words”. + +## Ladda källdokumentet (convert docx to png) + +Nu laddar vi DOCX‑filen. Detta är den punkt där **convert docx to png**‑pipeline faktiskt startar. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` representerar hela Word‑filen i minnet. Sökvägen kan vara absolut eller relativ; se bara till att filen finns, annars får du ett `FileNotFoundException`. + +## Konfigurera textrenderingsalternativ (set custom font) + +Om ditt DOCX använder ett typsnitt som inte är installerat på målmaskinen kan den renderade PNG‑filen se felaktig ut. Därför behöver du ofta **set custom font** innan export. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` talar om för renderaren att tillämpa sub‑pixel‑hinting, vilket skärper bokstavskanterna—särskilt viktigt för högupplösta PNG‑filer. +* `FontInfo` tvingar varje textstycke att ritas med *Times New Roman* i 14 pt, oavsett vad original‑DOCX specificerar. Du kan fritt ersätta namnet med vilket typsnitt du har på servern. + +## Skapa en ImageRenderer (convert word to image) + +Med dokumentet och alternativen klara instansierar vi `ImageRenderer`. Denna klass utför det tunga arbetet med att omvandla sidor till bitmap‑bilder. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Ett par noteringar: + +* `using`‑blocket säkerställer att renderaren frigör inhemska resurser (som GDI‑handtag) omedelbart. +* `RenderToFile` accepterar en sökväg och ett `ImageFormat`. Om du behöver alla sidor kan du loopa över `renderer.PageCount` och anropa `RenderToFile` med ett sid‑specifikt filnamn. + +## Verifiera resultatet (export docx as png) + +När koden har körts bör du se `hinted.png` i den mapp du angav. Öppna den med någon bildvisare—ser texten skarp ut? Om du använde ett custom font kommer du att märka den konsekventa typsnittet över hela sidan. + +Här är en snabb visuell referens (byt ut mot din egen skärmdump när du publicerar): + +![exempel på output för convert docx to png](https://example.com/assets/convert-docx-to-png.png "exempel på output för convert docx to png") + +*Alt text:* **exempel på output för convert docx to png** – en PNG‑rendering av en Word‑sida med Times New Roman‑typsnitt. + +Om bilden ser suddig ut, dubbelkolla att `UseHinting` är satt till `true` och att DPI‑värdet för renderaren (standard 96) matchar dina behov. Du kan justera DPI via `renderer.ImageOptions.Resolution = 300;` innan du anropar `RenderToFile`. + +## Fullständigt, körbart program (export word as png) + +När vi sätter ihop allt, här är en fristående konsolapp som du kan kopiera‑klistra in i `Program.cs` och köra: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Vad detta program gör:** + +1. Laddar `input.docx`. +2. Tvingar varje tecken att använda *Times New Roman* i 14 pt med hinting aktiverat. +3. Renderar den första sidan med 300 DPI, vilket producerar en högkvalitativ PNG. +4. Skriver ett vänligt konsolmeddelande som bekräftar framgång. + +Kör den med `dotnet run` så har du en perfekt renderad bild redo för webbvisning, PDF‑inbäddning eller något annat scenario där du behöver **convert docx to png** utan Office‑överbyggnad. + +## Vanliga frågor och hantering av kantfall + +* **Vad händer om jag behöver alla sidor?** + Loopa över `renderer.PageCount` och anropa `RenderToFile` med ett filnamn som inkluderar sidnumret, t.ex. `output_page_{i}.png`. + +* **Kan jag exportera till andra bildformat?** + Absolut. Byt ut `ImageFormat.Png` mot `ImageFormat.Jpeg`, `ImageFormat.Bmp` eller `ImageFormat.Tiff` beroende på dina efterföljande krav. + +* **Mitt dokument använder inbäddade typsnitt—behöver jag fortfarande `set custom font`?** + Om DOCX redan inbäddar de typsnitt du vill ha, kan du hoppa över `Font`‑egenskapen. Renderaren kommer automatiskt att respektera det inbäddade typsnittet. + +* **Hur hanterar jag stora dokument utan att tömma minnet?** + Processa en sida åt gången inom `using`‑blocket och frigör varje genererad bitmap efter sparning. Detta håller minnesanvändningen låg. + +* **Finns det någon licensfråga?** + Aspose.Words erbjuder en gratis provversion med vattenstämpel. För produktionsbruk, köp en licens och anropa `License license = new License(); license.SetLicense("Aspose.Words.lic");` innan du laddar dokumentet. + +## Slutsats + +Du har nu ett komplett, produktionsklart recept för att **convert docx to png** med C#. Guiden täckte allt från att installera Aspose.Words (det föredragna biblioteket för **convert word to image**) till att konfigurera `TextOptions` för ett **set custom font**‑scenario, och slutligen rendera bildfilen. Med denna kunskap kan du **export word as png**, bädda in den i webbsidor, generera miniatyrer eller föra in den i någon bildbehandlingspipeline. + +Vad blir nästa steg? Prova att exportera flera sidor, experimentera med olika DPI‑inställningar, eller byt ut utdataformatet till + +## Relaterade handledningar + +- [Hur man aktiverar kantutjämning vid konvertering av DOCX till PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Konvertera HTML till PNG i .NET med Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – skapa zip‑arkiv c#‑handledning](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/swedish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/swedish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..7107c10e9 --- /dev/null +++ b/html/swedish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-05-25 +description: Lär dig hur du snabbt konverterar ett Word‑dokument till PNG. Den här + handledningen visar också hur du sparar ett Word‑dokument som PNG med antialiasing. +draft: false +keywords: +- convert word document to png +- save word document as png +language: sv +og_description: Konvertera Word-dokument till PNG med några rader C#. Följ den här + guiden för att spara Word-dokument som PNG på ett effektivt sätt. +og_title: Konvertera Word-dokument till PNG – Steg‑för‑steg‑guide +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Konvertera Word-dokument till PNG – Komplett programmeringsguide +url: /sv/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Konvertera Word-dokument till PNG – Komplett programmeringsguide + +Har du någonsin behövt **konvertera Word-dokument till PNG** men varit osäker på vilket bibliotek eller vilka inställningar du ska välja? Du är inte ensam. I många kontorsautomatiseringsprojekt behöver du en rasterbild av en `.docx`‑fil — kanske för miniatyrförhandsvisningar, e‑postinbäddningar eller snabba visuella kontroller. Den goda nyheten är att med några få rader C# kan du också **spara Word-dokument som PNG** utan någon manuell hackning. + +I den här handledningen går vi igenom ett verkligt exempel med Aspose.Words för .NET. Vi täcker allt från att ladda källfilen, justera bildrenderingsalternativ för skarpt resultat, till att skriva PNG-filen till disk. I slutet har du en återanvändbar metod som du kan släppa in i vilket .NET‑projekt som helst. + +## Förutsättningar + +- **.NET 6.0** eller senare (koden fungerar även på .NET Framework 4.6+). +- En **licensierad** kopia av **Aspose.Words for .NET** (gratis provversion fungerar för testning). +- Visual Studio 2022 eller någon IDE du föredrar. +- En exempel‑Word‑fil (`input.docx`) placerad i en mapp du kan referera till. + +Inga andra tredjepartspaket krävs. + +## Steg 1: Ställ in projektet och importera namnrymder + +Först och främst, skapa en ny konsolapp (eller integrera i en befintlig tjänst). Lägg sedan till Aspose.Words NuGet‑paketet: + +```bash +dotnet add package Aspose.Words +``` + +Importera nu de nödvändiga namnrymderna i din fil: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Proffstips:** Om du riktar in dig på .NET 6+ kan du använda top‑level‑statements‑funktionen och hoppa över `Main`‑metodens boilerplate. + +## Steg 2: Ladda käll‑Word‑dokumentet + +Det första egentliga steget i konverteringspipeline är att ladda dokumentet du vill rasterisera. Aspose.Words stödjer `.doc`, `.docx`, `.rtf` och många andra format, så du är inte begränsad till de klassiska Office‑filtyperna. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Varför kontrollerar vi `PageCount`? Eftersom ett dokument med noll sidor skulle producera en tom PNG, vilket ofta är ett tyst fel som får nedströms kod att krångla. + +## Steg 3: Konfigurera bildrenderingsalternativ + +När du konverterar vektorbaserat Word‑innehåll till en bitmap kan du märka hackiga kanter om du använder standardinställningarna. Att aktivera antialiasing mjukar upp dessa linjer, särskilt för diagram, former och text i små storlekar. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Du kanske undrar, “Behöver jag alltid antialiasing?” Vanligtvis ja, såvida du inte genererar små ikoner där prestanda väger tyngre än visuell kvalitet. + +## Steg 4: Rendera varje sida till en separat PNG‑fil + +Ett Word‑dokument kan innehålla flera sidor. Aspose.Words låter dig rendera hela dokumentet som en enda bild, men det vanligare mönstret är att generera en PNG per sida. Nedan loopar vi igenom sidorna och renderar varje till sin egen fil. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Varför använda ett `using`‑block?** `ImageRenderer` håller ohanterade resurser (som GDI+‑handtag). Att omsluta det i `using` garanterar korrekt städning och förhindrar minnesläckor i långlivade tjänster. + +### Kantfall & Tips + +- **Stora dokument:** Att rendera ett 200‑sidigt dokument kan vara minneskrävande. Överväg att rendera i batcher eller öka egenskapen `MaxMemoryUsage` om du får `OutOfMemoryException`. +- **Transparenta bakgrunder:** Om din Word‑fil innehåller transparenta former och du vill ha en transparent PNG, sätt `BackgroundColor = Color.Transparent` i `ImageRenderingOptions`. +- **Skalning:** För att skapa en miniatyr, justera `ImageSaveOptions` (t.ex. `Resolution = 72`) eller ändra storlek på den resulterande PNG:n med `System.Drawing`. + +## Steg 5: Packa in i en återanvändbar metod + +Att ha konverteringslogiken i en enda metod gör det enkelt att anropa från var som helst — vare sig det är ett webb‑API, en bakgrunds‑worker eller ett skrivbords‑UI. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Du kan nu anropa: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Och metoden kommer att **spara Word-dokument som PNG**‑filer med namn `page_1.png`, `page_2.png` osv. + +## Förväntat resultat + +Att köra exempel‑koden på ett tre‑sidigt `input.docx` kommer att producera: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Öppna någon av dessa PNG‑filer i en bildvisare — du bör se en skarp, antialiasad rendering av motsvarande Word‑sida. Inga extra kanter, ingen förvrängning, bara en trogen bitmap‑ögonblicksbild. + +## Vanliga fallgropar och hur du undviker dem + +| Problem | Varför det händer | Lösning | +|-------|----------------|-----| +| **Tom PNG** | Dokumentet laddades inte (`doc` är null) eller sidindexet är utanför intervallet. | Verifiera filvägen och säkerställ att `doc.PageCount` > 0 innan rendering. | +| **Hackig text** | Antialiasing inaktiverad eller DPI för låg. | Sätt `UseAntialiasing = true` och öka eventuellt `Resolution` (t.ex. 150 DPI). | +| **Out‑of‑Memory** | Renderar mycket stora sidor med hög DPI i en tät loop. | Rendera en sida åt gången (som visat) och frigör `ImageRenderer` omedelbart. | +| **Felaktiga färger** | Bakgrundsfärgen är standard vit; transparenta dokument visas vita. | Sätt `BackgroundColor = Color.Transparent` när det behövs. | + +## Slutsats + +Vi har precis demonstrerat ett rent, produktionsklart sätt att **konvertera Word-dokument till PNG** och, i förlängningen, **spara Word-dokument som PNG** med Aspose.Words för .NET. Stegen är enkla: + +1. Ladda `.docx`‑filen med `Document`. +2. Justera `ImageRenderingOptions` (antialiasing, DPI, bakgrund). +3. Loopa igenom sidorna och anropa `ImageRenderer.RenderToFile`. + +Beväpnad med den återanvändbara `ConvertWordToPng`‑metoden kan du nu integrera bildbaserade förhandsvisningar i vilken C#‑applikation som helst — oavsett om det är en webbtjänst som genererar miniatyrer för uppladdade kontrakt, ett skrivbordsverktyg som arkiverar rapporter som PNG, eller ett batch‑jobb som förbereder resurser för ett innehållshanteringssystem. + +**Vad är nästa steg?** Prova att experimentera med andra bildformat (`ImageFormat.Jpeg`, `Bmp`) eller utforska `PdfSaveOptions` om du behöver en PDF tillsammans med PNG‑filerna. Du kan också överväga att lägga till vattenstämplar eller ändra storlek på utskriften i farten. + +Lycka till med kodandet, och tveka inte att lämna en kommentar om du stöter på problem! + +## Relaterade handledningar + +- [konvertera docx till png – skapa zip‑arkiv c#‑handledning](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Hur du aktiverar antialiasing när du konverterar DOCX till PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Hur du använder Aspose för att rendera HTML till PNG – steg‑för‑steg‑guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/swedish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..2ef10662b --- /dev/null +++ b/html/swedish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Skapa PNG från HTML snabbt med Aspose.HTML. Lär dig rendera HTML till + PNG, konvertera HTML till PNG och hantera resurser effektivt. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: sv +og_description: Skapa PNG från HTML med Aspose.HTML. Den här guiden visar hur du renderar + HTML till PNG, konverterar HTML till PNG och hanterar resurser på rätt sätt. +og_title: Skapa PNG från HTML – Komplett programmeringshandledning +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Skapa PNG från HTML – Fullständig steg‑för‑steg‑guide +url: /sv/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Skapa PNG från HTML – Fullständig steg‑för‑steg‑guide + +Har du någonsin undrat hur du **skapar PNG från HTML** utan att jonglera med en massa tredjepartsverktyg? Du är inte ensam. Oavsett om du bygger en e‑post‑förhandsgranskare, en rapport‑dashboard eller en miniatyr‑tjänst, är det en vanlig behov att omvandla HTML‑markup till en skarp PNG‑bild. I den här handledningen går vi igenom ett komplett, körbart exempel som **renderar HTML till PNG**, visar hur du **konverterar HTML till PNG** med Aspose.HTML, och förklarar dessutom **hur du hanterar resurser** som bilder, CSS och teckensnitt. + +Vi börjar med en liten HTML‑sträng, sätter upp en anpassad `ResourceHandler` som skriver varje extern tillgång till disk, och avslutar med att spara en perfekt PNG‑fil. När du är klar har du en självständig lösning som du kan släppa in i vilket .NET‑projekt som helst. + +## Vad du kommer att lära dig + +- Hur du skapar ett `HTMLDocument` från en sträng eller fil. +- Hur du implementerar en anpassad `ResourceHandler` så att varje resurs som renderaren begär sparas lokalt. +- De exakta stegen för att **rendera HTML till PNG** med `ImageRenderer`. +- Vanliga fallgropar (saknade teckensnitt, relativa URL:er) och det bästa sättet **att hantera resurser**. +- Hur du verifierar resultatet och justerar bildstorlek eller format vid behov. + +### Förutsättningar + +- .NET 6.0 eller senare (koden fungerar också på .NET Framework 4.7+). +- En referens till **Aspose.HTML for .NET** NuGet‑paketet. +- Grundläggande kunskap om C# och asynkrona strömmar (inte obligatoriskt, men hjälpsamt). + +Inga externa verktyg, inga headless‑webbläsare – bara ren C# och Aspose.HTML. + +--- + +## Skapa PNG från HTML – Översikt + +Nedan är den **kompletta, körklara koden**. Kopiera och klistra in den i en konsolapp, justera platshållaren `YOUR_DIRECTORY` och tryck på F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Ersätt `"YOUR_DIRECTORY"` med en absolut sökväg (t.ex. `Path.GetFullPath("./output")`) för att undvika överraskningar när appen körs från en annan arbetskatalog. + +--- + +## Steg 1: Förbered HTML‑dokumentet + +Det första vi gör är att omsluta en rå HTML‑sträng i ett `HTMLDocument`. Aspose.HTML behandlar detta objekt som ett fullt utrustat DOM, vilket betyder att det kommer att lösa ``‑taggar, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Du kan ersätta strängen med vilken HTML du vill—kanske resultatet från en Razor‑vy eller en Markdown‑till‑HTML‑konvertering. Det viktiga är att dokumentet känner till den anpassade hanteraren som vi kommer att skicka senare. + +--- + +## Bildrenderingsalternativ – Finjustera antialiasing och font‑hinting + +Enkel rendering fungerar, men ibland behöver du den extra poleringen: mjukare kanter, tydligare text eller korrekt sub‑pixel‑positionering. Här kommer **bildrenderingsalternativ** in i bilden. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Vad händer under huven?* +`ImageRenderingOptions` talar om för renderaren vilket teckensnitt som ska användas och om geometriska former ska jämnas ut. `TextOptions` fokuserar på hur glyfer rasteriseras—hinting justerar tecken till pixelrutnätet, vilket är särskilt användbart i små storlekar. + +--- + +## Rendera HTML med alternativ – Tillämpa renderingsinställningar + +Med dokumentet och alternativen förberedda kan vi äntligen **rendera HTML med alternativ**. Vi kommer att producera tre filer: + +1. En grundläggande PNG (utan extra alternativ). +2. En antialiasad PNG. +3. En hint‑aktiverad PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Lägg märke till att varje `ImageRenderer` får ett annat andra argument: den enkla hanteraren, antialias‑inställningarna och hint‑inställningarna. Detta mönster låter dig byta konfiguration utan att ändra någon annan kod—perfekt för enhetstester eller funktionsflaggor. + +> **Vanlig fråga:** *“Kan jag kombinera antialiasing och hinting i ett pass?”* +> Absolut. Skapa bara ett enda options‑objekt som sätter både `UseAntialiasing` och `UseHinting` till `true`, och skicka det till `ImageRenderer`. + +--- + +## Verifiera resultatet – Vad du kan förvänta dig + +När du har kört programmet, öppna de tre PNG‑filerna: + +- **out.png** – en trogen avbildning av HTML, men kanterna kan se lite hackiga ut. +- **img.png** – mjukare linjer och kurvor tack vare antialiasing. +- **txt.png** – texten blir skarpare, särskilt vid 12 pt Verdana, på grund av font‑hinting. + +Om någon av bilderna ser felaktig ut, dubbelkolla att `YOUR_DIRECTORY/Resources` innehåller den refererade `logo.png`. Saknade resurser får renderaren att falla tillbaka på en platshållare, vilket kan se konstigt ut. + +--- + +## Fullt fungerande exempel + +Nedan är hela programmet, redo att kopieras och klistras in i en konsolapp. Det inkluderar alla `using`‑direktiv och en minimal `Main`‑metod. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Kör programmet, inspektera de tre PNG‑filerna, och du kommer att se exakt hur varje alternativ påverkar den slutgiltiga bilden. Känn dig fri att experimentera—byt teckensnitt, slå på/av `UseAntialiasing`, eller lägg till fler CSS‑regler. Möjligheterna är oändliga när du **konverterar HTML till bild** på begäran. + +--- + +## Nästa steg & relaterade ämnen + +- **Batch‑behandling:** Loopa över en samling HTML‑snuttar och generera miniatyrer för var och en. +- **PDF‑konvertering:** Kombinera PNG‑filerna med ett PDF‑bibliotek (t.ex. iTextSharp) för att skapa flersidiga dokument. +- **Dynamiska resurser:** Utöka `MyHandler` så att den hämtar bilder från ett CDN eller en databas istället för filsystemet. +- **Prestandaoptimering:** Cacha renderade bilder när käll‑HTML:en inte har förändrats; detta minskar CPU‑belastningen avsevärt. + +Om du är intresserad av djupare anpassning, kika på `RenderTransform`‑egenskapen i `ImageRenderer` för rotation eller skalning, eller utforska `CssEngine`‑inställningarna för avancerad layoutkontroll. + +--- + +## Slutsats + +Vi har gått igenom allt du behöver för att **rendera HTML till PNG** i C#: en anpassad resurshanterare, laddning av markup, konfiguration av *bildrenderingsalternativ*, och slutligen **rendera HTML med alternativ** som ger dig antialiasing och font‑hinting. Det kompletta, körbara exemplet bör fungera direkt, och den modulära designen gör det enkelt att anpassa för större projekt. + +Prova det, justera inställningarna, och låt de renderade bilderna tala för sig i ditt nästa e‑postkampanj, dashboard eller rapportverktyg. Got + + +## Relaterade handledningar + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/thai/net/generate-jpg-and-png-images/_index.md index bb3254275..6716547f4 100644 --- a/html/thai/net/generate-jpg-and-png-images/_index.md +++ b/html/thai/net/generate-jpg-and-png-images/_index.md @@ -18,7 +18,7 @@ Aspose.HTML สำหรับ .NET เป็นไลบรารีที่ ## เหตุใดจึงต้องใช้ Aspose.HTML สำหรับ .NET? -ก่อนแรก มาพูดคุยกันก่อนว่าทำไมคุณควรเลือก Aspose.HTML สำหรับ .NET เพื่อสร้างรูปภาพ ไลบรารีนี้ช่วยให้แปลง HTML เป็นรูปแบบรูปภาพต่างๆ ได้อย่างราบรื่นและมีประสิทธิภาพ รวมถึง JPG และ PNG ไม่ว่าคุณต้องการสร้างตัวอย่างเว็บไซต์ที่น่าดึงดูด สร้างภาพขนาดย่อ หรือสร้างรายงานที่ดึงดูดสายตา Aspose.HTML สำหรับ .NET จะช่วยคุณได้ +ก่อนแรก มาพูดคุยกันก่อนว่าทำไมคุณควรเลือก Aspose.HTML สำหรับ .NET เพื่อสร้างรูปภาพ ไลบรารีนี้ช่วยให้แปลง HTML เป็นรูปแบบรูปภาพต่างๆ ได้อย่างราบรื่นและมีประสิทธิภาพ รวมถึง JPG และ PNG ไม่ว่าคุณต้องการสร้างตัวอย่างเว็บไซต์ที่น่าดึงดูด สร้างภาพขนาดย่อ หรือสร้างรายงานที่ดึงดึงสายตา Aspose.HTML สำหรับ .NET จะช่วยคุณได้ ## การเริ่มต้น @@ -45,6 +45,16 @@ Aspose.HTML สำหรับ .NET นำเสนอวิธีการง เรียนรู้วิธีเปิดใช้งาน Antialiasing เพื่อให้ภาพ PNG/JPG ที่แปลงจาก DOCX มีความคมชัดและลื่นไหล ### [แปลง DOCX เป็น PNG – สร้างไฟล์ ZIP ด้วย C#](./convert-docx-to-png-create-zip-archive-c-tutorial/) เรียนรู้วิธีแปลงไฟล์ DOCX เป็น PNG แล้วบีบอัดเป็นไฟล์ ZIP ด้วย C# โดยใช้ Aspose.HTML +### [แปลง DOCX เป็น PNG – คู่มือเต็มขั้นตอนด้วย C#](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +เรียนรู้วิธีแปลงไฟล์ DOCX เป็น PNG อย่างละเอียดด้วย C# พร้อมขั้นตอนการเขียนโปรแกรมที่ครบถ้วน +### [สร้าง PNG จาก HTML – คู่มือเต็มขั้นตอน](./create-png-from-html-full-step-by-step-guide/) +เรียนรู้วิธีแปลง HTML เป็นไฟล์ PNG อย่างละเอียดด้วยขั้นตอนที่ชัดเจน +### [สร้าง PNG จาก HTML ด้วย Aspose – เรนเดอร์ HTML เป็น PNG](./create-png-from-html-with-aspose-render-html-to-png/) +เรียนรู้วิธีแปลง HTML เป็นไฟล์ PNG อย่างง่ายดายด้วย Aspose HTML พร้อมขั้นตอนการเรนเดอร์ที่ชัดเจน +### [แปลงเอกสาร Word เป็น PNG – คู่มือการเขียนโปรแกรมเต็มรูปแบบ](./convert-word-document-to-png-complete-programming-guide/) +เรียนรู้วิธีแปลงไฟล์ Word เป็น PNG อย่างละเอียดด้วยขั้นตอนการเขียนโปรแกรมที่ครบถ้วน +### [เรนเดอร์ HTML เป็น PNG – คู่มือเต็มขั้นตอนพร้อมตัวจัดการและตัวเลือกแบบกำหนดเอง](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +เรียนรู้วิธีแปลง HTML เป็น PNG อย่างละเอียดด้วยตัวจัดการและตัวเลือกที่กำหนดเองใน Aspose.HTML ## บทสรุป diff --git a/html/thai/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/thai/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..699fdf35f --- /dev/null +++ b/html/thai/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-05-25 +description: แปลงไฟล์ docx เป็น png อย่างรวดเร็วด้วย C#. เรียนรู้วิธีแปลง Word เป็นภาพ, + ส่งออก Word เป็น png, และตั้งค่าแบบอักษรที่กำหนดเองในบทเรียนเดียว +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: th +og_description: แปลง docx เป็น png ด้วย C# คู่มือนี้จะแสดงวิธีส่งออกไฟล์ Word เป็น + png และตั้งค่าฟอนต์ที่กำหนดเองเพื่อให้ได้ผลลัพธ์ที่สมบูรณ์แบบ +og_title: แปลง docx เป็น png ใน C# – คู่มือการเขียนโปรแกรมเต็ม +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: แปลง docx เป็น png ใน C# – คู่มือขั้นตอนเต็ม +url: /th/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# แปลง docx เป็น png ใน C# – คู่มือขั้นตอนเต็ม + +เคยต้องการ **convert docx to png** แต่ไม่แน่ใจว่าห้องสมุดไหนจะให้ตัวอักษรที่คมชัดและความเที่ยงตรงของทั้งหน้า? คุณไม่ได้เป็นคนเดียว ในหลายโครงการอัตโนมัติของสำนักงาน การแปลงเอกสาร Word เป็นภาพ (เช่น “convert word to image”) เป็นวิธีที่เร็วที่สุดในการฝังเนื้อหาในหน้าเว็บหรืออีเมลโดยไม่ต้องกังวลเรื่องการติดตั้ง Office + +นี่คือสิ่งที่คุณต้องรู้: API Aspose.Words for .NET ให้คุณ **export word as png** เพียงไม่กี่บรรทัด และคุณยังสามารถ **set custom font** เพื่อให้ผลลัพธ์ดูเหมือนต้นฉบับได้อย่างแม่นยำ ในบทเรียนนี้เราจะพาคุณผ่านกระบวนการทั้งหมด—from การติดตั้งแพคเกจจนถึงการเรนเดอร์ PNG สุดท้าย—เพื่อให้คุณเริ่มแปลง docx เป็น png ได้ทันที + +## แปลง docx เป็น png – ภาพรวมและข้อกำหนดเบื้องต้น + +ก่อนที่เราจะลงลึกในโค้ด ให้ตรวจสอบว่าคุณมีสิ่งต่อไปนี้ครบหรือยัง: + +* **.NET 6.0 หรือใหม่กว่า** – ตัวอย่างนี้ตั้งเป้าหมายที่ .NET 6 แต่เวอร์ชันก่อนหน้าก็ทำงานได้เช่นกัน +* **Aspose.Words for .NET** – แพคเกจ NuGet ที่ให้คลาส `Document`, `TextOptions` และ `ImageRenderer` +* ไฟล์ **DOCX ตัวอย่าง** ที่คุณต้องการแปลงเป็นภาพ (วางไว้ในโฟลเดอร์ที่สามารถอ้างอิงได้) +* ตัวเลือก: **ฟอนต์ TrueType ที่กำหนดเอง** (เช่น Times New Roman) หากต้องการแทนที่ฟอนต์เริ่มต้นของเอกสาร + +หากคุณทำเครื่องหมายครบแล้ว คุณพร้อมเริ่มแปลง word เป็น image อย่างมั่นใจ + +## ติดตั้ง Aspose.Words for .NET (convert word to image) + +ขั้นตอนแรกคือการดึงไลบรารีเข้ามาในโปรเจกต์ของคุณ เปิดเทอร์มินัลในโฟลเดอร์โซลูชันและรัน: + +```bash +dotnet add package Aspose.Words +``` + +คำสั่งเดียวนี้จะเพิ่มเวอร์ชันเสถียรล่าสุดของ Aspose.Words ซึ่งรวมคลาส `ImageRenderer` ที่เราต้องการสำหรับ **export docx as png** หลังจากการกู้คืนเสร็จสิ้น คุณก็พร้อมใช้งานแล้ว + +> **เคล็ดลับ:** หากคุณใช้ Visual Studio คุณสามารถเพิ่มแพคเกจผ่าน NuGet Package Manager UI ได้เช่นกัน—แค่ค้นหา “Aspose.Words” + +## โหลดเอกสารต้นฉบับ (convert docx to png) + +ตอนนี้เราจะโหลดไฟล์ DOCX นี่คือจุดที่ pipeline **convert docx to png** เริ่มทำงานจริง + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` แทนไฟล์ Word ทั้งไฟล์ในหน่วยความจำ พาธสามารถเป็นแบบเต็มหรือแบบสัมพันธ์; เพียงตรวจสอบให้ไฟล์มีอยู่ มิฉะนั้นจะเกิด `FileNotFoundException` + +## กำหนดค่าตัวเลือกการเรนเดอร์ข้อความ (set custom font) + +หาก DOCX ของคุณใช้ฟอนต์ที่ไม่ได้ติดตั้งบนเครื่องเป้าหมาย PNG ที่เรนเดอร์อาจดูผิดเพี้ยน นั่นคือเหตุผลที่คุณมักต้อง **set custom font** ก่อนทำการส่งออก + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` บอกให้ renderer ใช้ sub‑pixel hinting ซึ่งทำให้ขอบตัวอักษรคมชัด—สำคัญมากสำหรับ PNG ความละเอียดสูง +* `FontInfo` บังคับให้ข้อความทุกส่วนถูกวาดด้วย *Times New Roman* ขนาด 14 pt ไม่ว่า DOCX ดั้งเดิมจะระบุอะไร คุณสามารถเปลี่ยนชื่อฟอนต์เป็นฟอนต์ใดก็ได้ที่มีบนเซิร์ฟเวอร์ + +## สร้าง ImageRenderer (convert word to image) + +เมื่อเอกสารและตัวเลือกพร้อม เราจะสร้างอินสแตนซ์ `ImageRenderer` คลาสนี้ทำหน้าที่แปลงหน้าเป็นภาพบิตแมพ + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* บล็อก `using` ทำให้ renderer ปล่อยทรัพยากรเนทีฟ (เช่น GDI handles) อย่างรวดเร็ว +* `RenderToFile` รับพาธและ `ImageFormat` หากต้องการทุกหน้า สามารถวนลูปผ่าน `renderer.PageCount` แล้วเรียก `RenderToFile` พร้อมชื่อไฟล์ที่ระบุหมายเลขหน้า + +## ตรวจสอบผลลัพธ์ (export docx as png) + +หลังจากโค้ดทำงาน คุณควรเห็นไฟล์ `hinted.png` ในโฟลเดอร์ที่ระบุ เปิดด้วยโปรแกรมดูภาพใดก็ได้—ข้อความดูคมชัดหรือไม่? หากใช้ฟอนต์กำหนดเอง คุณจะสังเกตเห็นฟอนต์เดียวกันทั่วทั้งหน้า + +![ตัวอย่างผลลัพธ์การแปลง docx เป็น png](https://example.com/assets/convert-docx-to-png.png "ตัวอย่างผลลัพธ์การแปลง docx เป็น png") + +*ข้อความแทนภาพ:* **ตัวอย่างผลลัพธ์การแปลง docx เป็น png** – การเรนเดอร์ PNG ของหน้า Word ด้วยฟอนต์ Times New Roman + +หากภาพดูเบลอ ให้ตรวจสอบว่า `UseHinting` ตั้งค่าเป็น `true` และ DPI ของ renderer (ค่าเริ่มต้น 96) ตรงกับความต้องการของคุณ คุณสามารถปรับ DPI ได้โดยใช้ `renderer.ImageOptions.Resolution = 300;` ก่อนเรียก `RenderToFile` + +## โปรแกรมเต็มที่สามารถรันได้ (export word as png) + +รวมทุกอย่างเข้าด้วยกัน นี่คือแอปคอนโซลที่พร้อมคัดลอก‑วางลงใน `Program.cs` แล้วรัน: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**สิ่งที่โปรแกรมนี้ทำ:** + +1. โหลด `input.docx` +2. บังคับให้ทุกอักขระใช้ *Times New Roman* ขนาด 14 pt พร้อมเปิด hinting +3. เรนเดอร์หน้าแรกที่ 300 DPI ผลลัพธ์เป็น PNG คุณภาพสูง +4. แสดงข้อความคอนโซลยืนยันความสำเร็จ + +รันด้วย `dotnet run` แล้วคุณจะได้ภาพที่เรนเดอร์อย่างสมบูรณ์พร้อมใช้บนเว็บ, ฝังใน PDF, หรือสถานการณ์อื่น ๆ ที่ต้อง **convert docx to png** โดยไม่ต้องพึ่ง Office + +## คำถามทั่วไปและการจัดการกรณีขอบ + +* **ถ้าฉันต้องการทุกหน้า?** + ทำการวนลูปผ่าน `renderer.PageCount` และเรียก `RenderToFile` พร้อมชื่อไฟล์ที่รวมหมายเลขหน้า เช่น `output_page_{i}.png` + +* **ฉันสามารถส่งออกเป็นรูปแบบภาพอื่นได้หรือไม่?** + แน่นอน แค่เปลี่ยน `ImageFormat.Png` เป็น `ImageFormat.Jpeg`, `ImageFormat.Bmp` หรือ `ImageFormat.Tiff` ตามความต้องการของระบบต่อไป + +* **เอกสารของฉันใช้ฟอนต์ฝังไว้—ยังต้อง `set custom font` หรือไม่?** + หาก DOCX ฝังฟอนต์ที่ต้องการแล้ว คุณสามารถข้ามการตั้งค่า `Font` ได้ renderer จะใช้ฟอนต์ที่ฝังไว้โดยอัตโนมัติ + +* **จะจัดการกับเอกสารขนาดใหญ่โดยไม่กินหน่วยความจำมากเกินไปอย่างไร?** + ประมวลผลหนึ่งหน้าต่อครั้งภายในบล็อก `using` แล้วทำการ dispose bitmap ที่สร้างขึ้นหลังบันทึก เพื่อลดการใช้หน่วยความจำ + +* **มีปัญหาเรื่องลิขสิทธิ์หรือไม่?** + Aspose.Words มีเวอร์ชันทดลองฟรีพร้อมลายน้ำ สำหรับการใช้งานจริงควรซื้อไลเซนส์และเรียก `License license = new License(); license.SetLicense("Aspose.Words.lic");` ก่อนโหลดเอกสาร + +## สรุป + +คุณมีสูตรครบถ้วนสำหรับ **convert docx to png** ด้วย C# แล้ว คู่มือนี้ครอบคลุมตั้งแต่การติดตั้ง Aspose.Words (ไลบรารีหลักสำหรับ **convert word to image**) ไปจนถึงการกำหนด `TextOptions` สำหรับ **set custom font** และสุดท้ายการเรนเดอร์ไฟล์ภาพ ด้วยความรู้นี้คุณสามารถ **export word as png**, ฝังในหน้าเว็บ, สร้าง thumbnail, หรือส่งต่อไปยัง pipeline การประมวลผลภาพใด ๆ ได้ + +ต่อไปคุณทำอะไร? ลองส่งออกหลายหน้า, ทดลองตั้งค่า DPI ต่าง ๆ, หรือเปลี่ยนรูปแบบผลลัพธ์เป็น + +## บทแนะนำที่เกี่ยวข้อง + +- [วิธีเปิดใช้งาน Antialiasing เมื่อแปลง DOCX เป็น PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [แปลง HTML เป็น PNG ใน .NET ด้วย Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – สร้างไฟล์ zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/thai/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/thai/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..38073f4a0 --- /dev/null +++ b/html/thai/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: เรียนรู้วิธีแปลงเอกสาร Word เป็น PNG อย่างรวดเร็ว การสอนนี้ยังแสดงวิธีบันทึกเอกสาร + Word เป็น PNG ด้วยการทำแอนติเอเลียส +draft: false +keywords: +- convert word document to png +- save word document as png +language: th +og_description: แปลงเอกสาร Word เป็น PNG ด้วยเพียงไม่กี่บรรทัดของ C# ทำตามคำแนะนำนี้เพื่อบันทึกเอกสาร + Word เป็น PNG อย่างมีประสิทธิภาพ. +og_title: แปลงเอกสาร Word เป็น PNG – คู่มือขั้นตอนโดยละเอียด +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: แปลงเอกสาร Word เป็น PNG – คู่มือการเขียนโปรแกรมฉบับสมบูรณ์ +url: /th/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# แปลงเอกสาร Word เป็น PNG – คู่มือการเขียนโปรแกรมฉบับสมบูรณ์ + +เคยต้องการ **convert Word document to PNG** แต่ไม่แน่ใจว่าจะเลือกไลบรารีหรือการตั้งค่าใด? คุณไม่ได้เป็นคนเดียว ในหลายโครงการอัตโนมัติกระดาษทำงานคุณอาจต้องการภาพราสเตอร์ของไฟล์ `.docx` — อาจใช้สำหรับแสดงตัวอย่างภาพย่อ, ฝังในอีเมล, หรือการตรวจสอบภาพอย่างรวดเร็ว ข่าวดีคือด้วยไม่กี่บรรทัดของ C# คุณก็สามารถ **save Word document as PNG** ได้โดยไม่ต้องทำอะไรด้วยมือ + +ในบทเรียนนี้เราจะเดินผ่านตัวอย่างจากโลกจริงโดยใช้ Aspose.Words for .NET เราจะครอบคลุมทุกอย่างตั้งแต่การโหลดไฟล์ต้นฉบับ, ปรับแต่งตัวเลือกการเรนเดอร์ภาพเพื่อให้ได้ผลลัพธ์คมชัด, จนถึงการบันทึกไฟล์ PNG ลงดิสก์ เมื่อเสร็จคุณจะมีเมธอดที่นำกลับมาใช้ใหม่ได้ซึ่งสามารถใส่ลงในโปรเจกต์ .NET ใดก็ได้ + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะเริ่มลงมือทำ โปรดตรวจสอบว่าคุณมี: + +- **.NET 6.0** หรือใหม่กว่า (โค้ดนี้ทำงานบน .NET Framework 4.6+ ด้วยเช่นกัน). +- สำเนา **licensed** ของ **Aspose.Words for .NET** (รุ่นทดลองฟรีใช้ทดสอบได้). +- Visual Studio 2022 หรือ IDE ที่คุณชื่นชอบ. +- ตัวอย่างไฟล์ Word (`input.docx`) ที่วางไว้ในโฟลเดอร์ที่คุณอ้างอิงได้. + +ไม่มีแพคเกจของบุคคลที่สามอื่น ๆ ที่จำเป็นต้องใช้. + +## ขั้นตอนที่ 1: ตั้งค่าโปรเจกต์และนำเข้า Namespaces + +เริ่มแรกสร้างแอปคอนโซลใหม่ (หรือรวมเข้าในเซอร์วิสที่มีอยู่) จากนั้นเพิ่มแพคเกจ NuGet ของ Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +ต่อไปให้นำ Namespaces ที่จำเป็นเข้ามาในไฟล์ของคุณ: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Pro tip:** หากคุณกำหนดเป้าหมายเป็น .NET 6+ คุณสามารถใช้ฟีเจอร์ top‑level statements และข้ามโค้ดบอยเลอร์เพลตของ `Main` ได้. + +## ขั้นตอนที่ 2: โหลดเอกสาร Word ต้นฉบับ + +ขั้นตอนแรกที่สำคัญในกระบวนการแปลงคือการโหลดเอกสารที่คุณต้องการแปลงเป็นราสเตอร์ Aspose.Words รองรับ `.doc`, `.docx`, `.rtf` และรูปแบบอื่น ๆ มากมาย ดังนั้นคุณจึงไม่จำกัดอยู่แค่ไฟล์ Office แบบคลาสสิก + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +ทำไมเราตรวจสอบ `PageCount`? เพราะเอกสารที่มีหน้าเป็นศูนย์จะทำให้ได้ PNG ว่างเปล่า ซึ่งมักเป็นความล้มเหลวแบบเงียบที่ทำให้โค้ดต่อไปทำงานผิดพลาด. + +## ขั้นตอนที่ 3: ตั้งค่าตัวเลือกการเรนเดอร์ภาพ + +เมื่อแปลงเนื้อหา Word ที่เป็นเวกเตอร์เป็นบิตแมป คุณจะสังเกตเห็นขอบหยักถ้าใช้ค่าเริ่มต้น การเปิดใช้งาน antialiasing จะทำให้เส้นเหล่านั้นเรียบขึ้น โดยเฉพาะสำหรับแผนภูมิ, รูปร่าง, และข้อความขนาดเล็ก + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +คุณอาจสงสัยว่า “ต้องใช้ antialiasing เสมอหรือไม่?” โดยทั่วไปใช่ เว้นแต่คุณกำลังสร้างไอคอนขนาดเล็กที่ประสิทธิภาพสำคัญกว่าความคมชัดของภาพ. + +## ขั้นตอนที่ 4: เรนเดอร์แต่ละหน้าเป็นไฟล์ PNG แยกกัน + +เอกสาร Word สามารถมีหลายหน้า Aspose.Words ให้คุณเรนเดอร์เอกสารทั้งหมดเป็นภาพเดียวได้ แต่รูปแบบที่นิยมใช้คือการสร้าง PNG หนึ่งไฟล์ต่อหนึ่งหน้า ด้านล่างเราจะวนลูปผ่านหน้าแต่ละหน้าและเรนเดอร์เป็นไฟล์ของมันเอง + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**ทำไมต้องใช้บล็อก `using`?** `ImageRenderer` ถือทรัพยากรที่ไม่ได้จัดการโดย .NET (เช่น handle ของ GDI+) การห่อหุ้มด้วย `using` จะรับประกันการทำความสะอาดที่ถูกต้อง ป้องกันการรั่วของหน่วยความจำในเซอร์วิสที่ทำงานต่อเนื่อง + +### กรณีขอบและเคล็ดลับ + +- **เอกสารขนาดใหญ่:** การเรนเดอร์เอกสาร 200 หน้าอาจใช้หน่วยความจำสูง พิจารณาเรนเดอร์เป็นชุดหรือเพิ่มค่า `MaxMemoryUsage` หากเจอ `OutOfMemoryException`. +- **พื้นหลังโปร่งใส:** หากไฟล์ Word ของคุณมีรูปร่างโปร่งใสและต้องการ PNG โปร่งใส ให้ตั้ง `BackgroundColor = Color.Transparent` ใน `ImageRenderingOptions`. +- **การสเกล:** หากต้องการสร้างภาพย่อ ให้ปรับ `ImageSaveOptions` (เช่น `Resolution = 72`) หรือปรับขนาด PNG ที่ได้ด้วย `System.Drawing`. + +## ขั้นตอนที่ 5: สรุปเป็นเมธอดที่นำกลับมาใช้ใหม่ได้ + +การมีตรรกะการแปลงอยู่ในเมธอดเดียวทำให้เรียกใช้ได้จากทุกที่ — ไม่ว่าจะเป็น Web API, background worker, หรือ UI ของเดสก์ท็อป + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +คุณสามารถเรียกใช้ได้ทันที: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +และเมธอดนี้จะ **save Word document as PNG** ไฟล์ที่มีชื่อ `page_1.png`, `page_2.png`, ฯลฯ + +## ผลลัพธ์ที่คาดหวัง + +รันโค้ดตัวอย่างบนไฟล์ `input.docx` ที่มีสามหน้า จะได้ผลลัพธ์ดังนี้: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +เปิด PNG ใดไฟล์ก็ได้ในโปรแกรมดูภาพ — คุณควรเห็นการเรนเดอร์ที่คมชัด, มี antialiasing ของหน้า Word ที่สอดคล้องกัน ไม่มีขอบสีขาวหรือการบิดเบือน เพียงภาพบิตแมปที่ตรงกับหน้าเอกสารเท่านั้น. + +## ปัญหาที่พบบ่อยและวิธีหลีกเลี่ยง + +| ปัญหา | ทำไมเกิดขึ้น | วิธีแก้ | +|-------|----------------|-----| +| **Blank PNG** | เอกสารไม่โหลด (`doc` เป็น null) หรือดัชนีหน้านอกช่วง. | ตรวจสอบเส้นทางไฟล์และให้แน่ใจว่า `doc.PageCount` > 0 ก่อนทำการเรนเดอร์. | +| **Jagged Text** | Antialiasing ถูกปิดหรือ DPI ต่ำเกินไป. | ตั้ง `UseAntialiasing = true` และอาจเพิ่ม `Resolution` (เช่น 150 DPI). | +| **Out‑of‑Memory** | เรนเดอร์หน้าขนาดใหญ่มากที่ DPI สูงในลูปที่แคบ. | เรนเดอร์ทีละหน้า (ตามที่แสดง) และทำลาย `ImageRenderer` อย่างรวดเร็ว. | +| **Incorrect Colors** | สีพื้นหลังเริ่มต้นเป็นสีขาว; เอกสารที่มีความโปร่งใสจะแสดงเป็นสีขาว. | ตั้ง `BackgroundColor = Color.Transparent` เมื่อจำเป็น. | + +## สรุป + +เราได้แสดงวิธีที่สะอาดและพร้อมใช้งานในระดับ production เพื่อ **convert Word document to PNG** และโดยอ้อม **save Word document as PNG** ด้วย Aspose.Words for .NET ขั้นตอนเป็นดังนี้: + +1. โหลดไฟล์ `.docx` ด้วย `Document`. +2. ปรับ `ImageRenderingOptions` (antialiasing, DPI, พื้นหลัง). +3. วนลูปผ่านหน้าและเรียก `ImageRenderer.RenderToFile`. + +ด้วยเมธอด `ConvertWordToPng` ที่นำกลับมาใช้ใหม่ได้ คุณสามารถผสานการแสดงตัวอย่างแบบภาพในแอป C# ใดก็ได้ — ไม่ว่าจะเป็นเว็บเซอร์วิสที่สร้างภาพย่อสำหรับสัญญาที่อัปโหลด, เครื่องมือเดสก์ท็อปที่เก็บรายงานเป็น PNG, หรือแบตช์งานที่เตรียมทรัพยากรสำหรับระบบจัดการเนื้อหา + +**ต่อไปทำอะไร?** ลองทดลองกับรูปแบบภาพอื่น (`ImageFormat.Jpeg`, `Bmp`) หรือสำรวจ `PdfSaveOptions` หากต้องการ PDF ควบคู่กับ PNG คุณอาจลองเพิ่มลายน้ำหรือปรับขนาดผลลัพธ์แบบไดนามิก + +ขอให้สนุกกับการเขียนโค้ด และอย่าลังเลที่จะคอมเมนต์หากเจออุปสรรคใด ๆ! + +## บทเรียนที่เกี่ยวข้อง + +- [แปลง docx เป็น png – สร้างไฟล์ zip c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [วิธีเปิดใช้งาน Antialiasing เมื่อแปลง DOCX เป็น PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [วิธีใช้ Aspose เพื่อเรนเดอร์ HTML เป็น PNG – คู่มือขั้นตอนโดยละเอียด](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/thai/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..77f6dfac6 --- /dev/null +++ b/html/thai/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: สร้าง PNG จาก HTML อย่างรวดเร็วด้วย Aspose.HTML เรียนรู้การเรนเดอร์ HTML + เป็น PNG, แปลง HTML เป็น PNG และจัดการทรัพยากรอย่างมีประสิทธิภาพ. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: th +og_description: สร้าง PNG จาก HTML ด้วย Aspose.HTML คู่มือนี้แสดงวิธีการเรนเดอร์ HTML + เป็น PNG, แปลง HTML เป็น PNG และจัดการทรัพยากรอย่างเหมาะสม +og_title: สร้าง PNG จาก HTML – บทเรียนการเขียนโปรแกรมครบถ้วน +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: สร้าง PNG จาก HTML – คู่มือเต็มขั้นตอน +url: /th/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สร้าง PNG จาก HTML – คู่มือเต็มขั้นตอน + +เคยสงสัยไหมว่า **สร้าง PNG จาก HTML** อย่างไรโดยไม่ต้องพึ่งเครื่องมือของบุคคลที่สามหลายตัว? คุณไม่ได้เป็นคนเดียว ไม่ว่าคุณจะสร้างตัวสร้างตัวอย่างอีเมล, แดชบอร์ดรายงาน, หรือบริการสร้างรูปย่อ การแปลง HTML ให้เป็นภาพ PNG ที่คมชัดเป็นความต้องการทั่วไป ในบทเรียนนี้เราจะเดินผ่านตัวอย่างที่ทำงานได้เต็มรูปแบบซึ่ง **เรนเดอร์ HTML เป็น PNG**, แสดงวิธี **แปลง HTML เป็น PNG** ด้วย Aspose.HTML, และอธิบาย **วิธีจัดการทรัพยากร** เช่น รูปภาพ, CSS, และฟอนต์ + +เราจะเริ่มจากสตริง HTML เล็ก ๆ ตั้งค่า `ResourceHandler` ที่กำหนดเองเพื่อเขียนทุกแอสเซ็ตภายนอกลงดิสก์ และจบด้วยการบันทึกไฟล์ PNG ที่สมบูรณ์แบบ เมื่อเสร็จคุณจะมีโซลูชันที่สามารถใส่ลงในโปรเจกต์ .NET ใดก็ได้ + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีสร้าง `HTMLDocument` จากสตริงหรือไฟล์ +- วิธีทำ `ResourceHandler` ที่กำหนดเองเพื่อให้ทุกทรัพยากรที่เรนเดอร์ขอมาได้ถูกบันทึกลงเครื่องท้องถิ่น +- ขั้นตอนที่แน่นอนเพื่อ **เรนเดอร์ HTML เป็น PNG** ด้วย `ImageRenderer` +- ข้อผิดพลาดทั่วไป (ฟอนต์หาย, URL แบบ relative) และวิธี **จัดการทรัพยากร** ที่ดีที่สุด +- วิธีตรวจสอบผลลัพธ์และปรับขนาดหรือรูปแบบภาพหากต้องการ + +### ข้อกำหนดเบื้องต้น + +- .NET 6.0 หรือใหม่กว่า (โค้ดนี้ยังทำงานบน .NET Framework 4.7+) +- การอ้างอิงแพคเกจ NuGet **Aspose.HTML for .NET** +- ความคุ้นเคยพื้นฐานกับ C# และสตรีมแบบ asynchronous (ไม่จำเป็น แต่ช่วยได้) + +ไม่มีเครื่องมือภายนอก, ไม่มี headless browser—เพียง C# ธรรมดาและ Aspose.HTML + +--- + +## Create PNG from HTML – Overview + +ด้านล่างเป็น **โค้ดที่พร้อมรันเต็มรูปแบบ** คัดลอก‑วางลงในแอปคอนโซล, ปรับค่า `YOUR_DIRECTORY` แล้วกด F5 + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** แทนที่ `"YOUR_DIRECTORY"` ด้วยพาธเต็ม (เช่น `Path.GetFullPath("./output")`) เพื่อหลีกเลี่ยงความประหลาดใจเมื่อแอปทำงานจากโฟลเดอร์ทำงานอื่น + +--- + +## Step 1: Prepare the HTML Document + +สิ่งแรกที่เราทำคือห่อสตริง HTML ดิบไว้ใน `HTMLDocument` Aspose.HTML จะถือวัตถุนี้เป็น DOM ที่ครบถ้วน ซึ่งหมายความว่าจะประมวลผลแท็ก ``, บล็อก ` + + +
Hello, world!
+ Demo logo + +"); +``` + +คุณสามารถแทนที่สตริงด้วย HTML ใดก็ได้—อาจเป็นผลลัพธ์จาก Razor view หรือการแปลง Markdown‑to‑HTML ส่วนสำคัญคือเอกสารต้องรู้จัก handler แบบกำหนดเองที่เราจะส่งต่อในขั้นตอนต่อไป + +--- + +## Image Rendering Options – Fine‑Tuning Antialiasing and Font Hinting + +การ render ธรรมดาก็ทำงานได้, แต่บางครั้งคุณต้องการความละเอียดเพิ่ม: ขอบที่เรียบเนียน, ข้อความที่คมชัด, หรือการจัดตำแหน่ง sub‑pixel ที่ถูกต้อง นี่คือจุดที่ **image rendering options** มีบทบาท + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*กำลังเกิดอะไรขึ้นเบื้องหลัง?* +`ImageRenderingOptions` บอก renderer ว่าจะใช้ฟอนต์ใดและจะทำให้รูปทรงเรขาคณิตเรียบเนียนหรือไม่ `TextOptions` มุ่งเน้นที่การ rasterize glyphs—hinting จะจัดตัวอักษรให้ตรงกับพิกเซลกริด, ซึ่งมีประโยชน์มากเมื่อขนาดตัวอักษรเล็ก + +--- + +## Render HTML with Options – Applying Rendering Settings + +เมื่อเอกสารและ options พร้อม, เราสามารถ **render HTML with options** ได้แล้ว เราจะสร้างไฟล์สามไฟล์: + +1. PNG พื้นฐาน (ไม่มี options เพิ่ม) +2. PNG ที่มี antialiasing +3. PNG ที่เปิด hinting + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +สังเกตว่า `ImageRenderer` แต่ละตัวรับอาร์กิวเมนต์ที่สองที่แตกต่างกัน: handler ธรรมดา, การตั้งค่า antialiasing, และการตั้งค่า hinting รูปแบบนี้ทำให้คุณสลับ configuration ได้โดยไม่ต้องแก้โค้ดส่วนอื่น—เหมาะกับ unit test หรือ feature flag + +> **Common question:** *“Can I combine antialiasing and hinting in one pass?”* +> แน่นอน เพียงสร้างอ็อบเจกต์ options เดียวที่ตั้งค่า `UseAntialiasing` และ `UseHinting` เป็น `true` แล้วส่งให้ `ImageRenderer` + +--- + +## Verify the Output – What to Expect + +หลังจากรันโปรแกรม, เปิดไฟล์ PNG สามไฟล์: + +- **out.png** – ภาพสแนปช็อตของ HTML อย่างตรงไปตรงมา, แต่ขอบอาจดูหยักเล็กน้อย +- **img.png** – เส้นและโค้งเรียบเนียนขึ้นด้วย antialiasing +- **txt.png** – ข้อความคมชัดกว่า, โดยเฉพาะที่ขนาด 12 pt Verdana, เนื่องจาก font hinting + +หากภาพใดภาพหนึ่งดูแปลก, ตรวจสอบว่า `YOUR_DIRECTORY/Resources` มีไฟล์ `logo.png` ที่อ้างอิงอยู่หรือไม่ ไฟล์ที่ขาดจะทำให้ renderer ใช้ placeholder ซึ่งอาจดูแปลกประหลาด + +--- + +## Full Working Example + +ด้านล่างเป็นโปรแกรมทั้งหมด, พร้อมคัดลอก‑วางลงใน console app. รวม `using` directives ทั้งหมดและเมธอด `Main` ขั้นต่ำ + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +รันโปรแกรม, ตรวจสอบ PNG สามไฟล์, แล้วคุณจะเห็นว่าตัวเลือกแต่ละอย่างส่งผลต่อภาพสุดท้ายอย่างไร อย่ากลัวทดลอง—เปลี่ยนฟอนต์, เปิด/ปิด `UseAntialiasing`, หรือเพิ่มกฎ CSS มากขึ้น ไม่จำกัดอะไรเลยเมื่อคุณ **convert HTML to image** ตามต้องการ + +--- + +## Next Steps & Related Topics + +- **Batch processing:** วนลูปผ่านคอลเลกชันของ HTML snippet แล้วสร้าง thumbnail ให้แต่ละอัน +- **PDF conversion:** นำ PNG มารวมกับไลบรารี PDF (เช่น iTextSharp) เพื่อสร้างเอกสารหลายหน้า +- **Dynamic resources:** ขยาย `MyHandler` ให้ดึงภาพจาก CDN หรือฐานข้อมูลแทนไฟล์ระบบ +- **Performance tuning:** แคชภาพที่ render แล้วเมื่อ HTML ต้นฉบับไม่เปลี่ยน; จะลดการใช้ CPU อย่างมาก + +หากคุณสนใจการปรับแต่งขั้นสูง, ลองดู property `RenderTransform` ของ `ImageRenderer` สำหรับการหมุนหรือสเกล, หรือสำรวจการตั้งค่า `CssEngine` สำหรับการควบคุม layout ขั้นสูง + +--- + +## Conclusion + +เราได้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อ **render HTML to PNG** ด้วย C#: ตัวจัดการ resource แบบกำหนดเอง, การโหลด markup, การกำหนด *image rendering options*, และสุดท้าย **render HTML with options** ที่ให้คุณได้ antialiasing และ font hinting ตัวอย่างที่สมบูรณ์และพร้อมรันควรทำงานได้ทันที, และการออกแบบแบบโมดูลาร์ทำให้ปรับใช้กับโปรเจกต์ขนาดใหญ่ได้ง่าย + +ลองใช้งาน, ปรับตั้งค่า, แล้วให้ภาพที่ render ทำหน้าที่สื่อสารในแคมเปญอีเมล, dashboard, หรือเครื่องมือรายงานครั้งต่อไปของคุณ + +## Related Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/turkish/net/generate-jpg-and-png-images/_index.md index a918363c4..34d00971e 100644 --- a/html/turkish/net/generate-jpg-and-png-images/_index.md +++ b/html/turkish/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ HTML belgelerini düzenlemek, HTML'yi resimlere dönüştürmek ve daha fazlası DOCX belgelerini PNG veya JPG formatına dönüştürürken antialiasing'i etkinleştirerek daha net ve pürüzsüz görüntüler elde edin. ### [docx'i png'ye dönüştür – zip arşivi oluşturma C# eğitimi](./convert-docx-to-png-create-zip-archive-c-tutorial/) C# kullanarak docx dosyalarını png formatına dönüştürüp, sonuçları zip arşivi içinde paketlemeyi öğrenin. +### [HTML'den PNG Oluşturma – Tam Adım‑Adım Kılavuz](./create-png-from-html-full-step-by-step-guide/) +HTML içeriğini PNG formatına dönüştürmek için eksiksiz adım adım rehber. +### [Aspose ile HTML'den PNG Oluşturma – HTML'yi PNG'ye Render Et](./create-png-from-html-with-aspose-render-html-to-png/) +Aspose kullanarak HTML içeriğini PNG formatına dönüştürmeyi adım adım öğrenin. +### [Word Belgesini PNG'ye Dönüştür – Tam Programlama Kılavuzu](./convert-word-document-to-png-complete-programming-guide/) +Aspose.HTML for .NET ile Word belgelerini PNG formatına dönüştürerek yüksek kaliteli görseller elde edin. +### [C# ile docx'i png'ye Dönüştür – Tam Adım‑Adım Kılavuz](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +C# kullanarak docx dosyalarını png formatına dönüştürmeyi adım adım öğrenin. +### [HTML'yi PNG'ye Render Et – Özel İşleyiciler ve Seçeneklerle Tam Kılavuz](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +HTML'yi PNG'ye dönüştürürken özel işleyiciler ve çeşitli seçenekleri kullanarak tam kontrol sağlayın. ## Çözüm diff --git a/html/turkish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/turkish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..f82169ebf --- /dev/null +++ b/html/turkish/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-05-25 +description: C# kullanarak docx'i hızlıca png'ye dönüştürün. Word'ü görüntüye nasıl + dönüştüreceğinizi, Word'ü png olarak nasıl dışa aktaracağınızı ve tek bir öğreticide + özel yazı tipini nasıl ayarlayacağınızı öğrenin. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: tr +og_description: C# ile docx'i png'ye dönüştürün. Bu rehber, Word'ü png olarak dışa + aktarmayı ve mükemmel sonuçlar için özel bir yazı tipi ayarlamayı gösterir. +og_title: C#'de docx'i png'ye dönüştür – Tam Programlama Kılavuzu +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: C# ile docx'i png'ye dönüştür – Tam Adım Adım Rehber +url: /tr/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# ile docx'i png'ye dönüştür – Tam Adım Adım Kılavuz + +Hiç **convert docx to png** gerektiğinde, temiz glifler ve tam sayfa doğruluğu sağlayacak kütüphanenin hangisi olduğunu bilemediniz mi? Yalnız değilsiniz. Birçok ofis‑otomasyon projesinde, bir Word belgesini bir görüntüye (örneğin “convert word to image”) dönüştürmek, içeriği bir web sayfasına ya da e-postaya Office kurulumlarıyla uğraşmadan yerleştirmenin en hızlı yoludur. + +Şöyle ki: Aspose.Words for .NET API, sadece birkaç satırla **export word as png** yapmanıza olanak tanıyor ve hatta **set custom font** ayarlarını belirleyerek çıktının tam olarak orijinali gibi görünmesini sağlayabilirsiniz. Bu öğreticide, paketi kurmaktan son PNG'yi render etmeye kadar tüm süreci adım adım göstereceğiz—böylece bugün docx'i png'ye dönüştürmeye başlayabilirsiniz. + +## docx'i png'ye dönüştür – Genel Bakış ve Gereksinimler + +Kodun içine girmeden önce, ihtiyacınız olan her şeye sahip olduğunuzdan emin olalım: + +* **.NET 6.0 veya daha yeni** – örnek .NET 6 hedefli, ancak daha eski sürümler de çalışır. +* **Aspose.Words for .NET** – `Document`, `TextOptions` ve `ImageRenderer` sağlayan bir NuGet paketi. +* Görüntüye dönüştürmek istediğiniz bir **örnek DOCX** dosyası (referans alabileceğiniz bir klasöre koyun). +* İsteğe bağlı: **özel TrueType yazı tipi** (ör. Times New Roman) – belge varsayılan yazı tipini geçersiz kılmak isterseniz. + +Bu kutucukları işaretlediyseniz, word'i image'a güvenle dönüştürmeye hazırsınız. + +## Aspose.Words for .NET'i Kurun (convert word to image) + +İlk adım, kütüphaneyi projenize eklemek. Çözüm klasörünüzde bir terminal açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.Words +``` + +Bu tek komut, **export docx as png** için ihtiyacımız olan `ImageRenderer` sınıfını içeren en son kararlı Aspose.Words sürümünü ekler. Geri yükleme tamamlandığında, hazırsınız. + +> **Pro tip:** Visual Studio kullanıyorsanız, paketi NuGet Package Manager UI üzerinden de ekleyebilirsiniz—sadece “Aspose.Words” aratın. + +## Kaynak belgeyi yükle (convert docx to png) + +Şimdi DOCX dosyasını yükleyeceğiz. İşte **convert docx to png** işlem hattının gerçekten başladığı nokta. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` bellek içinde tüm Word dosyasını temsil eder. Yol mutlak ya da göreli olabilir; dosyanın var olduğundan emin olun, aksi takdirde `FileNotFoundException` alırsınız. + +## Metin render seçeneklerini yapılandır (set custom font) + +DOCX'iniz hedef makinede yüklü olmayan bir yazı tipi kullanıyorsa, render edilen PNG hatalı görünebilir. Bu yüzden dışa aktarmadan önce genellikle **set custom font** yapmanız gerekir. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting`, renderlayıcıya alt‑piksel hinting uygulamasını söyler; bu, harf kenarlarını keskinleştirir—özellikle yüksek çözünürlüklü PNG'ler için önemlidir. +* `FontInfo`, orijinal DOCX ne belirtiyor olursa olsun, tüm metni *Times New Roman* 14 pt olarak çizmeye zorlar. Sunucunuzda bulunan herhangi bir yazı tipiyle ismi değiştirebilirsiniz. + +## ImageRenderer Oluştur (convert word to image) + +Belge ve seçenekler hazır olduğunda `ImageRenderer` örneğini oluştururuz. Bu sınıf, sayfaları bitmap görüntülere dönüştürmenin ağır işini yapar. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +Birkaç not: + +* `using` bloğu, renderlayıcının yerel kaynakları (GDI tutamaçları gibi) hızlıca serbest bırakmasını sağlar. +* `RenderToFile` bir yol ve bir `ImageFormat` alır. Tüm sayfalara ihtiyacınız varsa, `renderer.PageCount` üzerinden döngü kurarak sayfa‑özel dosya adıyla `RenderToFile` çağırabilirsiniz. + +## Çıktıyı doğrula (export docx as png) + +Kod çalıştıktan sonra, belirttiğiniz klasörde `hinted.png` dosyasını görmelisiniz. Herhangi bir görüntü görüntüleyicide açın—metin net mi? Özel bir yazı tipi kullandıysanız, tüm sayfa boyunca tutarlı bir tipografi fark edeceksiniz. + +![convert docx to png örnek çıktısı](https://example.com/assets/convert-docx-to-png.png "convert docx to png örnek çıktısı") + +*Alt metin:* **convert docx to png example output** – Times New Roman yazı tipine sahip bir Word sayfasının PNG render'ı. + +Görüntü bulanıksa, `UseHinting`'in `true` olarak ayarlandığını ve renderlayıcının DPI'sının (varsayılan 96) ihtiyaçlarınıza uygun olduğunu iki kez kontrol edin. `RenderToFile` çağırmadan önce `renderer.ImageOptions.Resolution = 300;` ile DPI'ı ayarlayabilirsiniz. + +## Tam, çalıştırılabilir program (export word as png) + +Her şeyi bir araya getirerek, `Program.cs` içine kopyalayıp yapıştırabileceğiniz ve çalıştırabileceğiniz bağımsız bir konsol uygulaması aşağıdadır: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Bu programın yaptığı şey:** + +1. `input.docx` dosyasını yükler. +2. Tüm karakterleri *Times New Roman* 14 pt ve hinting etkinleştirilmiş şekilde zorlar. +3. İlk sayfayı 300 DPI'de render eder, yüksek kaliteli bir PNG üretir. +4. Başarıyı onaylayan dostça bir konsol mesajı yazar. + +`dotnet run` ile çalıştırın ve web gösterimi, PDF gömme veya Office yükü olmadan **convert docx to png** yapmanız gereken herhangi bir senaryo için mükemmel render edilmiş bir görüntü elde edin. + +## Yaygın sorular ve uç‑durum yönetimi + +* **Tüm sayfalara ihtiyacım olursa ne yapmalıyım?** + `renderer.PageCount` üzerinden döngü kurun ve dosya adına sayfa numarasını ekleyerek `RenderToFile` çağırın, ör. `output_page_{i}.png`. + +* **Başka görüntü formatlarına dışa aktarabilir miyim?** + Kesinlikle. `ImageFormat.Png` yerine `ImageFormat.Jpeg`, `ImageFormat.Bmp` veya `ImageFormat.Tiff` kullanarak ihtiyacınıza göre formatı değiştirin. + +* **Belgem gömülü yazı tipleri kullanıyor—**set custom font**'a hâlâ ihtiyacım var mı?** + DOCX zaten istediğiniz yazı tiplerini gömüyorsa, `Font` özelliğini atlayabilirsiniz. Renderlayıcı gömülü yazı tipini otomatik olarak kullanır. + +* **Büyük belgeleri bellek tüketmeden nasıl işlerim?** + `using` bloğu içinde bir sayfayı bir seferde işleyin ve her oluşturulan bitmap'i kaydettikten sonra serbest bırakın. Böylece bellek ayak izi düşük kalır. + +* **Lisans konusunda bir sorun var mı?** + Aspose.Words ücretsiz deneme sürümünde filigran ekler. Üretim için bir lisans satın alın ve belgeyi yüklemeden önce `License license = new License(); license.SetLicense("Aspose.Words.lic");` kodunu çalıştırın. + +## Sonuç + +Artık C# kullanarak **convert docx to png** yapmanız için eksiksiz, üretim‑hazır bir tarifiniz var. Kılavuz, Aspose.Words'i (**convert word to image** için gidilecek kütüphane) kurmaktan **set custom font** senaryosu için `TextOptions` yapılandırmaya, son olarak da görüntü dosyasını render etmeye kadar her şeyi kapsadı. Bu bilgiyle **export word as png** yapabilir, web sayfalarına gömebilir, küçük resimler oluşturabilir ya da herhangi bir görüntü‑işleme hattına besleyebilirsiniz. + +Sırada ne var? Birden fazla sayfa dışa aktarın, farklı DPI ayarlarıyla deney yapın ya da çıktı formatını değiştirmeyi deneyin + + +## İlgili Öğreticiler + +- [DOCX'i PNG/JPG'ye Dönüştürürken Antialiasing'i Nasıl Etkinleştirirsiniz](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Aspose.HTML ile .NET'te HTML'yi PNG'ye Dönüştürme](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – zip arşivi oluşturma c# öğreticisi](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/turkish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/turkish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..77418143e --- /dev/null +++ b/html/turkish/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Word belgesini hızlı bir şekilde PNG'ye dönüştürmeyi öğrenin. Bu öğreticide + ayrıca Word belgesini antialiasing ile PNG olarak kaydetme yöntemi gösterilmektedir. +draft: false +keywords: +- convert word document to png +- save word document as png +language: tr +og_description: Birkaç satır C# kodu ile Word belgesini PNG'ye dönüştürün. Word belgesini + verimli bir şekilde PNG olarak kaydetmek için bu rehberi izleyin. +og_title: Word Belgesini PNG'ye Dönüştür – Adım Adım Kılavuz +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Word Belgesini PNG'ye Dönüştür – Tam Programlama Rehberi +url: /tr/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Word Belgesini PNG'ye Dönüştür – Tam Programlama Rehberi + +Hiç **Word belgesini PNG'ye dönüştürmek** gerekti ama hangi kütüphaneyi ya da ayarları seçeceğinizi bilemediniz mi? Yalnız değilsiniz. Birçok ofis‑otomasyon projesinde `.docx` dosyasının raster bir görüntüsüne ihtiyaç duyarsınız—belki küçük önizlemeler, e‑posta gömülmeleri ya da hızlı görsel kontroller için. İyi haber şu ki, sadece birkaç satır C# kodu ile **Word belgesini PNG olarak kaydedebilirsiniz** ve hiçbir manuel uğraş gerekmez. + +Bu öğreticide Aspose.Words for .NET kullanarak gerçek bir örnek üzerinden ilerleyeceğiz. Kaynak dosyanın yüklenmesinden, net bir çıktı için görüntü render seçeneklerinin ayarlanmasına, PNG dosyasının diske yazılmasına kadar her şeyi ele alacağız. Sonunda, herhangi bir .NET projesine ekleyebileceğiniz yeniden kullanılabilir bir metoda sahip olacaksınız. + +## Önkoşullar + +Başlamadan önce şunların yüklü olduğundan emin olun: + +- **.NET 6.0** veya üzeri (kod .NET Framework 4.6+ üzerinde de çalışır). +- **Aspose.Words for .NET**'in **lisanslı** bir kopyası (ücretsiz deneme sürümü test için yeterlidir). +- Visual Studio 2022 veya tercih ettiğiniz başka bir IDE. +- Referans verebileceğiniz bir klasörde bulunan örnek bir Word dosyası (`input.docx`). + +Başka üçüncü‑taraf paketine ihtiyaç yoktur. + +## Adım 1: Projeyi Oluşturun ve Namespace'leri İçe Aktarın + +İlk olarak yeni bir console uygulaması oluşturun (ya da mevcut bir servise entegre edin). Ardından Aspose.Words NuGet paketini ekleyin: + +```bash +dotnet add package Aspose.Words +``` + +Şimdi gerekli namespace'leri dosyanıza ekleyin: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **İpucu:** .NET 6+ hedefliyorsanız, üst‑seviye ifadeler (top‑level statements) özelliğini kullanarak `Main` metodunu atlayabilirsiniz. + +## Adım 2: Kaynak Word Belgesini Yükleyin + +Dönüştürme hattındaki ilk gerçek adım, rasterleştirmek istediğiniz belgeyi yüklemektir. Aspose.Words `.doc`, `.docx`, `.rtf` ve birçok başka formatı destekler, bu yüzden klasik Office dosya tipleriyle sınırlı değilsiniz. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +`PageCount`'ı neden kontrol ediyoruz? Çünkü sıfır sayfalı bir belge boş bir PNG üretir; bu genellikle sessiz bir hatadır ve sonraki kodları bozar. + +## Adım 3: Görüntü Render Seçeneklerini Yapılandırın + +Vektör‑tabanlı Word içeriğini bitmap'e dönüştürürken, varsayılan ayarlarla çalışırsanız kenarları tırtıklı görebilirsiniz. Antialiasing'i etkinleştirmek, özellikle grafikler, şekiller ve küçük boyutlu metinlerde bu hatları yumuşatır. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Şöyle düşünebilirsiniz: “Her zaman antialiasing gerekir mi?” Genellikle evet, sadece çok küçük ikonlar üretip performansın görsel kaliteyi aştığı durumlar dışında. + +## Adım 4: Her Sayfayı Ayrı Bir PNG Dosyasına Render Edin + +Bir Word belgesi birden fazla sayfa içerebilir. Aspose.Words tüm belgeyi tek bir görüntü olarak render edebilir, ancak daha yaygın yöntem her sayfa için bir PNG üretmektir. Aşağıda sayfalar üzerinde döngü kurarak her birini ayrı dosyaya render edeceğiz. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**`using` bloğu neden kullanılır?** `ImageRenderer` yönetilmeyen kaynaklar (ör. GDI+ tutamaçları) tutar. `using` ile sarmak, uzun süren servislerde bellek sızıntılarını önlemek için doğru temizlik sağlar. + +### Kenar Durumları ve İpuçları + +- **Büyük Belgeler:** 200‑sayfalık bir belge render etmek bellek yoğun olabilir. Bellek kullanımını azaltmak için partiler halinde render etmeyi ya da `MaxMemoryUsage` özelliğini artırmayı düşünün; `OutOfMemoryException` alırsanız bu işe yarar. +- **Şeffaf Arka Planlar:** Word dosyanız şeffaf şekiller içeriyorsa ve şeffaf bir PNG istiyorsanız, `ImageRenderingOptions` içinde `BackgroundColor = Color.Transparent` ayarlayın. +- **Ölçekleme:** Küçük önizleme üretmek için `ImageSaveOptions` içinde (ör. `Resolution = 72`) DPI'yi düşürebilir ya da `System.Drawing` ile elde edilen PNG'yi yeniden boyutlandırabilirsiniz. + +## Adım 5: Yeniden Kullanılabilir Bir Metod Olarak Paketleyin + +Dönüştürme mantığını tek bir metodda toplamak, web API, arka plan çalışanı ya da masaüstü UI gibi her yerden çağırmayı kolaylaştırır. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Şimdi şu şekilde çağırabilirsiniz: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Ve metod **Word belgesini PNG olarak kaydedecek**; dosyalar `page_1.png`, `page_2.png` vb. adlarla oluşturulacak. + +## Beklenen Çıktı + +Örnek kodu üç‑sayfalı bir `input.docx` üzerinde çalıştırdığınızda şu dosyalar oluşur: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Bu PNG'lerden birini görüntüleyicinizde açın—her Word sayfasının net, antialiasing uygulanmış bir renderını görmelisiniz. Ek kenarlık, bozulma yok; sadece doğru bir bitmap anlık görüntüsü. + +## Yaygın Tuzaklar ve Çözüm Önerileri + +| Sorun | Neden Oluşur | Çözüm | +|-------|--------------|------| +| **Boş PNG** | Belge yüklenmemiş (`doc` null) ya da sayfa indeksi geçersiz. | Dosya yolunu doğrulayın ve render öncesi `doc.PageCount` > 0 olduğundan emin olun. | +| **Köşeli Metin** | Antialiasing kapalı veya DPI çok düşük. | `UseAntialiasing = true` ayarlayın ve isteğe bağlı olarak `Resolution` değerini (ör. 150 DPI) artırın. | +| **Bellek Yetersizliği** | Yüksek DPI'da büyük sayfaları sıkı bir döngüde render etmek. | Gösterildiği gibi bir sayfayı tek tek render edin ve `ImageRenderer`'ı hemen dispose edin. | +| **Yanlış Renkler** | Arka plan varsayılan olarak beyaz; şeffaf belgeler beyaz görünür. | Gerekli durumlarda `BackgroundColor = Color.Transparent` ayarlayın. | + +## Sonuç + +Aspose.Words for .NET kullanarak **Word belgesini PNG'ye dönüştürme** ve dolayısıyla **Word belgesini PNG olarak kaydetme** için temiz, üretim‑hazır bir yolu gösterdik. Adımlar basit: + +1. `.docx` dosyasını `Document` ile yükleyin. +2. `ImageRenderingOptions`'ı (antialiasing, DPI, arka plan) ayarlayın. +3. Sayfalar üzerinde döngü kurup `ImageRenderer.RenderToFile` çağırın. + +Yeniden kullanılabilir `ConvertWordToPng` metodunuzla, herhangi bir C# uygulamasına görüntü‑tabanlı önizlemeler ekleyebilirsiniz—ör. yüklenen sözleşmeler için thumbnail üreten bir web servisi, raporları PNG olarak arşivleyen bir masaüstü aracı ya da içerik‑yönetim sistemi için varlık hazırlayan bir toplu iş. + +**Sıradaki adım?** Diğer görüntü formatları (`ImageFormat.Jpeg`, `Bmp`) ile denemeler yapın ya da PNG'lerin yanında PDF ihtiyacınız varsa `PdfSaveOptions` keşfedin. Ayrıca su işareti ekleme ya da çıktıyı anlık yeniden boyutlandırma gibi ek özellikler de ekleyebilirsiniz. + +İyi kodlamalar, ve takıldığınız bir nokta olursa yorum bırakmaktan çekinmeyin! + +## İlgili Öğreticiler + +- [convert docx to png – create zip archive c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [How to Enable Antialiasing When Converting DOCX to PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/turkish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..02e0bbcf7 --- /dev/null +++ b/html/turkish/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,312 @@ +--- +category: general +date: 2026-05-25 +description: Aspose.HTML kullanarak HTML'den hızlıca PNG oluşturun. HTML'yi PNG'ye + render etmeyi, HTML'yi PNG'ye dönüştürmeyi ve kaynakları verimli bir şekilde yönetmeyi + öğrenin. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: tr +og_description: Aspose.HTML ile HTML'den PNG oluşturun. Bu kılavuz, HTML'yi PNG'ye + nasıl render edeceğinizi, HTML'yi PNG'ye nasıl dönüştüreceğinizi ve kaynakları doğru + şekilde nasıl yöneteceğinizi gösterir. +og_title: HTML'den PNG Oluştur – Tam Programlama Öğreticisi +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: HTML'den PNG Oluşturma – Tam Adım Adım Kılavuz +url: /tr/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# HTML'den PNG Oluşturma – Tam Adım‑Adım Kılavuz + +Üçüncü‑taraf araçlarıyla uğraşmadan **HTML'den PNG oluşturmayı** hiç merak ettiniz mi? Tek başınıza değilsiniz. İster bir e‑posta önizleme oluşturucu, ister raporlama panosu ya da bir küçük resim hizmeti geliştirin, HTML işaretlemesini net bir PNG görüntüsüne dönüştürmek yaygın bir ihtiyaçtır. Bu öğreticide **HTML'yi PNG'ye render eden**, **Aspose.HTML ile HTML'yi PNG'ye dönüştüren** ve **görseller, CSS ve yazı tipleri** gibi **kaynakların nasıl ele alınacağını** açıklayan tam, çalıştırılabilir bir örnek üzerinden ilerleyeceğiz. + +Küçük bir HTML dizesiyle başlayıp, her dış varlığı diske yazan özel bir `ResourceHandler` kuracağız ve sonunda kusursuz bir PNG dosyası kaydedeceğiz. Sonuna geldiğinizde, herhangi bir .NET projesine ekleyebileceğiniz bağımsız bir çözümünüz olacak. + +## Öğrenecekleriniz + +- Bir dizeden veya dosyadan `HTMLDocument` nasıl oluşturulur. +- Renderlayıcının talep ettiği her kaynağın yerel olarak kaydedilmesini sağlayan özel bir `ResourceHandler` nasıl uygulanır. +- `ImageRenderer` kullanarak **HTML'yi PNG'ye render etmenin** kesin adımları. +- Yaygın tuzaklar (eksik yazı tipleri, göreli URL'ler) ve **kaynakların nasıl ele alınacağı** en iyi yolu. +- Çıktıyı nasıl doğrular ve gerekirse görüntü boyutunu ya da formatını nasıl ayarlarsınız. + +### Ön Koşullar + +- .NET 6.0 veya üzeri (kod .NET Framework 4.7+ üzerinde de çalışır). +- **Aspose.HTML for .NET** NuGet paketine referans. +- C# ve asenkron akışlara temel aşinalık (zorunlu değil, faydalı). + +Harici araçlar, başsız tarayıcılar yok—sadece saf C# ve Aspose.HTML. + +--- + +## HTML'den PNG Oluşturma – Genel Bakış + +Aşağıda **tam, çalıştırmaya hazır kod** bulunuyor. Kopyala‑yapıştır yapıp bir konsol uygulamasına ekleyin, `YOUR_DIRECTORY` yer tutucusunu ayarlayın ve F5'e basın. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **İpucu:** `"YOUR_DIRECTORY"` ifadesini mutlak bir yol ile değiştirin (ör. `Path.GetFullPath("./output")`) böylece uygulama farklı bir çalışma dizininden çalıştığında sürpriz yaşamazsınız. + +--- + +## Adım 1: HTML Belgesini Hazırlama + +İlk olarak ham HTML dizesini bir `HTMLDocument` içine sarıyoruz. Aspose.HTML bu nesneyi tam özellikli bir DOM olarak ele alır; yani `` etiketlerini, ` + + +
Hello, world!
+ Demo logo + +"); +``` + +String'i istediğiniz herhangi bir HTML ile değiştirebilirsiniz—belki bir Razor görünümünün çıktısı ya da Markdown‑to‑HTML dönüşümü. Önemli olan, belgenin daha sonra geçireceğimiz özel işleyiciyi tanımasıdır. + +## Görüntü İşleme Seçenekleri – Antialiasing ve Font Hinting'i İnce Ayar + +Sade işleme çalışır, ancak bazen ekstra bir dokunuşa ihtiyaç duyarsınız: daha yumuşak kenarlar, daha net metin veya doğru alt‑piksel konumlandırma. İşte **görüntü işleme seçenekleri** burada devreye girer. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Arka planda ne oluyor?* +`ImageRenderingOptions`, işleyiciye hangi fontun kullanılacağını ve geometrik şekillerin yumuşatılıp yumuşatılmayacağını söyler. `TextOptions` ise gliflerin nasıl rasterleştirileceğine odaklanır—hinting, karakterleri piksel ızgarasına hizalar ve bu, özellikle küçük boyutlarda çok faydalıdır. + +## Seçeneklerle HTML İşleme – İşleme Ayarlarını Uygulama + +Belge ve seçenekler hazır olduğunda, nihayet **seçeneklerle HTML işleyebiliriz**. Üç dosya üreteceğiz: + +1. Temel bir PNG (ekstra seçenek yok). +2. Antialiasing uygulanmış bir PNG. +3. Hinting etkinleştirilmiş bir PNG. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Her bir `ImageRenderer`'ın farklı bir ikinci argüman aldığını fark edin: sade işleyici, antialiasing ayarları ve hinting ayarları. Bu desen, başka bir kodu değiştirmeden yapılandırmaları değiştirmenize olanak tanır—birim testleri veya özellik bayrakları için mükemmeldir. + +> **Sık sorulan soru:** *“Antialiasing ve hinting'i tek bir geçişte birleştirebilir miyim?”* +> Kesinlikle. `UseAntialiasing` ve `UseHinting` değerlerini `true` olarak ayarlayan tek bir seçenek nesnesi oluşturun ve ardından `ImageRenderer`'a geçirin. + +## Çıktıyı Doğrulama – Ne Beklenir + +Programı çalıştırdıktan sonra üç PNG dosyasını açın: + +- **out.png** – HTML'nin sadık bir anlık görüntüsü, ancak kenarlar biraz pürüzlü görünebilir. +- **img.png** – antialiasing sayesinde daha yumuşak çizgiler ve eğriler. +- **txt.png** – font hinting sayesinde metin daha keskin görünür, özellikle 12 pt Verdana'da. + +Eğer görüntülerden biri hatalı görünüyorsa, `YOUR_DIRECTORY/Resources` içinde referans verilen `logo.png` dosyasının bulunduğunu iki kez kontrol edin. Eksik varlıklar işleyicinin bir yer tutucuya dönmesine neden olur ve bu garip görünebilir. + +## Tam Çalışan Örnek + +Aşağıda, bir konsol uygulamasına kopyalayıp yapıştırmaya hazır tam program yer alıyor. Tüm `using` yönergelerini ve minimal bir `Main` metodunu içerir. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Programı çalıştırın, üç PNG'yi inceleyin ve her bir seçeneğin son resme nasıl etki ettiğini tam olarak göreceksiniz. Denemekten çekinmeyin—fontu değiştirin, `UseAntialiasing`'i açıp kapatın veya daha fazla CSS kuralı ekleyin. İsteğe bağlı **HTML'yi görüntüye dönüştürürken** sınır yoktur. + +## Sonraki Adımlar ve İlgili Konular + +- **Toplu işleme:** HTML parçacıklarından oluşan bir koleksiyon üzerinde döngü kurarak her biri için küçük resimler oluşturun. +- **PDF dönüşümü:** PNG'leri bir PDF kütüphanesi (ör. iTextSharp) ile birleştirerek çok sayfalı belgeler üretin. +- **Dinamik kaynaklar:** `MyHandler`'ı, dosya sisteminden ziyade bir CDN veya veritabanından resim çekebilecek şekilde genişletin. +- **Performans ayarı:** Kaynak HTML değişmediğinde işlenmiş görüntüleri önbelleğe alın; bu, CPU yükünü önemli ölçüde azaltır. + +Daha derin özelleştirmelerle ilgileniyorsanız, döndürme veya ölçekleme için `ImageRenderer`'ın `RenderTransform` özelliğine bakın veya gelişmiş düzen kontrolü için `CssEngine` ayarlarını keşfedin. + +## Sonuç + +C#'ta **HTML'yi PNG'ye dönüştürmek** için gereken her şeyi ele aldık: özel bir kaynak işleyici, işaretlemenin yüklenmesi, *görüntü işleme seçeneklerinin* yapılandırılması ve sonunda antialiasing ve font hinting sağlayan **seçeneklerle HTML işleme**. Tam, çalıştırılabilir örnek doğrudan çalışmalı ve modüler tasarım, daha büyük projelere uyarlamayı kolaylaştırır. + +Deneyin, ayarları değiştirin ve işlenen görüntülerin bir sonraki e‑posta kampanyanızda, kontrol panelinizde veya raporlama aracınızda konuşmasını sağlayın. Got + +## İlgili Öğreticiler + +- [HTML'yi PNG olarak İşlemek – Tam C# Kılavuzu](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [Aspose Kullanarak HTML'yi PNG'ye İşlemek – Adım Adım Kılavuz](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [HTML'den PNG Oluştur – Tam C# İşleme Kılavuzu](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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/generate-jpg-and-png-images/_index.md b/html/vietnamese/net/generate-jpg-and-png-images/_index.md index 364f75161..037055f4b 100644 --- a/html/vietnamese/net/generate-jpg-and-png-images/_index.md +++ b/html/vietnamese/net/generate-jpg-and-png-images/_index.md @@ -45,6 +45,16 @@ Học cách sử dụng Aspose.HTML cho .NET để thao tác với các tài li Hướng dẫn chi tiết cách bật khử răng cưa để cải thiện chất lượng hình ảnh khi chuyển đổi tài liệu DOCX sang PNG hoặc JPG bằng Aspose.HTML. ### [Chuyển đổi DOCX sang PNG – tạo tệp ZIP bằng C# – Hướng dẫn](./convert-docx-to-png-create-zip-archive-c-tutorial/) Hướng dẫn cách chuyển đổi tài liệu DOCX thành hình ảnh PNG và đóng gói chúng vào tệp ZIP bằng C#. +### [Tạo PNG từ HTML – Hướng dẫn chi tiết từng bước](./create-png-from-html-full-step-by-step-guide/) +Hướng dẫn chi tiết cách chuyển đổi HTML thành hình ảnh PNG bằng Aspose.HTML cho .NET, bao gồm các bước cài đặt và cấu hình. +### [Tạo PNG từ HTML với Aspose – render HTML sang PNG](./create-png-from-html-with-aspose-render-html-to-png/) +Hướng dẫn chi tiết cách sử dụng Aspose để chuyển đổi HTML thành hình ảnh PNG một cách nhanh chóng và hiệu quả. +### [Chuyển đổi tài liệu Word sang PNG – Hướng dẫn lập trình đầy đủ](./convert-word-document-to-png-complete-programming-guide/) +Hướng dẫn chi tiết cách chuyển đổi tài liệu Word sang định dạng PNG bằng Aspose.HTML cho .NET, bao gồm các bước cài đặt và mã mẫu. +### [Chuyển đổi DOCX sang PNG trong C# – Hướng dẫn chi tiết từng bước](./convert-docx-to-png-in-c-complete-step-by-step-guide/) +Hướng dẫn chi tiết cách chuyển đổi tệp DOCX sang PNG bằng C# với Aspose.HTML, bao gồm các bước cài đặt và mã mẫu. +### [Render HTML sang PNG – Hướng dẫn đầy đủ với Trình xử lý tùy chỉnh và Tùy chọn](./render-html-to-png-complete-guide-with-custom-handlers-optio/) +Hướng dẫn chi tiết cách sử dụng Aspose.HTML để render HTML thành PNG với các trình xử lý tùy chỉnh và các tùy chọn cấu hình. ## Phần kết luận diff --git a/html/vietnamese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md b/html/vietnamese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..fdf1d9fba --- /dev/null +++ b/html/vietnamese/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-05-25 +description: Chuyển đổi docx sang png nhanh chóng bằng C#. Tìm hiểu cách chuyển đổi + Word sang hình ảnh, xuất Word dưới dạng png và thiết lập phông chữ tùy chỉnh trong + một hướng dẫn duy nhất. +draft: false +keywords: +- convert docx to png +- convert word to image +- export word as png +- set custom font +- export docx as png +language: vi +og_description: Chuyển đổi docx sang png bằng C#. Hướng dẫn này chỉ cho bạn cách xuất + file Word dưới dạng png và thiết lập phông chữ tùy chỉnh để có kết quả hoàn hảo. +og_title: Chuyển đổi docx sang png trong C# – Hướng dẫn lập trình đầy đủ +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + headline: Convert docx to png in C# – Complete Step‑by‑Step Guide + type: TechArticle +- description: Convert docx to png quickly using C#. Learn how to convert word to + image, export word as png, and set custom font in a single tutorial. + name: Convert docx to png in C# – Complete Step‑by‑Step Guide + steps: + - name: Loads `input.docx`. + text: Loads `input.docx`. + - name: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + text: Forces every character to use *Times New Roman* at 14 pt with hinting enabled. + - name: Renders the first page at 300 DPI, producing a high‑quality PNG. + text: Renders the first page at 300 DPI, producing a high‑quality PNG. + - name: Writes a friendly console message confirming success. + text: Writes a friendly console message confirming success. + type: HowTo +tags: +- C# +- Aspose.Words +- Image Rendering +title: Chuyển đổi docx sang png trong C# – Hướng dẫn chi tiết từng bước +url: /vi/net/generate-jpg-and-png-images/convert-docx-to-png-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Chuyển đổi docx sang png trong C# – Hướng dẫn chi tiết từng bước + +Bạn đã bao giờ cần **convert docx to png** nhưng không chắc thư viện nào sẽ cho bạn các glyph sạch sẽ và độ trung thực toàn trang? Bạn không phải là người duy nhất. Trong nhiều dự án tự động hoá văn phòng, việc chuyển đổi tài liệu Word thành hình ảnh (nghĩa là “convert word to image”) là cách nhanh nhất để nhúng nội dung vào trang web hoặc email mà không phải lo lắng về việc cài đặt Office. + +Thực tế là: API Aspose.Words for .NET cho phép bạn **export word as png** chỉ với một vài dòng code, và thậm chí bạn có thể **set custom font** để đầu ra trông giống hệt bản gốc. Trong hướng dẫn này, chúng tôi sẽ đi qua toàn bộ quá trình — từ cài đặt gói đến việc render PNG cuối cùng — để bạn có thể bắt đầu chuyển đổi docx sang png ngay hôm nay. + +## Chuyển đổi docx sang png – Tổng quan và Yêu cầu trước + +* **.NET 6.0 hoặc sau này** – ví dụ này nhắm tới .NET 6, nhưng các phiên bản trước cũng hoạt động. +* **Aspose.Words for .NET** – một gói NuGet cung cấp `Document`, `TextOptions`, và `ImageRenderer`. +* Một tệp **sample DOCX** mà bạn muốn chuyển thành hình ảnh (đặt nó trong thư mục bạn có thể tham chiếu). +* Tùy chọn: một **custom TrueType font** (ví dụ, Times New Roman) nếu bạn muốn ghi đè phông chữ mặc định của tài liệu. + +Nếu bạn đã đáp ứng các mục trên, bạn đã sẵn sàng bắt đầu chuyển đổi word sang image một cách tự tin. + +## Cài đặt Aspose.Words for .NET (convert word to image) + +Bước đầu tiên là kéo thư viện vào dự án của bạn. Mở terminal trong thư mục solution và chạy: + +```bash +dotnet add package Aspose.Words +``` + +Lệnh duy nhất này sẽ thêm phiên bản ổn định mới nhất của Aspose.Words, bao gồm lớp `ImageRenderer` mà chúng ta sẽ cần cho **export docx as png**. Sau khi quá trình khôi phục hoàn tất, bạn đã sẵn sàng. + +> **Mẹo chuyên nghiệp:** Nếu bạn đang sử dụng Visual Studio, bạn cũng có thể thêm gói qua giao diện NuGet Package Manager — chỉ cần tìm kiếm “Aspose.Words”. + +## Tải tài liệu nguồn (convert docx to png) + +Bây giờ chúng ta sẽ tải tệp DOCX. Đây là điểm mà pipeline **convert docx to png** thực sự bắt đầu. + +```csharp +using Aspose.Words; +using Aspose.Words.Rendering; +using System.Drawing.Imaging; + +// Step 1: Load the source document +Document doc = new Document(@"C:\Temp\input.docx"); +``` + +`Document` đại diện cho toàn bộ tệp Word trong bộ nhớ. Đường dẫn có thể là tuyệt đối hoặc tương đối; chỉ cần chắc chắn tệp tồn tại, nếu không bạn sẽ gặp `FileNotFoundException`. + +## Cấu hình tùy chọn render văn bản (set custom font) + +Nếu DOCX của bạn sử dụng phông chữ không được cài đặt trên máy đích, PNG được render có thể trông không đúng. Đó là lý do tại sao bạn thường cần **set custom font** trước khi xuất. + +```csharp +// Step 2: Configure text rendering options (enable hinting and set custom font) +TextOptions txtOptions = new TextOptions +{ + UseHinting = true, // Improves glyph rasterisation + Font = new FontInfo("Times New Roman", 14) // Override the document’s default font +}; +``` + +* `UseHinting` cho renderer áp dụng sub‑pixel hinting, giúp làm sắc nét các cạnh chữ — đặc biệt quan trọng đối với PNG độ phân giải cao. +* `FontInfo` buộc mọi đoạn văn bản được vẽ bằng *Times New Roman* kích thước 14 pt, bất kể DOCX gốc chỉ định gì. Bạn có thể thay thế tên bằng bất kỳ phông chữ nào có trên máy chủ. + +## Tạo ImageRenderer (convert word to image) + +Với tài liệu và các tùy chọn đã sẵn sàng, chúng ta khởi tạo `ImageRenderer`. Lớp này thực hiện công việc nặng nề chuyển các trang thành ảnh bitmap. + +```csharp +// Step 3: Create an ImageRenderer with the document and options +using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) +{ + // Step 4: Render the first page to a PNG file + renderer.RenderToFile(@"C:\Temp\hinted.png", ImageFormat.Png); +} +``` + +* Khối `using` đảm bảo renderer giải phóng tài nguyên gốc (như các handle GDI) kịp thời. +* `RenderToFile` nhận một đường dẫn và một `ImageFormat`. Nếu bạn cần tất cả các trang, bạn có thể lặp qua `renderer.PageCount` và gọi `RenderToFile` với tên tệp riêng cho mỗi trang. + +## Xác minh đầu ra (export docx as png) + +Sau khi code chạy, bạn sẽ thấy `hinted.png` trong thư mục bạn đã chỉ định. Mở nó bằng bất kỳ trình xem ảnh nào — văn bản có sắc nét không? Nếu bạn đã sử dụng phông chữ tùy chỉnh, bạn sẽ nhận thấy kiểu chữ đồng nhất trên toàn trang. + +Dưới đây là một tham chiếu hình ảnh nhanh (thay bằng ảnh chụp màn hình của bạn khi xuất bản): + +![kết quả ví dụ chuyển đổi docx sang png](https://example.com/assets/convert-docx-to-png.png "kết quả ví dụ chuyển đổi docx sang png") + +*Văn bản thay thế:* **kết quả ví dụ chuyển đổi docx sang png** – một hình PNG render một trang Word với phông Times New Roman. + +Nếu hình ảnh bị mờ, hãy kiểm tra lại rằng `UseHinting` được đặt thành `true` và DPI của renderer (mặc định 96) phù hợp với nhu cầu của bạn. Bạn có thể điều chỉnh DPI bằng cách `renderer.ImageOptions.Resolution = 300;` trước khi gọi `RenderToFile`. + +## Chương trình đầy đủ, có thể chạy (export word as png) + +Kết hợp mọi thứ lại, dưới đây là một ứng dụng console tự chứa mà bạn có thể sao chép‑dán vào `Program.cs` và chạy: + +```csharp +using System; +using System.Drawing.Imaging; +using Aspose.Words; +using Aspose.Words.Rendering; + +namespace DocxToPngDemo +{ + class Program + { + static void Main(string[] args) + { + // Path to the input DOCX and output PNG + string inputPath = @"C:\Temp\input.docx"; + string outputPath = @"C:\Temp\output.png"; + + // Load the DOCX file + Document doc = new Document(inputPath); + + // Set up text options – this is where we set a custom font + TextOptions txtOptions = new TextOptions + { + UseHinting = true, + Font = new FontInfo("Times New Roman", 14) // you can change the font name/size + }; + + // Create the renderer and export the first page as PNG + using (ImageRenderer renderer = new ImageRenderer(doc, txtOptions)) + { + // Optional: increase resolution for higher quality + renderer.ImageOptions.Resolution = 300; // 300 DPI + + // Render the first page (index 0) to a PNG file + renderer.RenderToFile(outputPath, ImageFormat.Png); + } + + Console.WriteLine($"✅ Successfully exported '{inputPath}' as PNG to '{outputPath}'."); + } + } +} +``` + +**Chương trình này thực hiện:** + +1. Tải `input.docx`. +2. Buộc mọi ký tự sử dụng *Times New Roman* kích thước 14 pt với hinting được bật. +3. Render trang đầu tiên ở 300 DPI, tạo ra PNG chất lượng cao. +4. Ghi một thông báo console thân thiện xác nhận thành công. + +Chạy nó bằng `dotnet run` và bạn sẽ có một hình ảnh được render hoàn hảo, sẵn sàng cho hiển thị trên web, nhúng PDF, hoặc bất kỳ kịch bản nào khác mà bạn cần **convert docx to png** mà không tốn công sức cài đặt Office. + +## Câu hỏi thường gặp và xử lý các trường hợp đặc biệt + +* **Nếu tôi cần tất cả các trang thì sao?** + Lặp qua `renderer.PageCount` và gọi `RenderToFile` với tên tệp bao gồm số trang, ví dụ, `output_page_{i}.png`. + +* **Tôi có thể xuất sang các định dạng ảnh khác không?** + Chắc chắn. Thay `ImageFormat.Png` bằng `ImageFormat.Jpeg`, `ImageFormat.Bmp`, hoặc `ImageFormat.Tiff` tùy theo yêu cầu downstream của bạn. + +* **Tài liệu của tôi sử dụng phông chữ nhúng — tôi vẫn cần `set custom font` không?** + Nếu DOCX đã nhúng các phông chữ bạn muốn, bạn có thể bỏ qua thuộc tính `Font`. Renderer sẽ tự động tôn trọng phông chữ nhúng. + +* **Làm sao để xử lý tài liệu lớn mà không tiêu tốn hết bộ nhớ?** + Xử lý một trang mỗi lần trong khối `using`, và giải phóng mỗi bitmap đã tạo sau khi lưu. Điều này giữ mức sử dụng bộ nhớ thấp. + +* **Có vấn đề về giấy phép không?** + Aspose.Words cung cấp bản dùng thử miễn phí có watermark. Đối với môi trường production, mua giấy phép và gọi `License license = new License(); license.SetLicense("Aspose.Words.lic");` trước khi tải tài liệu. + +## Kết luận + +Bây giờ bạn đã có một công thức hoàn chỉnh, sẵn sàng cho production để **convert docx to png** bằng C#. Hướng dẫn đã bao quát mọi thứ từ cài đặt Aspose.Words (thư viện hàng đầu cho **convert word to image**) đến cấu hình `TextOptions` cho trường hợp **set custom font**, và cuối cùng là render file ảnh. Với kiến thức này, bạn có thể **export word as png**, nhúng nó vào trang web, tạo thumbnail, hoặc đưa vào bất kỳ pipeline xử lý ảnh nào. + +Tiếp theo? Hãy thử xuất nhiều trang, thử nghiệm các cài đặt DPI khác nhau, hoặc chuyển định dạng đầu ra sang + +## Các hướng dẫn liên quan + +- [Cách bật Antialiasing khi chuyển DOCX sang PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Chuyển HTML sang PNG trong .NET với Aspose.HTML](/html/english/net/html-extensions-and-conversions/convert-html-to-png/) +- [convert docx to png – tạo tệp zip tutorial C#](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/html/vietnamese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md b/html/vietnamese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md new file mode 100644 index 000000000..dc009771a --- /dev/null +++ b/html/vietnamese/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-05-25 +description: Học cách chuyển đổi tài liệu Word sang PNG nhanh chóng. Hướng dẫn này + cũng chỉ cách lưu tài liệu Word dưới dạng PNG với khử răng cưa. +draft: false +keywords: +- convert word document to png +- save word document as png +language: vi +og_description: Chuyển đổi tài liệu Word sang PNG chỉ với vài dòng C#. Hãy theo hướng + dẫn này để lưu tài liệu Word dưới dạng PNG một cách hiệu quả. +og_title: Chuyển đổi tài liệu Word sang PNG – Hướng dẫn từng bước +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + headline: Convert Word Document to PNG – Complete Programming Guide + type: TechArticle +- description: Learn how to convert Word document to PNG quickly. This tutorial also + shows how to save Word document as PNG with antialiasing. + name: Convert Word Document to PNG – Complete Programming Guide + steps: + - name: Load the `.docx` with `Document`. + text: Load the `.docx` with `Document`. + - name: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + text: Tune `ImageRenderingOptions` (antialiasing, DPI, background). + - name: Loop through pages and call `ImageRenderer.RenderToFile`. + text: Loop through pages and call `ImageRenderer.RenderToFile`. + type: HowTo +tags: +- C# +- Aspose.Words +- ImageRendering +title: Chuyển đổi tài liệu Word sang PNG – Hướng dẫn lập trình toàn diện +url: /vi/net/generate-jpg-and-png-images/convert-word-document-to-png-complete-programming-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Chuyển Đổi Tài Liệu Word sang PNG – Hướng Dẫn Lập Trình Toàn Diện + +Bạn đã bao giờ cần **chuyển đổi tài liệu Word sang PNG** nhưng không biết nên dùng thư viện hay cài đặt nào? Bạn không phải là người duy nhất. Trong nhiều dự án tự động hoá văn phòng, bạn thường cần một hình ảnh raster của file `.docx` — có thể để làm ảnh thu nhỏ, nhúng vào email, hoặc kiểm tra nhanh bằng mắt. Tin tốt là chỉ với vài dòng C# bạn cũng có thể **lưu tài liệu Word dưới dạng PNG** mà không phải can thiệp thủ công. + +Trong tutorial này, chúng ta sẽ đi qua một ví dụ thực tế sử dụng Aspose.Words for .NET. Chúng ta sẽ bao phủ mọi thứ từ việc tải file nguồn, tinh chỉnh các tùy chọn render ảnh để có kết quả sắc nét, cho tới việc ghi file PNG ra đĩa. Khi kết thúc, bạn sẽ có một phương thức tái sử dụng có thể chèn vào bất kỳ dự án .NET nào. + +## Yêu Cầu Trước + +Trước khi bắt đầu, hãy chắc chắn bạn đã có: + +- **.NET 6.0** trở lên (mã cũng chạy trên .NET Framework 4.6+). +- Một bản **có giấy phép** của **Aspose.Words for .NET** (bản dùng thử miễn phí đủ để thử nghiệm). +- Visual Studio 2022 hoặc bất kỳ IDE nào bạn thích. +- Một file Word mẫu (`input.docx`) đặt trong thư mục bạn có thể tham chiếu. + +Không cần bất kỳ gói bên thứ ba nào khác. + +## Bước 1: Thiết Lập Dự Án và Nhập Namespace + +Đầu tiên, tạo một console app mới (hoặc tích hợp vào service hiện có). Sau đó thêm package NuGet Aspose.Words: + +```bash +dotnet add package Aspose.Words +``` + +Tiếp theo, đưa các namespace cần thiết vào file của bạn: + +```csharp +using System; +using System.Drawing.Imaging; // For ImageFormat +using Aspose.Words; // Core document API +using Aspose.Words.Rendering; // ImageRenderer and related options +``` + +> **Mẹo chuyên nghiệp:** Nếu bạn đang nhắm tới .NET 6+, có thể dùng tính năng top‑level statements và bỏ qua phần boilerplate `Main`. + +## Bước 2: Tải Tài Liệu Word Nguồn + +Bước thực tế đầu tiên trong quy trình chuyển đổi là tải tài liệu bạn muốn raster hoá. Aspose.Words hỗ trợ `.doc`, `.docx`, `.rtf` và nhiều định dạng khác, vì vậy bạn không bị giới hạn chỉ ở các loại file Office truyền thống. + +```csharp +// Step 2: Load the source document +Document doc = new Document("YOUR_DIRECTORY/input.docx"); + +// Quick sanity check – ensure the document actually loaded +if (doc == null || doc.PageCount == 0) +{ + Console.WriteLine("Failed to load the Word file or it contains no pages."); + return; +} +``` + +Tại sao chúng ta lại kiểm tra `PageCount`? Vì một tài liệu không có trang sẽ tạo ra PNG trống, thường là lỗi im lặng khiến các đoạn code phía sau gặp sự cố. + +## Bước 3: Cấu Hình Tùy Chọn Render Ảnh + +Khi chuyển nội dung Word dạng vector sang bitmap, bạn sẽ thấy các cạnh răng cưa nếu để mặc định. Bật antialiasing sẽ làm mịn các đường nét, đặc biệt với biểu đồ, hình dạng và văn bản ở kích thước nhỏ. + +```csharp +// Step 3: Configure image rendering options (enable antialiasing for smoother graphics) +ImageRenderingOptions imgOptions = new ImageRenderingOptions +{ + // Enables sub‑pixel smoothing – makes text and lines look cleaner + UseAntialiasing = true, + + // Optional: set a higher resolution for sharper output (default is 96 DPI) + // Resolution = 300, + + // Optional: define the background color for transparent documents + // BackgroundColor = Color.White +}; +``` + +Bạn có thể tự hỏi, “Liệu tôi luôn phải bật antialiasing không?” Thông thường, có, trừ khi bạn tạo các biểu tượng siêu nhỏ mà hiệu năng quan trọng hơn độ chính xác hình ảnh. + +## Bước 4: Render Mỗi Trang Thành File PNG Riêng + +Một tài liệu Word có thể chứa nhiều trang. Aspose.Words cho phép render toàn bộ tài liệu thành một ảnh duy nhất, nhưng mẫu phổ biến hơn là tạo một PNG cho mỗi trang. Dưới đây chúng ta sẽ lặp qua các trang, render từng trang thành file riêng. + +```csharp +// Step 4: Render each page to a separate PNG file +for (int pageIndex = 0; pageIndex < doc.PageCount; pageIndex++) +{ + // Create a renderer scoped to the current page + using (var renderer = new ImageRenderer(doc, imgOptions)) + { + // Define the output path – include the page number for uniqueness + string outputPath = $"YOUR_DIRECTORY/page_{pageIndex + 1}_antialiased.png"; + + // Render the specific page to PNG + renderer.RenderToFile(outputPath, ImageFormat.Png, pageIndex); + Console.WriteLine($"Saved page {pageIndex + 1} as PNG: {outputPath}"); + } +} +``` + +**Tại sao lại dùng khối `using`?** `ImageRenderer` giữ các tài nguyên không quản lý (như handle GDI+). Đặt nó trong `using` đảm bảo giải phóng đúng cách, ngăn ngừa rò rỉ bộ nhớ trong các service chạy lâu. + +### Các Trường Hợp Đặc Biệt & Mẹo + +- **Tài Liệu Lớn:** Render một tài liệu 200 trang có thể tốn nhiều bộ nhớ. Hãy cân nhắc render theo lô hoặc tăng thuộc tính `MaxMemoryUsage` nếu gặp `OutOfMemoryException`. +- **Nền Trong Suốt:** Nếu file Word của bạn chứa các hình dạng trong suốt và bạn muốn PNG trong suốt, đặt `BackgroundColor = Color.Transparent` trong `ImageRenderingOptions`. +- **Thu Phóng:** Để tạo ảnh thu nhỏ, điều chỉnh `ImageSaveOptions` (ví dụ, `Resolution = 72`) hoặc thay đổi kích thước PNG kết quả bằng `System.Drawing`. + +## Bước 5: Đóng Gói Thành Phương Thức Tái Sử Dụng + +Việc đưa logic chuyển đổi vào một phương thức duy nhất giúp bạn gọi nó từ bất kỳ đâu — API web, worker nền, hay giao diện desktop. + +```csharp +/// +/// Converts a Word document to PNG images, one per page. +/// +/// Full path to the .docx/.doc file. +/// Folder where PNG files will be saved. +/// Whether to enable antialiasing (default true). +public static void ConvertWordToPng(string sourcePath, string outputFolder, bool antialias = true) +{ + if (!System.IO.File.Exists(sourcePath)) + throw new ArgumentException("Source file not found.", nameof(sourcePath)); + + Document doc = new Document(sourcePath); + + ImageRenderingOptions options = new ImageRenderingOptions + { + UseAntialiasing = antialias + }; + + for (int i = 0; i < doc.PageCount; i++) + { + using var renderer = new ImageRenderer(doc, options); + string outPath = System.IO.Path.Combine(outputFolder, $"page_{i + 1}.png"); + renderer.RenderToFile(outPath, ImageFormat.Png, i); + } +} +``` + +Bây giờ bạn có thể gọi: + +```csharp +ConvertWordToPng(@"C:\Docs\report.docx", @"C:\Images"); +``` + +Và phương thức sẽ **lưu tài liệu Word dưới dạng PNG** với tên `page_1.png`, `page_2.png`, v.v. + +## Kết Quả Dự Kiến + +Chạy đoạn mã mẫu trên một file `input.docx` ba trang sẽ tạo ra: + +``` +YOUR_DIRECTORY/page_1_antialiased.png +YOUR_DIRECTORY/page_2_antialiased.png +YOUR_DIRECTORY/page_3_antialiased.png +``` + +Mở bất kỳ PNG nào trong trình xem ảnh — bạn sẽ thấy một bản render sắc nét, đã được antialias, của trang Word tương ứng. Không viền thừa, không biến dạng, chỉ một ảnh bitmap trung thực. + +## Những Sai Lầm Thường Gặp và Cách Tránh + +| Vấn Đề | Nguyên Nhân | Giải Pháp | +|-------|-------------|----------| +| **PNG Trắng** | Tài liệu không tải được (`doc` là null) hoặc chỉ số trang vượt phạm vi. | Kiểm tra đường dẫn file và đảm bảo `doc.PageCount` > 0 trước khi render. | +| **Văn Bản Răng Cưa** | Antialiasing bị tắt hoặc DPI quá thấp. | Đặt `UseAntialiasing = true` và có thể tăng `Resolution` (ví dụ, 150 DPI). | +| **Out‑of‑Memory** | Render các trang rất lớn ở DPI cao trong vòng lặp chặt. | Render từng trang một (như ví dụ) và giải phóng `ImageRenderer` ngay sau khi dùng. | +| **Màu Sắc Sai** | Màu nền mặc định là trắng; tài liệu trong suốt sẽ hiện ra trắng. | Đặt `BackgroundColor = Color.Transparent` khi cần. | + +## Kết Luận + +Chúng ta vừa trình bày một cách sạch sẽ, sẵn sàng cho môi trường production để **chuyển đổi tài liệu Word sang PNG** và, mở rộng, **lưu tài liệu Word dưới dạng PNG** bằng Aspose.Words for .NET. Các bước rất đơn giản: + +1. Tải file `.docx` bằng `Document`. +2. Tinh chỉnh `ImageRenderingOptions` (antialiasing, DPI, nền). +3. Lặp qua các trang và gọi `ImageRenderer.RenderToFile`. + +Với phương thức `ConvertWordToPng` tái sử dụng, bạn có thể tích hợp các bản preview dạng ảnh vào bất kỳ ứng dụng C# nào — dù là service web tạo thumbnail cho hợp đồng tải lên, công cụ desktop lưu báo cáo dưới dạng PNG, hay job batch chuẩn bị tài nguyên cho hệ thống quản lý nội dung. + +**Tiếp theo bạn nên làm gì?** Hãy thử nghiệm các định dạng ảnh khác (`ImageFormat.Jpeg`, `Bmp`) hoặc khám phá `PdfSaveOptions` nếu bạn cần PDF song hành với PNG. Bạn cũng có thể thêm watermark hoặc thay đổi kích thước đầu ra ngay lập tức. + +Chúc bạn lập trình vui vẻ, và đừng ngại để lại bình luận nếu gặp khó khăn! + +## Các Tutorial Liên Quan + +- [chuyển đổi docx sang png – tạo file zip c# tutorial](/html/english/net/generate-jpg-and-png-images/convert-docx-to-png-create-zip-archive-c-tutorial/) +- [Cách Bật Antialiasing Khi Chuyển Đổi DOCX sang PNG/JPG](/html/english/net/generate-jpg-and-png-images/how-to-enable-antialiasing-when-converting-docx-to-png-jpg/) +- [Cách Sử Dụng Aspose Để Render HTML Sang PNG – Hướng Dẫn Từng Bước](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) + +{{< /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/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md b/html/vietnamese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md new file mode 100644 index 000000000..5d5e7037b --- /dev/null +++ b/html/vietnamese/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/_index.md @@ -0,0 +1,310 @@ +--- +category: general +date: 2026-05-25 +description: Tạo PNG từ HTML nhanh chóng bằng Aspose.HTML. Học cách render HTML sang + PNG, chuyển đổi HTML sang PNG và xử lý tài nguyên một cách hiệu quả. +draft: false +keywords: +- create png from html +- render html to png +- convert html to png +- how to render html +- how to handle resources +language: vi +og_description: Tạo PNG từ HTML với Aspose.HTML. Hướng dẫn này chỉ cách render HTML + thành PNG, chuyển đổi HTML sang PNG và xử lý tài nguyên một cách đúng đắn. +og_title: Tạo PNG từ HTML – Hướng dẫn lập trình toàn diện +schemas: +- author: Aspose + dateModified: '2026-05-25' + description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + headline: Create PNG from HTML – Full Step‑by‑Step Guide + type: TechArticle +- description: Create PNG from HTML quickly using Aspose.HTML. Learn to render HTML + to PNG, convert HTML to PNG and handle resources efficiently. + name: Create PNG from HTML – Full Step‑by‑Step Guide + steps: + - name: Prerequisites + text: '- .NET 6.0 or later (the code also works on .NET Framework 4.7+). - A reference + to the **Aspose.HTML for .NET** NuGet package. - Basic familiarity with C# and + asynchronous streams (not required, but helpful).' + - name: How to Handle Resources Effectively + text: '| Situation | What to Do | |-----------|------------| | Relative URLs (`src="images/pic.jpg"`)| + Ensure the base URI of the `HTMLDocument` points to the folder containing those + assets. | | Remote fonts (e.g., Google Fonts) | The handler will download them + automatically; just make sure your machine ha' + - name: 1️⃣ Missing Base URL + text: 'When your HTML contains relative paths, the renderer needs a base URL to + resolve them. Set it explicitly:' + - name: 2️⃣ Font Rendering Issues + text: If a custom font isn’t showing, make sure the font file is reachable and + that the `ResourceHandler` saves it with the correct extension (`.ttf`, `.otf`). + Aspose.HTML will automatically embed the font into the rendered image. + - name: 3️⃣ Large Images Blow Up Memory + text: 'For massive source images, consider scaling them down **before** rendering:' + - name: 4️⃣ Asynchronous Rendering (Advanced) + text: If you’re rendering many pages in parallel, use `ImageRenderer` inside a + `Task.Run` and dispose of each renderer promptly to avoid file‑handle leaks. + type: HowTo +tags: +- Aspose.HTML +- C# +- Image Rendering +title: Tạo PNG từ HTML – Hướng dẫn chi tiết từng bước +url: /vi/net/generate-jpg-and-png-images/create-png-from-html-full-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tạo PNG từ HTML – Hướng Dẫn Chi Tiết Từng Bước + +Bạn đã bao giờ tự hỏi làm sao **tạo PNG từ HTML** mà không phải dùng một loạt công cụ bên thứ ba? Bạn không phải là người duy nhất. Dù bạn đang xây dựng một công cụ tạo trước email, một bảng điều khiển báo cáo, hay một dịch vụ tạo thumbnail, việc chuyển markup HTML thành một hình PNG sắc nét là nhu cầu phổ biến. Trong tutorial này, chúng ta sẽ đi qua một ví dụ hoàn chỉnh, có thể chạy được, **render HTML thành PNG**, cho bạn thấy cách **chuyển HTML sang PNG** bằng Aspose.HTML, và thậm chí giải thích **cách xử lý tài nguyên** như hình ảnh, CSS và phông chữ. + +Chúng ta sẽ bắt đầu với một chuỗi HTML nhỏ, thiết lập một `ResourceHandler` tùy chỉnh để ghi mọi tài nguyên bên ngoài ra đĩa, và kết thúc bằng việc lưu một file PNG hoàn hảo. Khi kết thúc, bạn sẽ có một giải pháp tự chứa có thể đưa vào bất kỳ dự án .NET nào. + +## Những Điều Bạn Sẽ Học + +- Cách tạo một `HTMLDocument` từ chuỗi hoặc file. +- Cách triển khai một `ResourceHandler` tùy chỉnh để mọi tài nguyên mà renderer yêu cầu đều được lưu cục bộ. +- Các bước chính để **render HTML thành PNG** bằng `ImageRenderer`. +- Những cạm bẫy thường gặp (phông chữ thiếu, URL tương đối) và cách **xử lý tài nguyên** tốt nhất. +- Cách kiểm tra đầu ra và điều chỉnh kích thước hoặc định dạng ảnh nếu cần. + +### Yêu Cầu Trước + +- .NET 6.0 trở lên (code cũng hoạt động trên .NET Framework 4.7+). +- Tham chiếu tới gói NuGet **Aspose.HTML for .NET**. +- Kiến thức cơ bản về C# và stream bất đồng bộ (không bắt buộc, nhưng hữu ích). + +Không cần công cụ bên ngoài, không cần trình duyệt headless—chỉ cần C# thuần và Aspose.HTML. + +--- + +## Tạo PNG từ HTML – Tổng Quan + +Dưới đây là **mã hoàn chỉnh, sẵn sàng chạy**. Bạn có thể sao chép‑dán vào một console app, điều chỉnh placeholder `YOUR_DIRECTORY`, và nhấn F5. + +```csharp +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Rendering; +using Aspose.Html.Rendering.Image; + +// 1️⃣ Create an HTML document from a string. +var htmlContent = "

Hello World

"; +var document = new HTMLDocument(htmlContent); + +// 2️⃣ Define a custom ResourceHandler to store each resource (images, CSS, fonts, etc.) in its own file. +class MyResourceHandler : ResourceHandler +{ + // This method is called for every resource the renderer needs. + public override Stream HandleResource(ResourceInfo info) + { + // Store resources under a dedicated folder. + string resourcesFolder = Path.Combine("YOUR_DIRECTORY", "OutputResources"); + Directory.CreateDirectory(resourcesFolder); + string resourcePath = Path.Combine(resourcesFolder, info.Name); + // Return a writable stream that Aspose.HTML will write the resource into. + return File.OpenWrite(resourcePath); + } +} + +// 3️⃣ Instantiate the custom handler. +var handler = new MyResourceHandler(); + +// 4️⃣ Render the HTML document to a PNG image using ImageRenderer. +using (var renderer = new ImageRenderer(document, handler)) +{ + using (var outputStream = new MemoryStream()) + { + renderer.RenderToStream(outputStream, ImageFormat.Png); + + // 5️⃣ Save the rendered PNG to a file. + File.WriteAllBytes(Path.Combine("YOUR_DIRECTORY", "result.png"), outputStream.ToArray()); + } +} +``` + +> **Pro tip:** Thay `"YOUR_DIRECTORY"` bằng một đường dẫn tuyệt đối (ví dụ, `Path.GetFullPath("./output")`) để tránh bất ngờ khi app chạy từ thư mục làm việc khác. + +--- + +## Bước 1: Chuẩn Bị Tài Liệu HTML + +Điều đầu tiên chúng ta làm là gói một chuỗi HTML thô vào một `HTMLDocument`. Aspose.HTML coi đối tượng này như một DOM đầy đủ tính năng, nghĩa là nó sẽ giải quyết các thẻ ``, khối ` + + +
Hello, world!
+ Demo logo + +"); +``` + +Bạn có thể thay thế chuỗi này bằng bất kỳ HTML nào—có thể là kết quả của một Razor view hoặc chuyển đổi Markdown‑to‑HTML. Điều quan trọng là tài liệu phải biết tới trình xử lý tùy chỉnh mà chúng ta sẽ truyền sau này. + +--- + +## Image Rendering Options – Tinh Chỉnh Antialiasing và Font Hinting + +Render thông thường hoạt động, nhưng đôi khi bạn cần một chút hoàn thiện: các cạnh mượt hơn, văn bản rõ ràng hơn, hoặc vị trí sub‑pixel chính xác. Đây là lúc **image rendering options** tỏa sáng. + +```csharp +using System.Drawing; + +// Step 4: Configure advanced rendering options (e.g., antialiasing and font hinting) +var renderingOptions = new ImageRenderingOptions +{ + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true // Turn on antialiasing for smoother graphics +}; + +var textOptions = new TextOptions +{ + UseHinting = true // Enable font hinting for crisper text +}; +``` + +*Điều gì đang diễn ra phía sau?* +`ImageRenderingOptions` cho renderer biết phông chữ nào sẽ dùng và có bật làm mịn các hình học hay không. `TextOptions` tập trung vào cách rasterize glyphs—hinting căn chỉnh ký tự vào lưới pixel, rất hữu ích khi kích thước nhỏ. + +--- + +## Render HTML with Options – Áp Dụng Cài Đặt Render + +Với tài liệu và các tùy chọn đã chuẩn bị, cuối cùng chúng ta có thể **render HTML with options**. Chúng ta sẽ tạo ba file: + +1. PNG cơ bản (không tùy chọn thêm). +2. PNG có antialiasing. +3. PNG có hinting. + +```csharp +using System.Drawing.Imaging; + +// Step 3: Render the HTML to an image using the custom handler (plain render) +using var imageRenderer = new ImageRenderer(doc, new MyHandler()); +imageRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + +// Step 5: Render with the specified options +using var antialiasedRenderer = new ImageRenderer(doc, renderingOptions); +antialiasedRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + +using var hintedRenderer = new ImageRenderer(doc, textOptions); +hintedRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); +``` + +Chú ý mỗi `ImageRenderer` nhận một đối số thứ hai khác nhau: trình xử lý thông thường, cài đặt antialiasing, và cài đặt hinting. Mô hình này cho phép bạn hoán đổi cấu hình mà không cần thay đổi mã khác—rất phù hợp cho unit test hoặc feature flag. + +> **Câu hỏi thường gặp:** *“Có thể kết hợp antialiasing và hinting trong một lần render không?”* +> Chắc chắn rồi. Chỉ cần tạo một đối tượng options duy nhất, đặt cả `UseAntialiasing` và `UseHinting` thành `true`, rồi truyền nó cho `ImageRenderer`. + +--- + +## Kiểm Tra Kết Quả – Những gì Bạn Mong Đợi + +Sau khi chạy chương trình, mở ba file PNG: + +- **out.png** – một bản chụp chính xác của HTML, nhưng các cạnh có thể hơi răng cưa. +- **img.png** – các đường và đường cong mượt hơn nhờ antialiasing. +- **txt.png** – văn bản sắc nét hơn, đặc biệt ở kích thước 12 pt Verdana, nhờ font hinting. + +Nếu bất kỳ hình ảnh nào có vấn đề, hãy kiểm tra lại `YOUR_DIRECTORY/Resources` để chắc chắn rằng file `logo.png` được tham chiếu tồn tại. Thiếu tài nguyên sẽ khiến renderer dùng placeholder, gây ra hình ảnh lạ. + +--- + +## Ví Dụ Hoàn Chỉnh + +Dưới đây là toàn bộ chương trình, sẵn sàng copy‑paste vào một console app. Bao gồm tất cả các chỉ thị `using` và một phương thức `Main` tối thiểu. + +```csharp +using System; +using System.IO; +using System.Drawing; +using System.Drawing.Imaging; +using HtmlRenderer; // Replace with the actual namespace of your HTML‑to‑image library + +// ------------------------------------------------------------ +// Custom resource handler – controls where external files go +// ------------------------------------------------------------ +class MyHandler : ResourceHandler +{ + public override Stream HandleResource(ResourceInfo info) => + File.OpenWrite(Path.Combine("YOUR_DIRECTORY/Resources", info.Name)); +} + +// ------------------------------------------------------------ +// Program entry point +// ------------------------------------------------------------ +class Program +{ + static void Main() + { + // 1️⃣ Load HTML (you can load from a file, DB, or string) + HTMLDocument doc = new HTMLDocument(@" + + + + + + +
Hello, world!
+ Demo logo + +"); + + // 2️⃣ Plain render – basic conversion (render html to png) + using var plainRenderer = new ImageRenderer(doc, new MyHandler()); + plainRenderer.RenderToFile("YOUR_DIRECTORY/out.png", ImageFormat.Png); + + // 3️⃣ Advanced options – antialiasing + var renderingOptions = new ImageRenderingOptions + { + Font = new FontInfo("Verdana", 12, WebFontStyle.Bold), + UseAntialiasing = true + }; + using var aaRenderer = new ImageRenderer(doc, renderingOptions); + aaRenderer.RenderToFile("YOUR_DIRECTORY/img.png", ImageFormat.Png); + + // 4️⃣ Text hinting + var textOptions = new TextOptions { UseHinting = true }; + using var hintRenderer = new ImageRenderer(doc, textOptions); + hintRenderer.RenderToFile("YOUR_DIRECTORY/txt.png", ImageFormat.Png); + + Console.WriteLine("All images rendered successfully!"); + } +} +``` + +Chạy chương trình, kiểm tra ba PNG, và bạn sẽ thấy rõ mỗi tùy chọn ảnh hưởng như thế nào tới hình ảnh cuối cùng. Hãy thoải mái thử nghiệm—thay đổi phông chữ, bật/tắt `UseAntialiasing`, hoặc thêm nhiều quy tắc CSS. Khi bạn **convert HTML to image** theo yêu cầu, khả năng là vô hạn. + +--- + +## Các Bước Tiếp Theo & Chủ Đề Liên Quan + +- **Xử lý hàng loạt:** Lặp qua một tập hợp các đoạn HTML và tạo thumbnail cho mỗi cái. +- **Chuyển đổi PDF:** Kết hợp các PNG với thư viện PDF (ví dụ iTextSharp) để tạo tài liệu đa trang. +- **Tài nguyên động:** Mở rộng `MyHandler` để lấy ảnh từ CDN hoặc cơ sở dữ liệu thay vì hệ thống file. +- **Tối ưu hiệu năng:** Cache các hình ảnh đã render khi HTML nguồn không thay đổi; điều này giảm tải CPU đáng kể. + +Nếu bạn muốn tùy biến sâu hơn, hãy khám phá thuộc tính `RenderTransform` của `ImageRenderer` để quay hoặc thu phóng, hoặc xem xét các cài đặt `CssEngine` cho kiểm soát layout nâng cao. + +--- + +## Kết Luận + +Chúng ta đã bao quát mọi thứ cần thiết để **render HTML to PNG** trong C#: một trình xử lý tài nguyên tùy chỉnh, tải markup, cấu hình *image rendering options*, và cuối cùng **render HTML with options** cho antialiasing và font hinting. Ví dụ đầy đủ, có thể chạy ngay, và thiết kế mô-đun giúp dễ dàng mở rộng cho dự án lớn hơn. + +Hãy thử, điều chỉnh các cài đặt, và để những hình ảnh đã render nói lên câu chuyện trong chiến dịch email, dashboard, hoặc công cụ báo cáo tiếp theo của bạn. Got + + +## Related Tutorials + +- [How to Render HTML as PNG – Complete C# Guide](/html/english/net/rendering-html-documents/how-to-render-html-as-png-complete-c-guide/) +- [How to Use Aspose to Render HTML to PNG – Step‑by‑Step Guide](/html/english/net/rendering-html-documents/how-to-use-aspose-to-render-html-to-png-step-by-step-guide/) +- [Create PNG from HTML – Full C# Rendering Guide](/html/english/net/rendering-html-documents/create-png-from-html-full-c-rendering-guide/) + +{{< /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