Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
تشرح هذه المقالة كيفية تحويل HTML إلى PDF باستخدام C#. تغطي المواضيع التالية.
يعمل مقتطف الكود التالي أيضًا مع مكتبة Aspose.PDF.Drawing .
التنسيق: HTML
التنسيق: MHTML
التنسيق: WebPage
Aspose.PDF for .NET هو واجهة برمجة تطبيقات معالجة PDF تتيح لك تحويل أي مستندات HTML موجودة إلى PDF بسلاسة. يمكن تخصيص عملية تحويل HTML إلى PDF بشكل مرن.
يظهر نموذج كود C# التالي كيفية تحويل مستند HTML إلى PDF.
الخطوات: تحويل HTML إلى PDF في C#
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Load the HTML file into a document using HtmlLoadOptions
var options = new Aspose.Pdf.HtmlLoadOptions();
// Open HTML document
using (var document = new Aspose.Pdf.Document(dataDir + "test.html", options))
{
// Save PDF document
document.Save(dataDir + "ConvertHTMLtoPDF_out.pdf");
}
}
حاول تحويل HTML إلى PDF عبر الإنترنت
تقدم Aspose لك تطبيقًا مجانيًا عبر الإنترنت “HTML إلى PDF” ، حيث يمكنك تجربة الوظائف والجودة التي يعمل بها.
يمتلك محرك تحويل HTML عدة خيارات تتيح لنا التحكم في عملية التحويل.
استعلامات الوسائط هي تقنية شائعة لتقديم ورقة أنماط مخصصة لأجهزة مختلفة. يمكننا تعيين نوع الجهاز باستخدام خاصية HtmlMediaType
.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvancedMediaType()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Load the HTML file into a document using HtmlLoadOptions with Print media type
var options = new HtmlLoadOptions
{
// Set Print or Screen mode
HtmlMediaType = Aspose.Pdf.HtmlMediaType.Print
};
// Open HTML document
using (var document = new Aspose.Pdf.Document(dataDir + "test.html", options))
{
// Save PDF document
document.Save(dataDir + "ConvertHTMLtoPDFAdvancedMediaType_out.pdf");
}
}
تستخدم صفحات HTML غالبًا خطوطًا (مثل الخطوط من المجلد المحلي، خطوط Google، إلخ). يمكننا أيضًا التحكم في تضمين الخطوط في مستند باستخدام خاصية IsEmbedFonts
.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvancedEmbedFonts()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Load the HTML file into a document using HtmlLoadOptions with the font embedding option set
var options = new Aspose.Pdf.HtmlLoadOptions
{
// Disable font embedding
IsEmbedFonts = false
};
// Open HTML document
using (var document = new Aspose.Pdf.Document(dataDir + "test_fonts.html", options))
{
// Save PDF document
document.Save(dataDir + "ConvertHTMLtoPDFAdvanced_EmbedFonts_out.pdf");
}
}
يوفر محرك التحويل آلية تتيح لك التحكم في تحميل بعض الموارد المرتبطة بمستند HTML.
تحتوي فئة HtmlLoadOptions
على خاصية CustomLoaderOfExternalResources
التي يمكننا من خلالها تحديد سلوك محمل الموارد.
افترض أننا بحاجة إلى استبدال جميع صور PNG بصورة واحدة test.jpg
واستبدال عنوان URL الخارجي إلى داخلي للموارد الأخرى.
للقيام بذلك، يمكننا تعريف محمل مخصص SamePictureLoader
ونشير إلى CustomLoaderOfExternalResources
بهذا الاسم.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvanced_DummyImage()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Load the HTML file into a document with a custom resource loader for external images
var options = new Aspose.Pdf.HtmlLoadOptions
{
CustomLoaderOfExternalResources = SamePictureLoader
};
// Open HTML document
using (var document = new Aspose.Pdf.Document(dataDir + "test.html", options))
{
// Save PDF document
document.Save(dataDir + "html_test.pdf");
}
}
private static Aspose.Pdf.LoadOptions.ResourceLoadingResult SamePictureLoader(string resourceURI)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
Aspose.Pdf.LoadOptions.ResourceLoadingResult result;
if (resourceURI.EndsWith(".png"))
{
byte[] resultBytes = File.ReadAllBytes(dataDir + "test.jpg");
result = new Aspose.Pdf.LoadOptions.ResourceLoadingResult(resultBytes)
{
// Set MIME Type
MIMETypeIfKnown = "image/jpeg"
};
}
else
{
result = new Aspose.Pdf.LoadOptions.ResourceLoadingResult(GetContentFromUrl(resourceURI));
}
return result;
}
private static byte[] GetContentFromUrl(string url)
{
var httpClient = new System.Net.Http.HttpClient();
return httpClient.GetByteArrayAsync(url).GetAwaiter().GetResult();
}
يختلف تحويل صفحة الويب قليلاً عن تحويل مستند HTML المحلي. من أجل تحويل محتويات صفحة الويب إلى تنسيق PDF، يمكننا أولاً جلب محتويات صفحة HTML باستخدام مثيل HttpClient، وإنشاء كائن Stream، وتمرير المحتويات إلى كائن Document وعرض الناتج في تنسيق PDF.
عند تحويل صفحة ويب مستضافة على خادم ويب إلى PDF:
الخطوات: تحويل WebPage إلى PDF في C#
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvanced_WebPage()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
const string url = "https://en.wikipedia.org/wiki/Aspose_API";
// Set page size A3 and Landscape orientation;
var options = new Aspose.Pdf.HtmlLoadOptions(url)
{
PageInfo =
{
Width = 842,
Height = 1191,
IsLandscape = true
}
};
// Load the web page content as a stream and create a PDF document
using (var document = new Aspose.Pdf.Document(GetContentFromUrlAsStream(url), options))
{
// Save PDF document
document.Save(dataDir + "html_test.pdf");
}
}
private static Stream GetContentFromUrlAsStream(string url, System.Net.ICredentials credentials = null)
{
using (var handler = new System.Net.Http.HttpClientHandler { Credentials = credentials })
using (var httpClient = new System.Net.Http.HttpClient(handler))
{
return httpClient.GetStreamAsync(url).GetAwaiter().GetResult();
}
}
أحيانًا نحتاج إلى إجراء تحويل لملفات HTML التي تتطلب مصادقة وامتيازات وصول، بحيث يمكن فقط للمستخدمين المصرح لهم جلب محتويات الصفحة. يشمل ذلك أيضًا السيناريو الذي يتم فيه جلب بعض الموارد/البيانات المشار إليها داخل HTML من خادم خارجي يتطلب مصادقة، ومن أجل تلبية هذا المتطلب، تمت إضافة خاصية ExternalResourcesCredentials
إلى فئة HtmlLoadOptions
. يظهر مقتطف الكود التالي الخطوات اللازمة لتمرير بيانات الاعتماد لطلب HTML وموارده المعنية أثناء تحويل ملف HTML إلى PDF.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvancedAuthorized()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
const string url = "http://httpbin.org/basic-auth/user1/password1";
var credentials = new System.Net.NetworkCredential("user1", "password1");
var options = new Aspose.Pdf.HtmlLoadOptions(url)
{
ExternalResourcesCredentials = credentials
};
using (var document = new Aspose.Pdf.Document(GetContentFromUrlAsStream(url, credentials), options))
{
// Save PDF document
document.Save(dataDir + "HtmlTest_out.pdf");
}
}
private static Stream GetContentFromUrlAsStream(string url, System.Net.ICredentials credentials = null)
{
using (var handler = new System.Net.Http.HttpClientHandler { Credentials = credentials })
using (var httpClient = new System.Net.Http.HttpClient(handler))
{
return httpClient.GetStreamAsync(url).GetAwaiter().GetResult();
}
}
توفر Aspose.PDF for .NET القدرة على عرض جميع المحتويات في صفحة واحدة أثناء تحويل ملف HTML إلى تنسيق PDF. على سبيل المثال، إذا كان لديك بعض محتويات HTML التي يكون حجم الناتج أكبر من صفحة واحدة، يمكنك استخدام خيار عرض بيانات الناتج في صفحة PDF واحدة. لاستخدام هذا الخيار، تم توسيع فئة HtmlLoadOptions بواسطة علامة IsRenderToSinglePage. يظهر مقتطف الكود أدناه كيفية استخدام هذه الوظيفة.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFAdvancedSinglePageRendering()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Initialize HtmlLoadOptions
var options = new Aspose.Pdf.HtmlLoadOptions
{
// Set Render to single page property
IsRenderToSinglePage = true
};
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "HTMLToPDF.html", options))
{
// Save PDF document
document.Save(dataDir + "RenderContentToSamePage_out.pdf");
}
}
توفر Aspose.PDF for .NET القدرة على تحويل صفحة HTML إلى مستند PDF. نظرًا لأن HTML يسمح بإضافة عنصر رسومي SVG كعلامة في الصفحة، فإن Aspose.PDF تدعم أيضًا تحويل مثل هذه البيانات إلى ملف PDF الناتج. يظهر مقتطف الكود التالي كيفية تحويل ملفات HTML مع علامات رسومية SVG إلى مستندات PDF معلمة.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHTMLtoPDFWithSVG()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Initialize HtmlLoadOptions
var options = new Aspose.Pdf.HtmlLoadOptions(Path.GetDirectoryName(dataDir + "HTMLSVG.html"));
// Initialize Document object
using (var document = new Aspose.Pdf.Document(dataDir + "HTMLSVG.html", options))
{
// Save PDF document
document.Save(dataDir + "RenderHTMLwithSVGData_out.pdf");
}
}
حاول تحويل MHTML إلى PDF عبر الإنترنت
تقدم Aspose.PDF for .NET لك تطبيقًا مجانيًا عبر الإنترنت “MHTML إلى PDF” ، حيث يمكنك تجربة الوظائف والجودة التي يعمل بها.
MHTML، اختصار لـ MIME HTML، هو تنسيق أرشيف صفحة ويب يستخدم لدمج الموارد التي يتم تمثيلها عادةً بواسطة روابط خارجية (مثل الصور، الرسوم المتحركة Flash، تطبيقات Java، وملفات الصوت) مع كود HTML في ملف واحد. يتم ترميز محتوى ملف MHTML كما لو كان رسالة بريد إلكتروني HTML، باستخدام نوع MIME multipart/related. يمكن لـ Aspose.PDF for .NET تحويل ملفات HTML إلى تنسيق PDF ومع إصدار Aspose.PDF for .NET 9.0.0، قدمنا ميزة جديدة تتيح لك تحويل ملفات MHTML إلى تنسيق PDF. يظهر مقتطف الكود التالي كيفية تحويل ملفات MHTML إلى تنسيق PDF باستخدام C#:
الخطوات: تحويل MHTML إلى PDF في C#
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertMHTtoPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Initialize MhtLoadOptions with page setup
var options = new Aspose.Pdf.MhtLoadOptions()
{
PageInfo = { Width = 842, Height = 1191, IsLandscape = true }
};
// Initialize Document object using the MHT file and options
using (var document = new Aspose.Pdf.Document(dataDir + "fileformatinfo.mht", options))
{
// Save PDF document
document.Save(dataDir + "MhtmlTest_out.pdf");
}
}
تغطي هذه المقالة أيضًا هذه المواضيع. الأكواد هي نفسها كما في الأعلى.
التنسيق: HTML
التنسيق: MHTML
التنسيق: WebPage
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.