我正在使用Debenu创建PDF并保存它们。然后AcroPDF.LoadFile加载PDF。如果我启动我的应用程序并加载文件,一切都很好。我甚至可以在加载后使用此PDF调整大小。但是,如果我以任何方式调整了我的应用程序的大小(无论是否重新开始),然后加载,PDF都会失去分辨率。
AcroPDF没有对齐并且没有锚定(如果是的话无关紧要)。当我用Arcobat Reader打开生成的PDF时,分辨率很高。
这个问题似乎只发生在生成的PDF上。没有任何其他
这是我的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
PDF: TDebenuPDFLibraryDLL0915;
begin
PDF := TDebenuPDFLibraryDLL0915.Create('DebenuPDFLibraryDLL0915.dll');
try
PDF.UnlockKey(Key);
PDF.SelectPage(1);
PDF.SetPageSize('a4');
PDF.AddImageFromFile('c:\Tool\Picture.jpg', 0);
PDF.DrawImage(0,842,595,842);
PDF.SaveToFile('C:\Tool\Test.pdf');
AcroPDF.LoadFile('C:\Tool\Test.pdf');
finally
PDF.Free;
end;
end;
软件: Win7 64,Delphi XE5
答案 0 :(得分:1)
我建议不要一起使用ACROPDF库(我假设您 - 导入了活动的x控件 - 创建了一个_TLB单元 - 创建了一个可视组件)
你遇到的问题与我得到的问题完全一样,加上我发现的其他几个问题:
如果adobe启动了新版本的READER(他们做了很多),您需要更新组件(通过更新READER,导入活动X控件并重新创建组件)。如果您不这样做,并且尝试打开更高版本的.PDF,则会收到COM异常。
没有向前兼容性(如上所述)
有限的向后兼容性
我建议简单地调用
ShellExecute(Handle, nil, PChar("c:\MyPDF.PDF"), nil, nil, SW_SHOWNORMAL);
让Windows调用默认的PDF编辑器(可能是Adobe Reader),让默认的应用程序完成工作。