1

我发现使用最新库(APDFL15.0.4PlusP4a 和 APDFL15.0.4PlusP2e)插入和保存 PDF 文件的速度很慢。当页数超过 300 时会发生缓慢。

下面的代码使用 PDDocSave 通过插入一个每个 40 页的临时(累积)文档来保存一个 450 页的文档。

当替换为旧版本 (APDFL15.0.1PlusP1h) 时,性能更好。

  // Assemble accumulated files
  for(int j=1;j<=accumCount;j++)
  {
     sprintf(accumName,ACCUM_FILETEMPLATE, j);
     TSTBUG1(1,"Opening accumulator :%s",accumName);
     pdDoc2 = MyPDDocOpen(accumName);
     if (!pdDoc2)
     {
        SYS_ERR "Unable to open file %s \n",accumName);
        return PDFASSEMBLY_FAILURE;
     }
     PDDocInsertPages (pdDoc1,PDLastPage,pdDoc2, 0, PDAllPages,PDInsertAll, NULL,NULL,NULL,NULL);
     TSTBUG1(1,"Inserting accumulator : %d\n",j);
     PDDocRelease(pdDoc2);
     PDDocClose(pdDoc2);
     unlink (accumName);
  }
  TSTBUG1(20,"Saving file =>%s<=",ptrMasterPDFDocumentList->ptrHeader->strOutputPDFFile);
  PDDocSave(pdDoc1,PDSaveFull|PDSaveLinearized,
           ASPathFromPlatformPath(ptrMasterPDFDocumentList->ptrHeader->strOutputPDFFile),
           ASGetDefaultFileSys(),NULL,NULL);
4

0 回答 0