Class AlwaysSplitObjectsAlgorithm

Class AlwaysSplitObjectsAlgorithm

Tên không gian: Aspose.Note.Saving Tổng hợp: Aspose.Note.dll (25.4.0)

Chia một đối tượng thành nhiều phần nếu nó không phù hợp với trang ban đầu.

public class AlwaysSplitObjectsAlgorithm : PageSplittingAlgorithm
   {
      private readonly double _splitDistance;
      public AlwaysSplitObjectsAlgorithm(double splitDistance)
      {
         _splitDistance = splitDistance;
      }
      protected override void SplitPagesCore(Document doc, int startPageIndex, int endPageIndex, PageSplittingCriteria criteria)
      {
         for (int i = startPageIndex; i < endPageIndex; i++)
         {
            SplitPage(doc, i);
         }
      }
      private void SplitPage(Document doc, int pageIndex)
      {
         Page page = doc.GetPage(pageIndex);
         Aspose.Words.CheckBox checkBox;
         if (page.Paragraphs.Count > 0)
         {
            Paragraph lastParagraph = page.Paragraphs[page.Paragraphs.Count - 1];
            Node nextNode = lastParagraph.NextSibling;
            if (nextNode != null && nextNode is CheckBox checkBoxNextNode)
            {
               checkBox = checkBoxNextNode as Aspose.Words.CheckBox;
            }
         }
         if (checkBox == null)
         {
            return;
         }
         double distanceToCheckBox = GetDistanceToCheckBox(page, checkBox);
         if (distanceToCheckBox <= _splitDistance)
         {
            SplitPageHorizontally(doc, pageIndex);
         }
      }
      private double GetDistanceToCheckBox(Page page, Aspose.Words.CheckBox checkBox)
      {
      }
      private void SplitPageHorizontally(Document doc, int pageIndex)
      {
      }
   }

Inheritance

object PageSplittingAlgorithm AlwaysSplitObjectsAlgorithm

Thành viên thừa kế

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Khi các trang dài của OneNote được lưu trữ trong định dạng pdf, chúng được chia thành mỗi trang. ví dụ này cho thấy cách thiết lập logic chia của các đối tượng nằm trên các khoảng trống của trang .

string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
   Document doc = new Document(dataDir + "Aspose.one");
   var pdfSaveOptions = new PdfSaveOptions();
   pdfSaveOptions.PageSplittingAlgorithm = new AlwaysSplitObjectsAlgorithm();
   pdfSaveOptions.PageSplittingAlgorithm = new KeepPartAndCloneSolidObjectToNextPageAlgorithm();
   pdfSaveOptions.PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm();
   float heightLimitOfClonedPart = 500;
   pdfSaveOptions.PageSplittingAlgorithm = new KeepPartAndCloneSolidObjectToNextPageAlgorithm(heightLimitOfClonedPart);
   pdfSaveOptions.PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm(heightLimitOfClonedPart);
   pdfSaveOptions.PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm(100);
   pdfSaveOptions.PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm(400);
   dataDir += "UsingKeepSOlidObjectsAlgorithm_out.pdf";
   doc.Save(dataDir);

Constructors

LuônSplitObjectsAlgorithm()

public AlwaysSplitObjectsAlgorithm()
   {
   }
 Tiếng Việt