У меня есть документ с текстом, который использует нестандартный шрифт. Он не встроен, а установлен на рассматриваемой машине. В Word 2010, когда я печатаю это в файл пост-скрипта при указании определенного драйвера принтера (HP Color LaserJet 2800 Series PS), этот шрифт становится встроенным (подмножеством) просто отлично. Это если я сделаю это из самого приложения Word.Замещенные шрифты и Word Automation
Если я попытаюсь сделать это программно, используя msword :: _ Document :: Printout и указав один и тот же драйвер принтера, этот шрифт будет заменен чем-то другим. Я знаю, что один и тот же драйвер принтера используется в обоих случаях. Файлы .ps, созданные для обоих методов, перечисляют имя драйвера принтера вверху. Есть ли какая-то причина, проходящая через автоматизацию таким образом, заменит шрифт, но через это приложение не будет?
CComVariant vIgnore;
vIgnore.vt = VT_ERROR;
vIgnore.scode = DISP_E_PARAMNOTFOUND;
CComVariant vFalse = false;
CComVariant vTrue = true;
CComVariant vOutputFile(m_csTempOutputFile);
CComVariant vOneCopy((int)1);
...
....
m_piApp->SetActivePrinter((LPCTSTR) csPrinterName);
m_Doc.PrintOut(
&vFalse,//Background, return control while printing? FALSE
&vFalse,//Append, append output to existing file? FALSE, overwrite file
&vIgnore,//Range, the page range
&vOutputFile,//OutputFileName, name of printtofile file
&vIgnore,//From, starting page (ignored)
&vIgnore,//To, ending page (ignored)
&vIgnore,//Item, what content to print, DEFAULT
&vOneCopy,//Copies, number of
&vIgnore,//Pages, page range
&vIgnore,//PageType, even only, odd only, etc
&vTrue,//PrintToFile, TRUE
&vIgnore,//Collate,
&vIgnore,//ActivePrinterMacGX, (mac feature only)
&vIgnore,//ManualDuplexPrint,
&vIgnore,//PrintZoomColumn, (printing several pages on one page)
&vIgnore,//PrintZoomRow,
&vIgnore,//PrintZoomPaperWidth,
&vIgnore);//PrintZoomPaperHeight,
и достаточно смешно, если вместо распечатки, я использую API SAVEAS, чтобы сохранить как PDF - снова шрифт подставляется. Если я делаю то же самое через само Слово, он становится встроенным. –