Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
نحن دائمًا نبحث عن طريقة لإنشاء مستندات PDF والعمل معها في مشاريع C# بدقة وفعالية أكبر. توفر الوظائف السهلة الاستخدام من مكتبة ما إمكانية تتبع المزيد من العمل، وتقليل الوقت المستغرق في التفاصيل الثقيلة لمحاولة إنشاء PDFs، سواء في .NET.
تعمل مقتطفات الكود التالية أيضًا مع مكتبة Aspose.PDF.Drawing.
تتيح لك واجهة برمجة التطبيقات Aspose.PDF for .NET إنشاء وقراءة ملفات PDF باستخدام C# و VB.NET. يمكن استخدام واجهة برمجة التطبيقات في مجموعة متنوعة من تطبيقات .NET بما في ذلك WinForms و ASP.NET والعديد من التطبيقات الأخرى. في هذه المقالة، سنوضح كيفية استخدام واجهة برمجة التطبيقات Aspose.PDF for .NET لتوليد وقراءة ملفات PDF بسهولة في تطبيقات .NET.
لإنشاء ملف PDF باستخدام C#، يمكن استخدام الخطوات التالية.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateHelloWorldDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Add page
var page = document.Pages.Add();
// Add text to new page
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));
// Save PDF document
document.Save(dataDir + "HelloWorld_out.pdf");
}
}
يوفر Aspose.PDF for .NET ميزة إنشاء وتعديل مستندات PDF الموجودة. عند إضافة عناصر نصية داخل ملف PDF، يصبح PDF الناتج قابلاً للبحث. ومع ذلك، إذا كنا نقوم بتحويل صورة تحتوي على نص إلى ملف PDF، فإن المحتويات داخل PDF لن تكون قابلة للبحث. ومع ذلك، كحل بديل، يمكننا استخدام OCR على الملف الناتج، بحيث يصبح قابلاً للبحث.
تحدد هذه المنطق أدناه التعرف على النص لصور PDF. يمكنك استخدام دعم OCR الخارجي لمعيار HOCR. لأغراض الاختبار، استخدمنا OCR مجاني من Google tesseract. لذلك، تحتاج أولاً إلى تثبيت Tesseract-OCR على نظامك، وستكون لديك تطبيق وحدة التحكم tesseract.
فيما يلي الكود الكامل لتحقيق هذا المتطلب:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateSearchableDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "SearchableDocument.pdf"))
{
document.Convert(CallBackGetHocr);
// Save PDF document
document.Save(dataDir + "SearchableDocument_out.pdf");
}
}
private static string CallBackGetHocr(System.Drawing.Image img)
{
var tmpFile = Path.GetTempFileName();
try
{
using (var bmp = new System.Drawing.Bitmap(img))
{
bmp.Save(tmpFile, System.Drawing.Imaging.ImageFormat.Bmp);
}
var inputFile = string.Concat('"', tmpFile, '"');
var outputFile = string.Concat('"', tmpFile, '"');
var arguments = string.Concat(inputFile, " ", outputFile, " -l eng hocr");
var tesseractProcessName = RunExamples.GetTesseractExePath();
var psi = new System.Diagnostics.ProcessStartInfo(tesseractProcessName, arguments)
{
UseShellExecute = true,
CreateNoWindow = true,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
WorkingDirectory = Path.GetDirectoryName(tesseractProcessName)
};
var p = new System.Diagnostics.Process
{
StartInfo = psi
};
p.Start();
p.WaitForExit();
using (var streamReader = new StreamReader(tmpFile + ".hocr"))
{
string text = streamReader.ReadToEnd();
return text;
}
}
finally
{
if (File.Exists(tmpFile))
{
File.Delete(tmpFile);
}
if (File.Exists(tmpFile + ".hocr"))
{
File.Delete(tmpFile + ".hocr");
}
}
}
يعمل مقتطف الكود هذا مع مستند PDF ومحتواه المعنون، باستخدام مكتبة Aspose.PDF لمعالجته.
يخلق المثال عنصر span جديد في المحتوى المعنون للصفحة الأولى من PDF، ويجد جميع عناصر BDC، ويربطها بالـ span. ثم يتم حفظ المستند المعدل.
يمكنك إنشاء بيان bdc يحدد mcid و lang ونص التوسيع باستخدام كائن BDCProperties:
var bdc = new Aspose.Pdf.Operators.BDC("P", new Aspose.Pdf.Facades.BDCProperties(1, "de", "Hallo, welt!"));
بعد إنشاء شجرة الهيكل، من الممكن ربط عامل BDC بالعنصر المحدد من الهيكل باستخدام طريقة Tag على كائن العنصر:
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
span.Tag(bdc);
خطوات إنشاء PDF قابل للوصول:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateAnAccessibleDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "tourguidev2_gb_tags.pdf"))
{
// Access tagged content
Aspose.Pdf.Tagged.ITaggedContent content = document.TaggedContent;
// Create a span element
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
// Append span to root element
content.RootElement.AppendChild(span);
// Iterate over page contents
foreach (var op in document.Pages[1].Contents)
{
var bdc = op as Aspose.Pdf.Operators.BDC;
if (bdc != null)
{
span.Tag(bdc);
}
}
// Save PDF document
document.Save(dataDir + "AccessibleDocument_out.pdf");
}
}
يعدل هذا الكود PDF عن طريق إنشاء عنصر span داخل المحتوى المعنون للمستند ووضع علامة على محتوى معين (عمليات BDC) من الصفحة الأولى بهذا span. ثم يتم حفظ PDF المعدل في ملف جديد.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.