Class KeepPartAndCloneSolidObjectToNextPageAlgorithm
Il nome: Aspose.Note.Saving Assemblea: Aspose.Note.dll (25.4.0)
Aggiungi la parte superiore dell’oggetto alla parte inferiore della pagina e cloni il oggetto intero alla pagina successiva se non corrisponde nella pagina originale.
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
I membri ereditari
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Quando le lunghe pagine di OneNote vengono memorizzate in formato pdf, vengono suddivise su pagina.Il campione mostra come configurare la logica di divisione degli oggetti che si trovano sulle interruzioni del sito.
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);
Quando le lunghe pagine di OneNote vengono memorizzate in formato pdf, vengono suddivise su pagina.L’esempio mostra come configurare la logica di suddizione degli oggetti situati sulle interruzioni della Pagina.
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
Scrivi una recensione per KeepPartAndCloneSolidObjectToNextPageAlgorithm()
Inizia una nuova instanza del Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm class, utilizzando il limite di altezza predefinito della parte clonata.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm()
{
}
KeepPartAndCloneSolidObjectToNextPageAlgorithm(float)
Inizializza una nuova instanza del Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm class, utilizzando un limite specifico di altezza della parte clonata.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
L’altezza max della parte clonata.
Fields
DefaultHeightLimitOfClonedPart
La dimensione max standard della parte clonata.
public const float DefaultHeightLimitOfClonedPart = 200;
Valore di campo
Properties
HeightLimitOfClonedPart
Riceve il limite di altezza della parte clonata.
public float HeightLimitOfClonedPart
{
get;
}