قم بتدوير النص داخل PDF باستخدام C#

الكود التالي يعمل أيضًا مع مكتبة Aspose.PDF.Drawing.

تدوير النص داخل PDF باستخدام خاصية التدوير

من خلال استخدام خاصية التدوير لفئة TextFragment، يمكنك تدوير النص بزوايا مختلفة. يمكن استخدام تدوير النص في سيناريوهات مختلفة لتوليد الوثائق. يمكنك تحديد زاوية التدوير بالدرجات لتدوير النص حسب حاجتك. يرجى التحقق من السيناريوهات المختلفة التالية، التي يمكنك تنفيذ تدوير النص فيها.

تنفيذ التدوير باستخدام TextFragment و TextBuilder

// للأمثلة الكاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// تهيئة كائن المستند
Document pdfDocument = new Document();
// الحصول على صفحة معينة
Page pdfPage = (Page)pdfDocument.Pages.Add();
// إنشاء قطعة نص
TextFragment textFragment1 = new TextFragment("النص الرئيسي");
textFragment1.Position = new Position(100, 600);
// تعيين خصائص النص
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// إنشاء قطعة نص مدورة
TextFragment textFragment2 = new TextFragment("نص مدور");
textFragment2.Position = new Position(200, 600);
// تعيين خصائص النص
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// إنشاء قطعة نص مدورة
TextFragment textFragment3 = new TextFragment("نص مدور");
textFragment3.Position = new Position(300, 600);
// تعيين خصائص النص
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// إنشاء كائن TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// إلحاق قطعة النص بصفحة PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// حفظ المستند
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated1_out.pdf");

تطبيق الدوران باستخدام TextParagraph و TextBuilder (أجزاء مدورة)

// للحصول على الأمثلة الكاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// تهيئة كائن المستند
Document pdfDocument = new Document();
// الحصول على صفحة معينة
Page pdfPage = (Page)pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// إنشاء جزء نصي
TextFragment textFragment1 = new TextFragment("نص مدور");
// تعيين خصائص النص
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// تعيين الدوران
textFragment1.TextState.Rotation = 45;
// إنشاء جزء نصي
TextFragment textFragment2 = new TextFragment("النص الرئيسي");
// تعيين خصائص النص
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// إنشاء جزء نصي
TextFragment textFragment3 = new TextFragment("نص مدور آخر");
// تعيين خصائص النص
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// تعيين الدوران
textFragment3.TextState.Rotation = -45;
// إلحاق أجزاء النص بالفقرة
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// إنشاء كائن TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// إلحاق الفقرة النصية بصفحة PDF
textBuilder.AppendParagraph(paragraph);
// حفظ المستند
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated2_out.pdf");

تطبيق الدوران باستخدام TextFragment و Page.Paragraphs

// للحصول على أمثلة كاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// تهيئة كائن المستند
Document pdfDocument = new Document();
// الحصول على صفحة معينة
Page pdfPage = (Page)pdfDocument.Pages.Add();
// إنشاء قطعة نص
TextFragment textFragment1 = new TextFragment("النص الرئيسي");
// تعيين خصائص النص
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// إنشاء قطعة نص
TextFragment textFragment2 = new TextFragment("نص مدور");
// تعيين خصائص النص
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// تعيين الدوران
textFragment2.TextState.Rotation = 315;
// إنشاء قطعة نص
TextFragment textFragment3 = new TextFragment("نص مدور");
// تعيين خصائص النص
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// تعيين الدوران
textFragment3.TextState.Rotation = 270;
pdfPage.Paragraphs.Add(textFragment1);
pdfPage.Paragraphs.Add(textFragment2);
pdfPage.Paragraphs.Add(textFragment3);
// حفظ المستند
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated3_out.pdf");

تطبيق الدوران باستخدام TextParagraph و TextBuilder (دوران الفقرة بأكملها)

// للحصول على الأمثلة الكاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// تهيئة كائن المستند
Document pdfDocument = new Document();
// الحصول على صفحة معينة
Page pdfPage = (Page)pdfDocument.Pages.Add();
for (int i = 0; i < 4; i++)
{
    TextParagraph paragraph = new TextParagraph();
    paragraph.Position = new Position(200, 600);
    // تحديد الدوران
    paragraph.Rotation = i * 90 + 45;
    // إنشاء قطعة نصية
    TextFragment textFragment1 = new TextFragment("نص الفقرة");
    // إنشاء قطعة نصية
    textFragment1.TextState.FontSize = 12;
    textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment1.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment1.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    // إنشاء قطعة نصية
    TextFragment textFragment2 = new TextFragment("السطر الثاني من النص");
    // تعيين خصائص النص
    textFragment2.TextState.FontSize = 12;
    textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment2.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment2.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    // إنشاء قطعة نصية
    TextFragment textFragment3 = new TextFragment("وبعض النصوص الإضافية...");
    // تعيين خصائص النص
    textFragment3.TextState.FontSize = 12;
    textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment3.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment3.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    textFragment3.TextState.Underline = true;
    paragraph.AppendLine(textFragment1);
    paragraph.AppendLine(textFragment2);
    paragraph.AppendLine(textFragment3);
    // إنشاء كائن TextBuilder
    TextBuilder textBuilder = new TextBuilder(pdfPage);
    // إضافة الفقرة النصية إلى صفحة PDF
    textBuilder.AppendParagraph(paragraph);
}
// حفظ المستند
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated4_out.pdf");