起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 326|回复: 19

【结贴】获取文档预览图片遇到的问题

[复制链接]
发表于 2009-4-20 13:19:04 | 显示全部楼层 |阅读模式
Form上设置一个DocView,DocView 设置 OpenMode为dmPreview
想在Form不SHowModal的情况下,让DocVIew加载预览文档,然后使用DocView.PaintTo方法 获取文档图片.
加载预览 这个操作 使用哪个对象的方法,在不是showmodal的情况下,依然让它加载预览图片
回复

使用道具 举报

发表于 2009-4-20 13:39:39 | 显示全部楼层
没有理解你说的意思,能否贴图描述
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 13:51:58 | 显示全部楼层
Form上设置一个DocView,DocView 设置 OpenMode为dmPreview
如果Form不ShowModal, DocVIew中 显示的是:正在生成输出页,请稍后;
现在就是想在窗体不Show的情况下,让DocVIew加载正常, 然后通过PaintTo方法获取图片
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 13:55:42 | 显示全部楼层
procedure  TArchivsFromExist.SaveSheetPicToStream(ASheetName,ASheetURL: string;AList: TStringList);
var
  lBitMap: TBitMap;
  lJPG: TJPEGImage;
  lWidth,lHeight: Integer;
  lSheet: TSheetDoc;
  lDocID: string;
  lPaperView: TPaperPreView;
  lNextbtn: TSpeedButton;
  I:Integer;
begin
I := 1;
try
   lDocID := SysUtils.UpperCase(ASheetURL);
   jsCommon.splitStr(SysUtils.UpperCase(FInfoURL)+'\',lDocID);
   FForm.DocView.DocClassID := lDocID;
   lSheet := FForm.DocView.Doc as TSheetDoc;
   lPaperView := TWinControl(TWinControl(TWinControl(FForm.DocView.Controls[0]).Controls[0]).Controls[2]).Controls[0] as TPaperPreView;
   FForm.DocView.Width := lPaperView.Width;
   FForm.DocView.Height := lPaperView.Height;
   //Borland.Delphi.Windows.SendMessage(FForm.Handle,Borland.Delphi.Messages.WM_SHOWWINDOW,0,0);
   //FForm.DocView.RefreshDoc(True);
   [问题在这里,如何在Form不SHow的情况下,DocVIew(模式为PreVIew)依然加载输出图片,上面两行代码试过不行]
   lBitMap := TBitMap.Create;
   lJPG := TJPEGIMage.Create;
   lBitMap.Width := lPaperView.PaperWidth;
   lBitMap.Height := lPaperView.PaperHeight;
   lBitMap.PixelFormat:=TPixelFormat.pfDevice;
   lPaperView.PaintTo(lBitMap.Canvas,0,0);
   lJPG.Assign(lBitMap);

finally
   lBitMap.Free;
end;
回复 支持 反对

使用道具 举报

发表于 2009-4-20 14:00:42 | 显示全部楼层
DocView.Doc.Close;
你操作docview的代码
  DocView.OpenView(TDocMode.dmEdit);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 14:04:09 | 显示全部楼层
最初由 lixy 发布
[B]DocView.Doc.Close;
你操作docview的代码
  DocView.OpenView(TDocMode.dmEdit); [/B]


试过,不行
Open时,不能加载预览
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 14:06:01 | 显示全部楼层
文档的打开模式是 TDocMode.dmPreview,  考虑到 打印时会有多页
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 14:22:01 | 显示全部楼层
挺着急的这个问题,寻求快速解决办法
回复 支持 反对

使用道具 举报

发表于 2009-4-20 14:47:45 | 显示全部楼层
试过,不行
Open时,不能加载预览。
现象是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-20 14:53:48 | 显示全部楼层

[公告]

正在生成输出页,请稍后......   
最后的图片显示的都是这种
你可以试下, 窗体show和 不 show ,
DocView.PaintTo  后生成的图片
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 07:07 , Processed in 0.039640 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表