Class AlwaysSplitObjectsAlgorithm
Class AlwaysSplitObjectsAlgorithm
이름 공간 : Aspose.Note.Saving 모임: Aspose.Note.dll (25.4.0)
원본 페이지에 맞지 않는 경우 여러 부분으로 개체를 분할합니다.
public class AlwaysSplitObjectsAlgorithm : PageSplittingAlgorithm
{
private readonly double _splitDistance;
public AlwaysSplitObjectsAlgorithm(double splitDistance)
{
_splitDistance = splitDistance;
}
protected override void SplitPagesCore(Document doc, int startPageIndex, int endPageIndex, PageSplittingCriteria criteria)
{
for (int i = startPageIndex; i < endPageIndex; i++)
{
SplitPage(doc, i);
}
}
private void SplitPage(Document doc, int pageIndex)
{
Page page = doc.GetPage(pageIndex);
Aspose.Words.CheckBox checkBox;
if (page.Paragraphs.Count > 0)
{
Paragraph lastParagraph = page.Paragraphs[page.Paragraphs.Count - 1];
Node nextNode = lastParagraph.NextSibling;
if (nextNode != null && nextNode is CheckBox checkBoxNextNode)
{
checkBox = checkBoxNextNode as Aspose.Words.CheckBox;
}
}
if (checkBox == null)
{
return;
}
double distanceToCheckBox = GetDistanceToCheckBox(page, checkBox);
if (distanceToCheckBox <= _splitDistance)
{
SplitPageHorizontally(doc, pageIndex);
}
}
private double GetDistanceToCheckBox(Page page, Aspose.Words.CheckBox checkBox)
{
}
private void SplitPageHorizontally(Document doc, int pageIndex)
{
}
}
Inheritance
object ← PageSplittingAlgorithm ← AlwaysSplitObjectsAlgorithm
상속 회원들
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
긴 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
항상SplitObjects알고리즘()
public AlwaysSplitObjectsAlgorithm()
{
}