메인 콘텐츠로 건너뛰기
문서를 PDF 또는 XPS 형식으로 내보낼 때 다음과 같은 특정 오류가 발생할 수 있습니다:
  • FREN_E_INVALID_CREATION_DATE_FORMAT;
  • FREN_E_INVALID_MODIFICATION_DATE_FORMAT.
이 오류는 문서 메타데이터에 지정된 생성일 또는 수정일이 PDF 2.0 표준을 준수하지 않을 경우 발생합니다. 올바른 날짜 형식은 D:YYYYMMDDHHmmSSOHH’mm이며, 여기서 YYYY — 연도, MM — 월, DD — 일, HHmmSS — 시간, OHH’mm — 협정 세계시(Universal Time)로부터의 오프셋 절댓값을 의미합니다. 이 유형의 오류를 처리하려면 날짜 내보내기 설정을 변경하거나 형식에 맞게 날짜를 수정하면 됩니다. 날짜 내보내기 설정을 변경하려면:
  1. 출력 형식에 대한 내보내기 매개변수 객체에서 DocumentContentInfoWritingParams 하위 객체를 가져옵니다:
  2. DocumentContentInfoWritingParams 객체의 WriteCreationDateWriteModificationDate 속성은 출력 문서에 저장할 날짜를 지정합니다. 이 경우 날짜 저장을 비활성화하려면 WD_No 값을 사용하고, 현재 날짜를 사용하려면 WD_Current 값을 사용할 수 있습니다.
  3. 방금 설정한 매개변수 객체를 마지막 입력 매개변수로 전달하여, 예를 들어 FRDocument 객체의 Export 메서드를 사용해 문서 내보내기를 다시 시작합니다.
날짜를 수정하려면:
  1. FRDocument 객체의 DocumentContentInfo 속성을 사용하여 DocumentСontentInfo 객체에 액세스합니다.
  2. DocumentСontentInfo 객체의 CreationDate 또는 ModificationDate 속성에서 날짜를 수정합니다.
  3. FRDocument 객체의 Export 메서드로 문서 내보내기를 다시 시작합니다.

샘플

이 항목에서 제공하는 코드 샘플은 Windows 전용입니다.
// 생성 날짜와 수정 날짜에 대한 내보내기 매개변수 객체를 설정합니다
FREngine::IPDFExportParamsPtr pdfExportParams = Engine->CreatePDFExportParams();
pdfExportParams->PDFFeatures->MetaDataWritingParams->put_WriteCreationDate ( FREngine::WD_DocumentContentInfo );
pdfExportParams->PDFFeatures->MetaDataWritingParams->put_WriteModificationDate ( FREngine::WD_DocumentContentInfo );
 
// 생성/수정 날짜를 바로잡고 문서를 다시 내보냅니다
const int numberOfExportAttempts = 3;
for (int i = 0; i < numberOfExportAttempts; i++)
{
  try
  {
     frDocument->Export( pdfExportPath, FREngine::FEF_PDF, pdfExportParams );
  }
  catch (_com_error & e)
  {
     if (e.Error() == (int) FREngine::FREN_E_INVALID_CREATION_DATE_FORMAT) {
         frDocument->DocumentContentInfo->put_CreationDate( L"D:20181011234506Z" );
     }
     else if (e.Error() == (int) FREngine::FREN_E_INVALID_MODIFICATION_DATE_FORMAT) {
         pdfExportParams->PDFFeatures->MetaDataWritingParams->put_WriteModificationDate ( FREngine::WD_Current );
     }
     else
     {
           // 원래의 미처리 예외를 그대로 다시 전달합니다
           throw;
     }
  }
}
// 생성 날짜와 수정 날짜에 대한 내보내기 매개변수를 설정합니다
FREngine.PDFExportParams pdfExportParams = engineLoader.Engine.CreatePDFExportParams();
pdfExportParams.PDFFeatures.MetaDataWritingParams.WriteCreationDate = FREngine.WriteDateEnum.WD_DocumentContentInfo;
pdfExportParams.PDFFeatures.MetaDataWritingParams.WriteModificationDate = FREngine.WriteDateEnum.WD_DocumentContentInfo;
 
// 두 가지 유형의 내보내기 오류를 처리하므로 내보내기 시도는 최대 3회입니다
const int numberOfExportAttempts = 3;
for (int i = 0; i < numberOfExportAttempts; ++i)
{
    try
    {
       document.Export( "D:\\Demo.pdf", FREngine.FileExportFormatEnum.FEF_PDF, pdfExportParams );
       break;
    }
    catch (COMException error)
    {
       if (error.ErrorCode == (int)FREngine.ErrorCodes.FREN_E_INVALID_CREATION_DATE_FORMAT)
       {
           // 생성 날짜를 바로잡습니다
           document.DocumentContentInfo.CreationDate = "D:20181011234506Z";
       }
       else if (error.ErrorCode == (int)FREngine.ErrorCodes.FREN_E_INVALID_MODIFICATION_DATE_FORMAT)
       {
           // 수정 날짜에 대한 내보내기 매개변수를 변경합니다
           pdfExportParams.PDFFeatures.MetaDataWritingParams.WriteModificationDate = FREngine.WriteDateEnum.WD_Current;
       }
       else
       {
           // 원래의 미처리 예외를 그대로 다시 전달합니다
           throw;
       }
    }
}

관련 항목

DocumentСontentInfo 표준 반환 코드 내보내기 매개변수 조정 오류 처리