none
wince 网页打印问题 RRS feed

  • 问题

  • wince网页打印过宽的网页(eg:1024×768),网页的内容打印不全,右边的内容丢失,请问该怎么解决,谢谢。
    2009年3月16日 6:36

答案

  • 好,没有办法解决了嘛?
    昨天还是用以上程序代码,那个网页缩放的代码可以正常的执行过去,但是却没有生效,就是说可以编译跟执行,但是没有实现将网页缩放的效果,不知道产生这个问题的原因是什么。我在这代码后执行了一次刷新的动作,网页刷新了,但是并没有进行缩放,是因为我少写个函数或者什么的嘛。
    2009年3月20日 7:40

全部回复

  •  您用的是哪个版本的浏览器?如何打印的,能否介绍比较详细的重现步骤?
    最近有了小宝宝,他比较淘气,所以来这里的时间少了挺多。非常抱歉。
    2009年3月17日 13:28
    版主
  • 我用的是ie6.10的版本
    现象就是,打印一个超宽的网页,右边的超出600的范围的内容会直接被裁掉。
    windows xp下的ie6.0也是一样的现象,采用ie7.0,选择“缩小字体自动填充”可以实现
    所以想的是将网页进行缩放,可是自己做了下缩放网页的代码,发现没有办法试用,iesample会报错

    实现如下:

         HRESULT hr;
         VARIANT vTitle;
         IDispatch *pDisp = NULL;
         IHTMLDocument2 *pDoc = NULL;
         BSTR bstrTitle = NULL;
         IHTMLElement *pElem = NULL;
         IHTMLStyle *pStyle = NULL;
         BSTR bstrZoom = NULL;
       
         hr = _pBrowser->get_Document(&pDisp);  
         if(FAILED(hr) || !pDisp)
            goto Exit;

        hr = pDisp->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pDoc);
        if(FAILED(hr))
            goto Exit;

        hr = pDoc->get_body(&pElem);
        if(FAILED(hr))
       {
         goto Exit;
       }

       hr = pElem->get_style(&pStyle);
       if(FAILED(hr))
       {
         goto Exit;
       }

       bstrZoom = SysAllocString(L"zoom:%20");
       hr = pStyle->put_cssText(bstrZoom);
       if(FAILED(hr))
      {
        goto Exit;
      }

     Exit:
        if(pDisp)
            pDisp->Release();
        if(pDoc)
            pDoc->Release();
         if(pElem)
            pElem->Release();
        if(pStyle)
            pStyle->Release();
        if(bstrZoom)
            SysFreeString(bstrZoom);
           
        return hr;

    帮忙看看,谢谢

    2009年3月18日 8:34
  •  看来没有办法了,只能截屏,然后用相关的图片处理工具来处理了。
    2009年3月19日 8:31
    版主
  • 好,没有办法解决了嘛?
    昨天还是用以上程序代码,那个网页缩放的代码可以正常的执行过去,但是却没有生效,就是说可以编译跟执行,但是没有实现将网页缩放的效果,不知道产生这个问题的原因是什么。我在这代码后执行了一次刷新的动作,网页刷新了,但是并没有进行缩放,是因为我少写个函数或者什么的嘛。
    2009年3月20日 7:40