0

日本語のユーザー名を含むパスに 1 つの PDF を保存しようとしています。この場合、HPDF_SaveToFile が Windows でアプリをクラッシュさせています。コンパイルするオプションなどはありますか? libhaur で Unicode ファイル名をサポートするアイデアはありますか? 日本語エンコードでPDFを作成したくありません。日本語のファイル名でPDFを書きたいです。

4

1 に答える 1

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 使用例

于 2016-09-22T08:16:16.847 に答える