Я использую embarcadero 10.3.1 c ++, использую zlib inflate.этот код работает, однако текст в шестнадцатеричной форме кодируется.после кода ниже вы найдете проблему pdf ver.1.7
size_t outsize = (streamend - streamstart) * 10;
char *zoutput = new char[outsize];
memset(zoutput,0,outsize);
z_stream zstrm;
zstrm.zalloc = Z_NULL;
zstrm.zfree = Z_NULL;
zstrm.opaque = Z_NULL;
zstrm.avail_in = (unsigned int)(streamend - streamstart + 1);
zstrm.avail_out = (unsigned int)outsize;
zstrm.next_in = (Byte *)(streamstart);
zstrm.next_out = (Byte *)zoutput;
int rsti = inflateInit(zstrm);
if (rsti == Z_OK) {
int rst2 = inflate(zstrm, Z_FINISH);
inflateEnd(zstrm);
if (rst2 >= 0) {
size_t totout = zstrm.total_out;
}
}
==inflated version using zlib===========================================
Эта информация в формате pdf содержит конфиденциальные личные данные, приведенные ниже выходные данные были получены из закодированного потока, нижеприведенные выходные данные представляют собой читаемый поток декодирования в формате pdf.Проблема в том, что библиотека zlib не декодировала текстовые или плавающие значения, такие как Tm \ n Tj \ n.внутри <> E689A388849981A68193A261D489A283 не будет декодироваться.Tm и Tj являются инструкциями, что механизм pdf переместит точку (Tm), и Tj начнет процесс отображения текста, закодированного в.
Является ли pdf многоуровневым закодированным файлом?или что заставит zlib декодировать или распаковать шестнадцатеричные строки.Я попробовал ASCII85 и HEXtoASCII.Я продолжу читать спецификацию Adobe.
этому коду я предшествовал коду в верхней части, чтобы изолировать char bac [] = "";
streamstart = bac;
streamend = bac+(strlen(bac)*sizeof(char));
В строке есть данные транзакции, подобные найденным в операторе back, илиимя и адрес.Я не могу найти стратегию кодирования для <>, например <~~> => ASCII85.
Поток блоков имеет фильтр типа данных flatecode.
23 0 obj <> stream
============ вывод ниже из zlib inflate. =========================
> Blockquote
=========right above===============================
<C1C3C3D6E4D5E3> this I can not get converted to text.