Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PdfDocument检测页面高度_Android_Pdf Generation - Fatal编程技术网

Android PdfDocument检测页面高度

Android PdfDocument检测页面高度,android,pdf-generation,Android,Pdf Generation,使用循环生成pdf文档页面的内容 并使用 BaseLine = BaseLine + lineSpacing; 对于(X,Y)位置 问题:我找不到什么时候应该断环? 我用 并开始新的一页 但它有时会写得超过页面高度(我怎么知道呢?因为我可以在页面末尾看到截断的文本) (我没有使用IText) 有没有更好的结束页面的解决方案?维护一个变量,比如privatefloat currentTopY保存页面的当前位置 private static final float LEFT_MARGIN = 1

使用循环生成pdf文档页面的内容 并使用

BaseLine = BaseLine + lineSpacing; 
对于(X,Y)位置

问题:我找不到什么时候应该断环? 我用

并开始新的一页 但它有时会写得超过页面高度(我怎么知道呢?因为我可以在页面末尾看到截断的文本) (我没有使用IText)


有没有更好的结束页面的解决方案?

维护一个变量,比如private
float currentTopY
保存页面的当前位置

private static final float LEFT_MARGIN = 10f;
private static final float PAGE_HEIGHT = 792f;
private static final float PAGE_WIDTH = 595f;
private static final float TOP_BOTTOM_MARGIN = 5f;

private void createPdfPage() throws IOException {
    page = new PDPage();
    document.addPage(page);
    currentTopY = PAGE_HEIGHT - TOP_BOTTOM_MARGIN;
    currentPageNumber = currentPageNumber + 1;
}

private void addNewLine(int numberOfLines) {
    currentTopY = currentTopY - (numberOfLines * NEW_LINE);
}
每次在PDF文档中添加任何内容之前,请进行以下检查:

if (currentTopY - TOP_BOTTOM_MARGIN < height) {
        createPdfPage();
}

currentTopY = currentTopY - height;
if(currentTopY-顶部\底部\边距<高度){
createPdfPage();
}
currentTopY=currentTopY-高度;

其中,height是要添加到文档中的组件(如图像等)的高度。

我也在这样做,但它仍然会写通过高度:(没有显示错误(其逻辑错误在某处)。抱歉,无法发布原始代码
if (currentTopY - TOP_BOTTOM_MARGIN < height) {
        createPdfPage();
}

currentTopY = currentTopY - height;