Class KeepSolidObjectsAlgorithm
Nombre del espacio: Aspose.Note.Saving Asamblea: Aspose.Note.dll (25.4.0)
Cambiar el objeto completo a la siguiente página en caso de que no se ajuste en la página original.
public class KeepSolidObjectsAlgorithm : PageSplittingAlgorithm
{
private readonly double _minimumSpaceBetweenPages;
private readonly double _maximumSpaceBetweenPages;
public KeepSolidObjectsAlgorithm(double minimumSpaceBetweenPages, double maximumSpaceBetweenPages)
{
_minimumSpaceBetweenPages = minimumSpaceBetweenPages;
_maximumSpaceBetweenPages = maximumSpaceBetweenPages;
}
protected override void AddPageBreak(Document document, PageLayout pageLayout, float pageNumber, bool isLastPageInSection)
{
double spaceBefore = FindSpaceBefore(document, pageLayout);
if (IsSufficientSpaceForNextPage(spaceBefore))
return;
AddSpaceBetweenPages(document, pageNumber);
}
private bool IsSufficientSpaceForNextPage(double spaceBefore)
{
double sufficientSpace = _minimumSpaceBetweenPages;
if (sufficientSpace > spaceBefore)
sufficientSpace = spaceBefore;
if (sufficientSpace >= _maximumSpaceBetweenPages)
return true;
return false;
}
private void AddSpaceBetweenPages(Document document, float pageNumber)
{
double spaceToAdd = FindNextPageStartPosition(document, pageNumber + 1) - GetLastContentEndPosition(document, pageNumber);
if (spaceToAdd > 0.0)
AddSpace(document, spaceToAdd);
}
private void AddSpace(Document document, double spaceToAdd)
{
}
}
Inheritance
object ← PageSplittingAlgorithm ← KeepSolidObjectsAlgorithm
Miembros heredados
object.GetType() ,y, object.MemberwiseClone() ,y, object.ToString() ,y, object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()
Examples
Mostra cómo guardar un notebook en formato pdf con opciones especificadas.
string dataDir = RunExamples.GetDataDir_NoteBook();
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");
var notebookSaveOptions = new NotebookPdfSaveOptions();
var documentSaveOptions = notebookSaveOptions.DocumentSaveOptions;
documentSaveOptions.PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm();
dataDir += "ConvertToPDF_out.pdf";
notebook.Save(dataDir, notebookSaveOptions);
Mostra cómo enviar un documento a una impresora utilizando el diálogo estándar de Windows con opciones especificadas.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
var document = new Aspose.Note.Document(dataDir + "Aspose.one");
var printerSettings = new PrinterSettings()
{
FromPage = 0,
ToPage = 10
};
printerSettings.DefaultPageSettings.Landscape = true;
printerSettings.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(50, 50, 150, 50);
document.Print(new PrintOptions()
{
PrinterSettings = printerSettings,
Resolution = 1200,
PageSplittingAlgorithm = new KeepSolidObjectsAlgorithm(),
DocumentName = "Test.one"
});
Cuando las largas páginas de OneNote se almacenan en formato pdf, se dividen entre páginas.El ejemplo muestra cómo configurar la lógica de división de los objetos ubicados en las brechas de la página.
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
Algorithm de los objetos()
Inicia una nueva instancia del Aspose.Note.Saving.KeepSolidObjectsClasse de algoritmo utilizando el límite de altura de la parte clonada por defecto.
public KeepSolidObjectsAlgorithm()
{
}
Archivo de la etiqueta Algorithm(float)
Inicializa una nueva instancia del Aspose.Note.Saving.KeepSolidObjectsClasse de algoritmo utilizando un límite de altura específico de la parte clonada.
public KeepSolidObjectsAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
La altura máxima de la parte clonada.
Fields
DefaultHeightLimitOfClonedPart
El tamaño máximo de la parte clonada.
public const float DefaultHeightLimitOfClonedPart = 200;
Valor de campo
Properties
HeightLimitOfClonedPart
Tiene el límite de altura de la parte clonada.
public float HeightLimitOfClonedPart
{
get;
}