Class KeepPartAndCloneSolidObjectToNextPageAlgorithm
Nom dels espais: Aspose.Note.Saving Assemblea: Aspose.Note.dll (25.4.0)
Afegeix la part superior de l’objecte al fons de la pàgina i cloneix el objecte complet a la següent pàgina en cas que no coincideixi amb la seva pàgina original.
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
Membres heretats
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Quan les llargues pàgines de OneNote s’emmagatzemen en format pdf, es divideixen entre pàgs.La mostra mostra com configurar la lògica de divisió dels objectes localitzats en les pauses de la pàgina.
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);
Quan les llargues pàgines de OneNote s’emmagatzemen en format pdf, es divideixen entre pàgs. L’exemple mostra com configurar la lògica de divisió dels objectes localitzats en les pauses de la pàgina.
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()
Inicialitza una nova instància de la classe Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm, utilitzant el límit d’altura predefinit de les parts clonades.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm()
{
}
KeepPartAndCloneSolidObjectToNextPageAlgorisme(float)
Inicialitza una nova instància de la classe Aspose.Note.Saving.KeepPartAndCloneSolidObjectToNextPageAlgorithm, utilitzant un límit d’altura específic de part clonada.
public KeepPartAndCloneSolidObjectToNextPageAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
L’altura màxima de la part clonada.
Fields
DefaultHeightLimitOfClonedPart
La mida màxima de la part clonada.
public const float DefaultHeightLimitOfClonedPart = 200;
Valor de camp
Properties
HeightLimitOfClonedPart
Obté el límit d’altura de la part clonada.
public float HeightLimitOfClonedPart
{
get;
}