HPDF_SetCompressionMode() не работает в Libharu

#pdf #pdf-generation #zlib #libharu

#PDF #pdf-генерация #zlib #libharu

Вопрос:

Я создаю файлы Pdf с использованием библиотек LibHaru. Мой код выглядит следующим образом

 #include <iostream>
#include "hpdf.h"


using namespace std;

void error_handler(HPDF_STATUS   error_no,  HPDF_STATUS   detail_no, void *user_data)
{
}

int main()
{
    cout<<"Compression"<<endl;

    HPDF_Doc pdf = HPDF_New(error_handler, NULL);

    if (!pdf) 
        return 0;
    HPDF_STATUS Status = HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL);


    return 0;
}
  

ПРОБЛЕМА: я отладил код и обнаружил, что он HPDF_SetCompressionMode() возвращает 4129, что является кодом ошибки для недопустимого значения, установленного при вызове hpdf_setcompressionmode() . .

Ответ №1:

Если вы перейдете к коду, вы увидите, что получаете ошибку, потому что библиотека сжатия ZLIB не была скомпилирована в вашу копию HaruPDF.

Сначала: закомментируйте эту строку в ..win32includehpdf_config.h:

 /* zlib is not available */
//#define LIBHPDF_HAVE_NOZLIB
  

Второе: найдите, загрузите и разархивируйте код ZLIB. Вы можете получить исходный код со следующего веб-сайта:

http://www.zlib.net/

Третье: сообщите HaruPDF, где он может найти код ZLIB, и перекомпилируйте HaruPDF.

Теперь вы должны иметь возможность использовать сжатие.

Разве Open Source не великолепен?