Class KeepPartAndCloneSolidObjectToNextPageAlgorithm

Class KeepPartAndCloneSolidObjectToNextPageAlgorithm

Der Name: Aspose.Note.Saving Zusammensetzung: Aspose.Note.dll (25.4.0)

Geben Sie den Objekt in die Spitze der Seite hinzu und klonen Sie das ganze Object auf die nächste Seite, wenn es nicht in der ursprünglichen Seite passt.

public class KeepPartAndCloneSolidObjectToNextPageAlgorithm : PageSplittingAlgorithm
   {
      private bool _keepWithNext;
      private Shape _clonedShape;
      public KeepPartAndCloneSolidObjectToNextPageAlgorithm()
      {
         _keepWithNext = false;
         _clonedShape = null;
      }
      protected override bool ShouldSplit(Node node)
      {
         if (node is Shape shape && !_keepWithNext && shape.Type == ShapeType.SolidObject)
         {
            CloneSolidObject(shape);
            _keepWithNext = true;
            return false;
         }
         _keepWithNext = false;
         return base.ShouldSplit(node);
      }
      private void CloneSolidObject(Shape shape)
      {
         if (shape.IsTextFrame)
         {
            _clonedShape = shape.Clone();
         }
         else
         {
            using (var memoryStream = new MemoryStream())
            {
               shape.CopyTo(memoryStream);
               _clonedShape = Shape.FromPKI(memoryStream);
            }
         }
      }
   }

Inheritance

object PageSplittingAlgorithm KeepPartAndCloneSolidObjectToNextPageAlgorithm

Vererbte Mitglieder

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

Examples

Wenn lange OneNote-Seiten in pdf-Format gespeichert werden, werden sie auf Seiten geteilt. Die Probe zeigt, wie man die getrennte Logik der Objekte auf den Seitenbrechen konfiguriert.

string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
   Document doc = new Document(dataDir + "Aspose.one");
   var pdfSaveOptions = new PdfSaveOptions();
   pdfSaveOptions.PageSplittingAlgorithm = new KeepPartAndCloneSolidObjectToNextPageAlgorithm(100);
   pdfSaveOptions.PageSplittingAlgorithm = new KeepPartAndCloneSolidObjectToNextPageAlgorithm(400);
   dataDir += "PageSplittUsingKeepPartAndCloneSolidObjectToNextPageAlgorithm_out.pdf";
   doc.Save(dataDir);

Wenn lange OneNote-Seiten in PDF-Format gespeichert werden, werden sie über Seiten geteilt. Das Beispiel zeigt, wie man die getrennte Logik der Objekte auf den Seitenbrechen konfiguriert.

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

Constructors

KeepPartAndCloneSolidObjectToNextPageAlgorithm()

Initialisiert eine neue Instanz der Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm-Klasse, mit default-Höhegrenze des klonierten Teils.

public KeepPartAndCloneSolidObjectToNextPageAlgorithm()
   {
   }

KeepPartAndCloneSolidObjectToNextPageAlgorithm(Float)

Initialisiert eine neue Instanz der Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm-Klasse, mit einer spezifischen Höhegrenze des klonierten Teils.

public KeepPartAndCloneSolidObjectToNextPageAlgorithm(float heightLimitOfClonedPart)
   {
   }

Parameters

heightLimitOfClonedPart float

Die maximale Höhe des klonierten Teils.

Fields

DefaultHeightLimitOfClonedPart

Die standardmäßige Maxgröße des klonierten Teils.

public const float DefaultHeightLimitOfClonedPart = 200;

Feldwert

float

Properties

HeightLimitOfClonedPart

Erreicht die Höhegrenze des klonierten Teils.

public float HeightLimitOfClonedPart
   {
      get;
   }

Eigentumswert

float

 Deutsch