안녕하세요.
인쇄 옵션을 통해 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);
감사합니다.