我想使用iText生成問題及其選項的PDF。我能夠生成PDF,但問題有時會在頁面末尾打印出問題,並且選項會轉到下一頁。將文本保存到下一頁
如何確定問題及其選項不適合同一頁?
這意味着如果問題和選項不適合在同一頁面上,那麼它們必須放在下一頁上。
更新
com.itextpdf.text.Document document = new com.itextpdf.text.Document(PageSize.A4,50,50,15,15);
ByteArrayOutputStream OutputStream = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance(document, OutputStream);
document.open();
Paragraph paragraph = new Paragraph("Paper Name Here",new Font(FontFamily.TIMES_ROMAN,15,Font.BOLD));
paragraph.setAlignment(Element.ALIGN_CENTER);
document.add(paragraph);
document.addTitle("Paper Name Here");
document.addAuthor("corp");
com.itextpdf.text.List list = new com.itextpdf.text.List(true);
for (long i = 1; i <= 20 ; i++)
{
List<MultipleChoiceSingleCorrect> multipleChoiceSingleCorrects = new MultipleChoiceSingleCorrectServicesImpl().getItemDetailsByItemID(i);
for (MultipleChoiceSingleCorrect multipleChoiceSingleCorrect : multipleChoiceSingleCorrects) {
list.add(multipleChoiceSingleCorrect.getItemText());
RomanList oplist = new RomanList();
oplist.setIndentationLeft(20);
for (OptionSingleCorrect optionSingleCorrect : multipleChoiceSingleCorrect.getOptionList()) {
oplist.add(optionSingleCorrect.getOptionText());
}
list.add(oplist);
}
}
document.add(list);
document.close();
在此之後我m到處異常頁剎車裝置有時問題是在頁的端部和選項跳到下一頁。
(如在下面的圖像示出)
我提到[這個鏈接](http://stackoverflow.com/questions/17610483/itextsharp-next-line-in-paragraph-coming-right-below-serial-number)並創建了列表。第一個列表將持有問題,另一個列表將保留其選項。我更新了有問題的代碼。正如你所說的'setKeepTogether(boolean)'適用於第n段PdfPtable現在我該如何申請列表。 – Amogh
將該列表添加到「段落」或「PdfPCell」(在「PdfPTable」內),就完成了! –
'@Alexis Pigeon'我嘗試了很多向段落或pdf表格添加列表。在段落中添加列表的問題是,在列表中,我可能有多個問題及其選項,因此如果我在段落中添加所有列表,然後生成帶有一些空白頁面的PDF,並且如果我列出一個問題及其選項的列表,則問題編號當列表重置時,它始終爲「1」。你能幫助我嗎? – Amogh