Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions html/arabic/net/html-extensions-and-conversions/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ url: /ar/net/html-extensions-and-conversions/
دليل خطوة بخطوة لإنشاء ملف PDF من HTML باستخدام C# ومكتبة Aspose.HTML.
### [إنشاء مستند HTML بنص منسق وتصديره إلى PDF – دليل كامل](./create-html-document-with-styled-text-and-export-to-pdf-full/)
دليل شامل لإنشاء مستند HTML بنص منسق وتصديره إلى PDF باستخدام Aspose.HTML.
### [إنشاء PDF من HTML في C# – تضمين الخطوط وتحويل إلى PDF](./create-pdf-from-html-in-c-embed-fonts-convert-to-pdf/)
دليل خطوة بخطوة لإنشاء ملف PDF من HTML في C# مع تضمين الخطوط لضمان عرض صحيح.
### [تحويل EPUB إلى صورة في .NET باستخدام Aspose.HTML](./convert-epub-to-image/)
تعرف على كيفية تحويل EPUB إلى صور باستخدام Aspose.HTML لـ .NET. برنامج تعليمي خطوة بخطوة مع أمثلة التعليمات البرمجية والخيارات القابلة للتخصيص.
### [تحويل EPUB إلى PDF في .NET باستخدام Aspose.HTML](./convert-epub-to-pdf/)
Expand Down Expand Up @@ -73,6 +75,8 @@ url: /ar/net/html-extensions-and-conversions/
تعلم كيفية حفظ مستند HTML كملف ZIP باستخدام Aspose.HTML في C# خطوة بخطوة.
### [حفظ HTML إلى ZIP في C# – مثال كامل في الذاكرة](./save-html-to-zip-in-c-complete-in-memory-example/)
تعلم كيفية حفظ مستند HTML كملف ZIP في الذاكرة باستخدام C# ومكتبة Aspose.HTML.
### [كيفية استخدام ZipArchive – حفظ HTML والموارد إلى ملف ZIP](./how-to-use-ziparchive-save-html-and-resources-to-a-zip-file/)
تعلم كيفية ضغط ملفات HTML والموارد المرتبطة بها في ملف ZIP باستخدام فئة ZipArchive في C#.

## خاتمة

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
---
category: general
date: 2026-03-29
description: إنشاء ملف PDF من HTML باستخدام Aspose.HTML في C#. تعلّم كيفية تضمين الخط،
تحويل HTML إلى PDF، وحفظ HTML كملف PDF في بضع خطوات.
draft: false
keywords:
- create pdf from html
- how to embed font
- convert html to pdf
- save html as pdf
- how to create pdf
language: ar
og_description: إنشاء PDF من HTML باستخدام Aspose.HTML. يوضح هذا الدليل كيفية تضمين
الخط، تحويل HTML إلى PDF، وحفظ HTML كملف PDF بسرعة.
og_title: إنشاء PDF من HTML في C# – تضمين الخطوط وتحويل إلى PDF
tags:
- Aspose.HTML
- C#
- PDF generation
title: إنشاء PDF من HTML في C# – تضمين الخطوط وتحويل إلى PDF
url: /ar/net/html-extensions-and-conversions/create-pdf-from-html-in-c-embed-fonts-convert-to-pdf/
---

{{< blocks/products/pf/main-wrap-class >}}
{{< blocks/products/pf/main-container >}}
{{< blocks/products/pf/tutorial-page-section >}}

# إنشاء PDF من HTML في C# – تضمين الخطوط وتحويل إلى PDF

هل احتجت يومًا إلى **إنشاء PDF من HTML** لكن لم تكن متأكدًا من كيفية الحفاظ على وضوح الخطوط المخصصة؟ لست وحدك—فالعديد من المطورين يواجهون هذه المشكلة عند نقل محتوى الويب إلى صيغة قابلة للطباعة. الخبر السار هو أن Aspose.HTML يجعل الأمر سهلًا: يمكنك تضمين خط ويب، تحويل HTML إلى PDF، وحتى **حفظ HTML كـ PDF** ببضع أسطر من C#.

في هذا الدرس سنستعرض كل ما تحتاجه: إعداد مستند HTML، تعلم **كيفية تضمين الخط**، تحويل العلامات إلى PDF، وأخيرًا حفظ النتيجة. في النهاية ستحصل على مثال كامل قابل للتنفيذ يمكنك إدراجه في أي مشروع .NET.

## ما ستحتاجه

- .NET 6.0 أو أحدث (API يعمل مع .NET Core و .NET Framework أيضًا)
- Aspose.HTML for .NET (يمكنك الحصول على حزمة تجريبية مجانية عبر NuGet: `Aspose.HTML`)
- ملف خط مخصص (مثال: `OpenSans.woff2`) موجود بجوار ملف التنفيذ الخاص بك
- بيئة تطوير مفضلة—Visual Studio أو Rider أو حتى VS Code ستفي بالغرض

لا حاجة لإعدادات إضافية، ولا خدمات خارجية. فقط بعض مراجع NuGet وستكون جاهزًا.

---

## الخطوة 1: إنشاء PDF من HTML – تهيئة HTMLDocument

أولاً: تحتاج إلى كائن `HTMLDocument` يمثل الصفحة التي تريد تحويلها إلى PDF. فكر فيه كقماش متصفح افتراضي يمكنك من خلاله حقن الأنماط، السكريبتات، أو HTML خام.

```csharp
using System;
using Aspose.Html;
using Aspose.Html.Drawing;
using Aspose.Html.Dom;

class FontStyleDemo
{
static void Main()
{
// 1️⃣ Create a fresh HTMLDocument – this is the starting point for conversion
var htmlDocument = new HTMLDocument();
```

> **لماذا هذا مهم:** فئة `HTMLDocument` تحلل العلامات تمامًا كما يفعل المتصفح، مما يضمن احترام التخطيط، CSS، والخطوط قبل أن يتولى محرك PDF العملية.

---

## الخطوة 2: كيفية تضمين الخط – إضافة عنصر `<style>` مع @font-face

تضمين خط مخصص هو عملية من خطوتين: تعريف الخط باستخدام `@font-face`، ثم تطبيقه على العناصر التي تهتم بها. أدناه نقوم بإنشاء عنصر النمط ديناميكيًا، مع سحب ملف الخط من نفس المجلد الذي يحتوي على الملف التنفيذي.

```csharp
// 2️⃣ Build a <style> element that defines the custom web font and applies it
var styleElement = htmlDocument.CreateElement("style");
styleElement.InnerHTML = @"
@font-face {
font-family: 'OpenSans';
src: url('OpenSans.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
body {
font-family: 'OpenSans';
font-weight: " + ((int)WebFontStyle.Bold) + @";
font-style: " + ((int)WebFontStyle.Italic) + @";
}";

// Insert the style into the <head> so the browser engine sees it
htmlDocument.Head.AppendChild(styleElement);
```

> **نصيحة احترافية:** إذا كنت بحاجة إلى أوزان أو أنماط متعددة، أضف قواعد `@font-face` إضافية مع `font-weight: 700` أو `font-style: italic`. سيحترم Aspose.HTML كل تنوع عند العرض.

---

## الخطوة 3: إضافة المحتوى – ملء جسم المستند بـ HTML

الآن بعد أن أصبح الخط جاهزًا، أضف بعض HTML إلى جسم المستند. أي شيء تكتبه هنا سيُعرض باستخدام الخط المضمّن.

```csharp
// 3️⃣ Add some content that will use the defined font style
htmlDocument.Body.InnerHTML = "<p>Styled text using WebFontStyle.</p>";
```

> **ماذا لو احتجت إلى علامات أكثر تعقيدًا؟** يمكنك تحميل ملف HTML خارجي عبر `new HTMLDocument("file.html")` أو بناء شجرة DOM كاملة برمجيًا—Aspose.HTML يتعامل مع الجداول، الصور، وحتى SVGs.

---

## الخطوة 4: تحويل HTML إلى PDF وحفظ HTML كـ PDF

في هذه المرحلة لديك مستند HTML مُنسق بالكامل في الذاكرة. السطر التالي يخبر Aspose.HTML بعملية عرضه مباشرةً إلى ملف PDF. هذا هو جوهر **convert html to pdf**.

```csharp
// 4️⃣ Choose an output path and save the document as PDF
string outputPath = "styled.pdf"; // change to your desired folder
htmlDocument.Save(outputPath);
Console.WriteLine($"PDF saved to {outputPath}");
}
}
```

> **لماذا تعمل `Save`:** في الخلفية، يقوم Aspose.HTML بتحويل DOM إلى قماش PDF، مع الحفاظ على النص كمتجه (لذلك يبقى الخط قابلًا للاختيار) ودقة التخطيط. لا حاجة لتحويل إلى صورة وسيطة، مما يحافظ على حجم الملف منخفضًا.

---

## الخطوة 5: التحقق من النتيجة – فتح PDF وفحص الخط

بعد تشغيل البرنامج، ابحث عن `styled.pdf` وافتحه في أي عارض PDF. يجب أن ترى الفقرة مُعرضة بخط *OpenSans* مع تنسيق غامق ومائل. إذا ظهر النص كخط احتياطي، تأكد من التالي:

1. وجود `OpenSans.woff2` في نفس المجلد الذي يحتوي على الملف التنفيذي.
2. أن اسم الملف مطابق تمامًا (حساسية الحالة في لينكس).
3. أن عنوان URL في `@font-face` يستخدم المسار النسبي الصحيح.

---

## الأخطاء الشائعة عند **كيفية إنشاء PDF** من HTML

| المشكلة | لماذا يحدث | الحل السريع |
|---------|------------|-------------|
| الخط غير ظاهر | خطأ في المسار أو ملف مفقود | استخدم مسارًا مطلقًا (`Path.Combine(Directory.GetCurrentDirectory(), "OpenSans.woff2")`) |
| النص يظهر كصورة | سوء استخدام تعداد `WebFontStyle` | تأكد من التحويل إلى `int` كما هو موضح، أو عيّن CSS `font-weight: bold;` مباشرة |
| PDF فارغ | لا محتوى في `Body.InnerHTML` | تحقق من أن سلسلة HTML ليست فارغة أو غير صالحة |
| حجم الملف كبير | صور مضمّنة بدقة عالية | ضغط الصور أو استخدم عنصر `Image` مع `srcset` |

---

## إضافي: حفظ HTML كـ PDF بحجم صفحة مخصص

إذا كنت تحتاج إلى تخطيط صفحة محدد—مثلاً A4 عمودي—يمكنك تمرير `PdfSaveOptions` عند استدعاء `Save`. هذا يوضح طريقة أخرى لـ **save html as pdf** مع تحكم دقيق.

```csharp
using Aspose.Html.Rendering.Pdf;

// ...

// 4️⃣ (Alternative) Save with custom page dimensions
var pdfOptions = new PdfSaveOptions
{
PageSetup = new PageSetup
{
Width = 595, // A4 width in points
Height = 842 // A4 height in points
}
};
htmlDocument.Save("styled-a4.pdf", pdfOptions);
```

> **ملاحظة حالة حافة:** عند تحديد حجم الصفحة، سيعيد Aspose.HTML تدفق المحتوى ليتناسب، مما قد يؤثر على فواصل الأسطر. اختبر مع HTML الفعلي لضمان بقاء التخطيط مقبولًا.

---

## مثال كامل جاهز للتنفيذ (انسخ‑الصق)

فيما يلي البرنامج بالكامل، جاهز للترجمة. فقط ضع ملف `OpenSans.woff2` بجوار ملف `.csproj`، ثبّت حزمة Aspose.HTML عبر NuGet، واضغط **Run**.

```csharp
using System;
using Aspose.Html;
using Aspose.Html.Drawing;
using Aspose.Html.Dom;
using Aspose.Html.Rendering.Pdf; // Needed for PdfSaveOptions (optional)

class FontStyleDemo
{
static void Main()
{
// Step 1 – Initialize the HTML document
var htmlDocument = new HTMLDocument();

// Step 2 – Embed the custom font via @font-face
var styleElement = htmlDocument.CreateElement("style");
styleElement.InnerHTML = @"
@font-face {
font-family: 'OpenSans';
src: url('OpenSans.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
body {
font-family: 'OpenSans';
font-weight: " + ((int)WebFontStyle.Bold) + @";
font-style: " + ((int)WebFontStyle.Italic) + @";
}";
htmlDocument.Head.AppendChild(styleElement);

// Step 3 – Add HTML content that uses the font
htmlDocument.Body.InnerHTML = "<p>Styled text using WebFontStyle.</p>";

// Step 4 – Convert HTML to PDF (basic save)
string outputPath = "styled.pdf";
htmlDocument.Save(outputPath);
Console.WriteLine($"PDF saved to {outputPath}");

// Optional: Save with custom page size (demonstrates save html as pdf)
var pdfOptions = new PdfSaveOptions
{
PageSetup = new PageSetup { Width = 595, Height = 842 } // A4
};
htmlDocument.Save("styled-a4.pdf", pdfOptions);
Console.WriteLine("PDF with custom page size saved as styled-a4.pdf");
}
}
```

**الناتج المتوقع:** ملفا PDF (`styled.pdf` و `styled-a4.pdf`) يظهران في مجلد التنفيذ. كلاهما يعرض الفقرة بخط OpenSans، غامق ومائل، تمامًا كما هو معرف في CSS.

---

## الخلاصة

لقد أظهرنا لك **كيفية إنشاء PDF من HTML** باستخدام Aspose.HTML، وتناولنا **كيفية تضمين الخط**، وعرضنا سير عمل نظيف لـ **convert html to pdf**، بل واستكشفنا سيناريو متقدم لـ **save html as pdf** مع أبعاد صفحة مخصصة. الفكرة الأساسية بسيطة: أنشئ `HTMLDocument`، أدرج قاعدة `@font-face`، أضف العلامات الخاصة بك، ودع Aspose يتولى الجزء الصعب.

ما الخطوة التالية؟ جرّب استبدال الخط، إضافة صور، أو توليد تقارير متعددة الصفحات. يمكنك أيضًا تجربة استعلامات وسائط CSS لإنتاج تخطيطات مختلفة للشاشة مقابل الطباعة. المكتبة مرنة بما يكفي للتعامل مع الفواتير، الشهادات، أو حتى الكتب الإلكترونية—كل ذلك دون مغادرة بيئة C#.

إذا واجهت أي صعوبات، تحقق مرة أخرى من مسار الخط وتأكد من أن نسخة حزمة NuGet تتطابق مع نسخة .NET التي تستهدفها. برمجة سعيدة، واستمتع بتحويل HTML إلى ملفات PDF جميلة!

<img src="assets/create-pdf-from-html-diagram.png" alt="مثال إنشاء PDF من HTML مع خط مضمّن">

---

{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
{{< blocks/products/products-backtop-button >}}
Loading