SaveAs로 PDF저장 시 인쇄용꼬리말이 생기는 현상

안녕하세요 제목처럼 SaveAs로 한글문서를 PDF저장하는데 인쇄다이얼로그 - 확장 에서 꼬리말 내용을 체크 - 인쇄를 하고나서 api 실행 시 생성된 PDF 문서에 꼬리말이 생깁니다 ( 파일명 - 시간 - 쪽 )

그래서 내용없는 PrintAutoFootNote를 0으로하고 더미파일인쇄를 해봐도 다이얼로그버튼 인쇄(D)가 아니면 계속 인쇄용 꼬리말이 생성됩니다..

아마 PDF저장 내부적으로 인쇄로 동작하는거 같은데 이 인쇄용꼬리말을 제거할 방법이 있을까요?
레지스트리라던가.. 궁금합니다

안녕하세요.

인쇄 옵션을 통해 PDF 파일을 생성하고자 하신다면 PDF 저장이 아닌 PDF 인쇄 방식으로 제안 드립니다.

게시글의 코드에서 아래 코드만 추가해서 값을 변경하면 의도대로 PDF 파일을 생성하실 수 있을 것 같습니다.
set.SetItem(_T(“PrintAutoFootnote”), COleVariant((long)0);

(C++)

CDHwpAction act = hwp.CreateAction(_T("PrintToPDFEx"));
CDHwpParameterSet set = act.CreateSet();

act.GetDefault(set);

// 저장할 PDF 파일명
set.SetItem(_T("FileName"), COleVariant(_T("c:\\test.pdf")));

set.SetItem(_T("Collate"), COleVariant((long)1));
set.SetItem(_T("UserOrder"), COleVariant((long)0));
set.SetItem(_T("PrintToFile"), COleVariant((long)0));
set.SetItem(_T("NumCopy"), COleVariant((long)1));

// PDF 드라이버명 확인 필요
set.SetItem(_T("PrinterName"), COleVariant(_T("Hancom PDF")));

set.SetItem(_T("UsingPagenum"), COleVariant((long)1));
set.SetItem(_T("ReverseOrder"), COleVariant((long)0));
set.SetItem(_T("Pause"), COleVariant((long)0));
set.SetItem(_T("PrintImage"), COleVariant((long)1));
set.SetItem(_T("PrintDrawObj"), COleVariant((long)1));
set.SetItem(_T("PrintClickHere"), COleVariant((long)0));
set.SetItem(_T("PrintAutoFootnoteLtext"), COleVariant(_T("^f")));
set.SetItem(_T("PrintAutoFootnoteCtext"), COleVariant(_T("^t")));
set.SetItem(_T("PrintAutoFootnoteRtext"), COleVariant(_T("^P쪽 중 ^p쪽")));
set.SetItem(_T("PrintAutoHeadnoteLtext"), COleVariant(_T("^c")));
set.SetItem(_T("PrintAutoHeadnoteCtext"), COleVariant(_T("^n")));
set.SetItem(_T("PrintAutoHeadnoteRtext"), COleVariant(_T("^p")));
set.SetItem(_T("PrintFormObj"), COleVariant((long)1));
set.SetItem(_T("PrintMarkPen"), COleVariant((long)0));
set.SetItem(_T("PrintMemo"), COleVariant((long)0));
set.SetItem(_T("PrintMemoContents"), COleVariant((long)0));
set.SetItem(_T("PrintRevision"), COleVariant((long)1));
set.SetItem(_T("PrintBarcode"), COleVariant((long)1));
set.SetItem(_T("PrintPronounce"), COleVariant((long)0));

// 인쇄 방식
// 0 - 자동 인쇄, 1 - 공급용지에 맞추어, 2 - 나눠 찍기, 3 - 자동으로 모아 찍기
// 4 - 2쪽씩 모아 찍기, 5 - 3쪽씩 모아 찍기, 6 - 4쪽씩 모아 찍기, 7 - 6쪽씩 모아 찍기
// 8 - 8쪽씩 모아 찍기, 9 - 9쪽씩 모아 찍기, 10 - 16쪽씩 모아 찍기
set.SetItem(_T("PrintMethod"), COleVariant((long)0));

act.Execute(set);

감사합니다.

답변감사합니다. 해당 방식으로 변경하였습니다

1개의 좋아요