Delphi以PDF格式保存开放式办公文档

时间:2014-02-25 15:38:04

标签: delphi

我使用以下代码使用Delphi将Open Office文档导出为pdf文件:

procedure TOOoWriter.SaveToPDF(FileName: string);
var
   wProperties: variant;
begin
   if not (fConnected and fDocumentOpened) then
      abort;

   wProperties := VarArrayCreate([0, 3], varVariant);
   if fHTMLSrc then
      wProperties[0] := MakePropertyValue('FilterName', 'writer_web_pdf_Export')
   else
      wProperties[0] := MakePropertyValue('FilterName', 'writer_pdf_Export');

   wProperties[1] := MakePropertyValue('CompressionMode', '1');
   wProperties[2] := MakePropertyValue('Pages', 'All');
   wProperties[3] := MakePropertyValue('Overwrite', TRUE);

   fDocument.StoreToURL('file:///'+ StringReplace(FileName, '\', '/', [rfIgnoreCase, rfReplaceAll]), wProperties);
end;

一切运作良好,除了:

  1. 它坚持打开生成的pdf文件(但不是OO文件)。这是有问题的,因为我将在没有用户交互的情况下编写100个文件。

  2. 如果输出pdf文件不存在,我会收到异常,但文件创建正确。第二次它在第一次创建文件时正常工作。

  3. 这些问题有解决方案吗?

0 个答案:

没有答案