设置多种页码

显示效果:

示例代码所生成的OFD文件:下载

 示例代码

package test.create.c09;

import iofd.layout.DefaultPageProperty;
import iofd.layout.OfdDocument;
import iofd.layout.block.PageSeparator;
import iofd.layout.block.Paragraph;
import iofd.layout.block.header.PageHeaderLine;
import iofd.layout.block.paragraph.Text;
import iofd.layout.contants.AlignmentType;
import iofd.layout.contants.PageNumPosition;
import iofd.layout.contants.PageNumStyle;
import iofd.layout.physcial.page.pagenum.DefaultPageNumCreator;
import test.create.TestDocUtil;

/**
 * 
 * */
public class C0909PageNumberSetMutiPageNumStyle {

	public static void main(String[] args) throws Throwable {
		C0909PageNumberSetMutiPageNumStyle o = new C0909PageNumberSetMutiPageNumStyle();
		o.done();
	}

	private void done() throws Throwable {
		String clzName = this.getClass().getSimpleName();
		System.out.println(clzName + " begin");
		
		OfdDocument doc = new OfdDocument();
		
		DefaultPageProperty prop = DefaultPageProperty.createDefaultPageProperty();
		prop.setDebug(true);
		prop.setHeadLine(new PageHeaderLine());
		DefaultPageNumCreator pc = null;
		doc.setDefaultPageProperty(prop);
		
		String s = "设置多种页码,目录页应该使用罗马数字,正文内容使用阿拉伯数字,封面不设置页码,第二页模拟目录,第三页模拟正文,显示页码,页头靠左显示,使用数字展示,从第二页开始, 当前页:";
		Paragraph p = new Paragraph();
		p.add(new Text(s + "1"));
		doc.add(p);
		
		PageSeparator separator = new PageSeparator();
		pc = createDefaultPageNumCreator(PageNumStyle.ROMAN);
		separator.setPageNumCreator(pc);
		doc.add(separator);
		
		p = new Paragraph();
		p.add(new Text(s + "2"));
		doc.add(p);
		
		separator = new PageSeparator();
		pc = createDefaultPageNumCreator(PageNumStyle.NUMBER);
		separator.setPageNumCreator(pc);
		doc.add(separator);
		
		p = new Paragraph();
		p.add(new Text(s + "3"));
		doc.add(p);

		String fileName = TestDocUtil.getOfdFilePath(this.getClass());
		doc.save(fileName);
		System.out.println(clzName + " end");
	}
	
	private DefaultPageNumCreator createDefaultPageNumCreator(PageNumStyle s){
		DefaultPageNumCreator pc = new DefaultPageNumCreator();
		pc.setAlignmentType(AlignmentType.LEFT);
		pc.setPageNumPosition(PageNumPosition.HEADER);
		pc.setStyle(PageNumStyle.NUMBER);
		pc.setPrefix(new Text("第"));
		pc.setSuffix(new Text("页"));
		pc.setStyle(s);
		return pc;
	}
}