【发布时间】:2019-05-06 17:44:35
【问题描述】:
我需要裁剪 pdf 并通过将裁剪后的 png 图像粘贴到 word 文档中来创建该裁剪后的 png 图像的 word 文档。
我正在使用 Firemonkey 平台
这是代码:
procedure TForm2.Button1Click(Sender: TObject);
begin
ShellExecute(FormToHWND(Self),'open',PChar(GetCurrentDir+'\cairo.exe')
,PWideChar('-opw '+Edit1.Text+
' -cropbox -png -x 64 -y 215 -W 144 -H 375 -r 167 '+
PdfFile+' tools/card'),'',SW_Hide);
Sleep(500);
Image1.Bitmap.LoadFromFile(Output);
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
ClipBoard.Assign(Image1.Bitmap);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Output:= GetCurrentDir+'\tools\card-1.png';
end;
单击 button2 会弹出错误无法将 TBitmapOfItem 分配给 TClipBoard。
如何将图片复制到剪贴板并创建word文档(不太了解)?
【问题讨论】:
-
不要破坏剪贴板对象。使用从文件加载的位图而不是古怪的 ShellExecute 来测试复制到剪贴板。一旦成功,您需要修复 ShellExecute 以不使用睡眠。问题也比较模糊。这里看不到任何word文档。
-
@DavidHeffernan 正如你所说,我删除了剪贴板的破坏,但错误是一样的。我正在使用睡眠,因为 pdftocairo.exe 需要花时间在驱动器中创建 png 文件,我正在将其加载到 TImage 中,但无法复制让我感到困惑的内容。
-
我的建议是分解问题。暂时忘掉这些开罗的东西吧。专注于学习如何将位图复制到剪贴板。一旦您有了minimal reproducible example,我们就可以告诉您出了什么问题。但这是混乱、混乱和低质量的。请通过干净的minimal reproducible example来改进问题。
-
我的意思是我可以猜到这个问题与您在 Firemonkey 应用程序中使用 VCL 代码有关。但不要让我们猜测。这个网站是关于持久的帖子。质量和清晰度对我们很重要。
-
在 FMX 中使用剪贴板的方法如下:Multi-Device Apps and Clipboard Support
标签: delphi firemonkey word poppler delphi-10.3-rio