التلاعب بخصائص الصفحة

الحصول على خصائص صفحة PDF من ملف PDF موجود

PdfPageEditor يتيح لك العمل مع الصفحات الفردية من ملف PDF. يساعدك في الحصول على خصائص الصفحة الفردية مثل أحجام صناديق الصفحات المختلفة، دوران الصفحة، تكبير الصفحة، إلخ. للحصول على تلك الخصائص، تحتاج إلى إنشاء كائن PdfPageEditor وربط ملف PDF المدخل باستخدام طريقة BindPdf. بعد ذلك، يمكنك استخدام طرق مختلفة للحصول على خصائص الصفحة مثل GetPageRotation، GetPages، GetPageBoxSize إلخ.

تظهر الشيفرة البرمجية التالية كيفية الحصول على خصائص صفحة PDF من ملف PDF موجود.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GetPdfPageProperties()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var pageEditor = new Aspose.Pdf.Facades.PdfPageEditor())
    {
        // Bind PDF document
        pageEditor.BindPdf(dataDir + "input.pdf");

        // Get page properties and print them to the console
        Console.WriteLine($"Page 1 Rotation: {pageEditor.GetPageRotation(1)}");
        Console.WriteLine($"Total Pages: {pageEditor.GetPages()}");
        Console.WriteLine($"Trim Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "trim")}");
        Console.WriteLine($"Art Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "art")}");
        Console.WriteLine($"Bleed Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "bleed")}");
        Console.WriteLine($"Crop Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "crop")}");
        Console.WriteLine($"Media Box Size of Page 1: {pageEditor.GetPageBoxSize(1, "media")}");
    }
}

تعيين خصائص صفحة PDF في ملف PDF موجود

لتعيين خصائص الصفحة مثل دوران الصفحة، التكبير أو نقطة الأصل، تحتاج إلى استخدام فئة PdfPageEditor. توفر هذه الفئة طرقًا وخصائص مختلفة لتعيين هذه الخصائص. أولاً، تحتاج إلى إنشاء كائن من فئة PdfPageEditor وربط ملف PDF المدخل باستخدام طريقة BindPdf. بعد ذلك، يمكنك استخدام هذه الطرق والخصائص لتعيين خصائص الصفحة. أخيرًا، احفظ ملف PDF المحدث باستخدام طريقة Save.

تظهر الشيفرة البرمجية التالية كيفية تعيين خصائص صفحة PDF في ملف PDF موجود.

 // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPdfPageProperties()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var pageEditor = new Aspose.Pdf.Facades.PdfPageEditor())
    {
        // Bind PDF document
        pageEditor.BindPdf(dataDir + "input.pdf");

        // Set page properties
        // Move origin from (0,0)
        pageEditor.MovePosition(100, 100);

        // Set page rotations
        var pageRotations = new System.Collections.Hashtable
        {
            { 1, 90 },
            { 2, 180 },
            { 3, 270 }
        };

        // Set zoom where 1.0f = 100% zoom
        pageEditor.Zoom = 2.0f;

        // Save PDF document
        pageEditor.Save(dataDir + "SetPageProperties_out.pdf");
    }
}

تغيير حجم محتويات الصفحة لصفحات معينة في ملف PDF

تسمح لك طريقة ResizeContents من فئة PdfPageEditor بتغيير حجم محتويات الصفحة في ملف PDF. تُستخدم فئة ContentsResizeParameters لتحديد المعلمات التي سيتم استخدامها لتغيير حجم الصفحة (الصفحات) مثل الهوامش بالنسبة المئوية أو الوحدات، إلخ. يمكنك تغيير حجم جميع الصفحات أو تحديد مصفوفة من الصفحات لتغيير حجمها باستخدام طريقة ResizeContents.

تظهر الشيفرة البرمجية التالية كيفية تغيير حجم محتويات بعض الصفحات المحددة من ملف PDF.

  // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
 private static void ResizePdfPageContents()
 {
     // The path to the documents directory
     var dataDir = RunExamples.GetDataDir_AsposePdf();

     // Create PdfFileEditor Object
     var fileEditor = new Aspose.Pdf.Facades.PdfFileEditor();

     // Open PDF Document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Specify Parameters to be used for resizing
         var parameters = new Aspose.Pdf.Facades.PdfFileEditor.ContentsResizeParameters(
             // Left margin = 10% of page width
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // New contents width calculated automatically as width - left margin - right margin (100% - 10% - 10% = 80%)
             null,
             // Right margin is 10% of page
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // Top margin = 10% of height
             PdfFileEditor.ContentsResizeValue.Percents(10),
             // New contents height is calculated automatically (similar to width)
             null,
             // Bottom margin is 10%
             PdfFileEditor.ContentsResizeValue.Percents(10)
         );

         // Resize Page Contents
         fileEditor.ResizeContents(document, new[] { 1, 2 }, parameters);

         // Save PDF document
         document.Save(dataDir + "ResizePageContents_out.pdf");
     }
 }