Class KeepPartAndCloneSolidObjectToNextPageAlgorithm
De naam: Aspose.Note.Saving Verzameling: Aspose.Note.dll (25.4.0)
Voeg het bovenste deel van het object aan de onderkant van de pagina toe en cloneer het volledige object naar de volgende pagina als het niet past in de oorspronkelijke pagina.
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
Geëerbiede leden
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Wanneer lange OneNote-pagina’s in pdf-formaat worden opgeslagen, worden ze verdeeld over pagina’s. het monster toont hoe de verdeelde logica van objecten die zich op de breuken van de pagina bevinden, kan worden ingesteld.
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);
Wanneer lange OneNote-pagina’s in pdf-formaat worden opgeslagen, worden ze verdeeld over pagina’s. het voorbeeld toont hoe je de scheidinglogiek van objecten op de breuken van de pagina kunt configureren.
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()
Initialiseert een nieuwe instantie van het Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm-klasse, met behulp van de standaard hoogtegrens van gekloonde onderdelen.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm()
{
}
KeepPartAndCloneSolidObjectToNextPageAlgorithm(vloot)
Initialiseert een nieuwe instantie van de Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm-klasse, met behulp van een specifieke hoogtegrens van gekloonde onderdelen.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
De max-hoogte van het klonde deel.
Fields
DefaultHeightLimitOfClonedPart
De standaard max grootte van gekloonde onderdelen.
public const float DefaultHeightLimitOfClonedPart = 200;
veldwaarde
Properties
HeightLimitOfClonedPart
Geeft de hoogtegrens van het gekloonde deel.
public float HeightLimitOfClonedPart
{
get;
}