Вызовите HPDF_SaveToFile() с японским именем файла
Я пытаюсь сохранить один PDF-файл в пути, который содержит японское имя пользователя. В этом случае HPDF_SaveToFile делает сбой моего приложения на окнах. Любые варианты для компиляции или другое? Любая идея, чтобы поддержать имена файлов Unicode с libhaur? Я не хочу создавать PDF с японским кодированием, я хочу написать PDF с японским именем файла.
1 ответ
Решение в Qt. Если вы используете C++, вы можете использовать fstream/ofstream(::write). Если вы используете C, вы можете использовать fwrite.
QFile file(path);
if (file.open(QIODevice::WriteOnly))
{
HPDF_SaveToStream(m_pdf);
/* get the data from the stream and write it to file. */
for (;;)
{
HPDF_BYTE buf[4096];
HPDF_UINT32 siz = 4096;
HPDF_STATUS ret = HPDF_ReadFromStream(m_pdf, buf, &siz);
if (siz == 0)
{
break;
}
if (-1 == file.write(reinterpret_cast<const char *>(buf), siz))
{
qDebug() << "Write PDF error";
break;
}
}
}
HPDF_Free(m_pdf);
Refrence: Libharu Примеры использования