使用日语文件名调用HPDF_SaveToFile()

时间:2015-03-26 12:45:47

标签: c++ windows libharu

我试图在包含日语用户名的路径中保存一个pdf。在这种情况下,HPDF_SaveToFile正在崩溃我的应用程序在Windows上。任何编译选项或其他东西?有任何想法支持libhaur的Unicode文件名吗?我不想用日语编码创建pdf,我想用日语文件名写pdf。

1 个答案:

答案 0 :(得分:0)

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);

参考:Libharu Usage examples