PDFTron - 恢复状态

时间:2016-08-05 15:37:16

标签: java android pdftron pdfnet

似乎PDFTrone中的Bug - 在为突出显示的文本添加文本注释后 - 位置,缩放和缩放重置。 对于具有屏幕/分辨率的设备而言它并不重要,但对于屏幕较小的设备来说它看起来并不好 因为此后的文档缩放将设置为0.05或类似的小值。

所以可能有疑问 - 如何检测添加了文本注释并处理这种情况?我确信这是可能的,因为当旋转pdf时,将恢复之前的正常缩放。

PS我反编译了库并知道行在哪里出错,但我的问题仍然是实际的: 文件PDFViewCtrl

  protected void onLayout(boolean var1, int var2, int var3, int var4, int     var5) {
    int var6 = var4 - var2;
    int var7 = var5 - var3;
    if(this.R != var6 || this.S != var7 || this.b == null || this.p || this.ay) {
        boolean var8 = this.R != var6 || this.S != var7;
        this.S = var7;
        this.R = var6;
        if(this.b != null && this.R > 0 && this.S > 0) {
            this.cancelRendering();
            this.ay = false;
            OnSize(this.bq, this.R, this.S, this.R, false);
            if(this.p) {
                this.p = false;
                var8 = true;
                this.setPagePresentationMode(this.ba);
                this.setPageViewMode(this.aZ);
                this.scrollTo(0, 0);
                this.aC = this.getZoom();
                this.aO = this.getCurrentPage();
                this.aN = this.aO;
                if(this.aX != null) {
                    this.aX.onSetDoc();
                }
            }

            if(var8) {
                this.h.b();
            }

            this.b();
            this.scrollTo(this.k(), this.l());
        } else if(this.b == null) {
            this.T = 0;
            this.U = 0;
        }

        if(var1 && this.b != null && this.aB == 2) {
            boolean var16 = !this.isFinishedRendering();
            double var10 = this.getZoom();
            this.cancelRendering();
            this.aC = this.e();
            double var12 = this.az * this.aC;
            double var14 = this.aA * this.aC;
            if(var10 < var12) {
                this.setZoom(var12);
            }

            if(var10 > var14) {
            // error here - will be set extremely small zoom
                this.setZoom(var14);
            }

            if(var16) {
                this.requestRendering();
            }
        }

0 个答案:

没有答案