Class KeepSolidObjectsAlgorithm
Το όνομα: Aspose.Note.Saving Συγκέντρωση: Aspose.Note.dll (25.4.0)
Μεταφέρετε το πλήρες αντικείμενο στην επόμενη σελίδα σε περίπτωση που δεν ταιριάζει στην αρχική σελίδα.
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
Κληρονομημένα μέλη
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Δείχνει πώς να αποθηκεύσετε το σημειωματάριο σε μορφή pdf με καθορισμένες επιλογές.
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);
Δείχνει πώς να στείλετε ένα έγγραφο σε έναν εκτυπωτή χρησιμοποιώντας ένα προεπιλεγμένο διάλογο Windows με καθορισμένες επιλογές.
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"
});
Όταν οι μακροχρόνιες σελίδες του OneNote αποθηκεύονται σε μορφή pdf, χωρίζονται μεταξύ σελίδων.Το παράδειγμα δείχνει πώς να ρυθμίσετε τη λογική διαίρεσης των αντικειμένων που βρίσκονται στις διακοπές της σελίδας.
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
Ετικέτες Αλγόριθμος ()
Ξεκινά μια νέα περίπτωση της κατηγορίας Aspose.Note.Saving.KeepSolidObjectsAlgorithm χρησιμοποιώντας το προεπιλεγμένο όριο ύψους κλωνοποιημένου μέρους.
public KeepSolidObjectsAlgorithm()
{
}
Ετικέτες Αλγορίθμος (Float)
Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Note.Saving.KeepSolidObjectsAlgorithm χρησιμοποιώντας ένα συγκεκριμένο όριο ύψους κλωνοποιημένου μέρους.
public KeepSolidObjectsAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
Το μέγιστο ύψος του κλωνοποιημένου μέρους.
Fields
DefaultHeightLimitOfClonedPart
Το προεπιλεγμένο μέγεθος του κλωνοποιημένου μέρους.
public const float DefaultHeightLimitOfClonedPart = 200;
Αξία πεδίου
Properties
HeightLimitOfClonedPart
Αποκτά το όριο ύψους του κλωνοποιημένου μέρους.
public float HeightLimitOfClonedPart
{
get;
}