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);
نشان می دهد چگونه برای ارسال یک سند به یک چاپگر با استفاده از دیالوگ استاندارد ویندوز با گزینه های مشخص شده.
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.KeepSolidObjects کلاس الگوریتم با استفاده از حد ارتفاع پیش فرض از قطعه کلون شده آغاز می شود.
public KeepSolidObjectsAlgorithm()
{
}
بایگانی برچسب ها: کشتی (Float)
شروع یک مثال جدید از Aspose.Note.Saving.KeepSolidObjects کلاس الگوریتم با استفاده از محدودیت ارتفاع خاص از قطعه کلون شده.
public KeepSolidObjectsAlgorithm(float heightLimitOfClonedPart)
{
}
Parameters
heightLimitOfClonedPart
float
حداکثر ارتفاع قطعه کلون شده
Fields
DefaultHeightLimitOfClonedPart
حداکثر اندازه قطعه کلون شده
public const float DefaultHeightLimitOfClonedPart = 200;
ارزش میدان
Properties
HeightLimitOfClonedPart
محدودیت ارتفاع قسمت کلون شده را به دست می آورد.
public float HeightLimitOfClonedPart
{
get;
}