Требуется расжать ПДФ, а именно: ПДФ хранится обычно в сжатом виде, типа:
%PDF-1.4
1 0 obj
<<
/Length 5910
/Filter /FlateDecode
>>
stream
X…Ѕ]ЛЋл<rЮчSш~
Требутся расжать файл до вида:
%PDF-1.4
%вгПУ
1 0 obj
<<
/Length 39229
>>
stream
q
1 1 1 rg
0 0 595.44 841.68 re
W
n
0 0 595.44 841.68 re
f
Q
q
412.86 617.22 146.58 11.31 re
W
n
BT
0 0 0.545 rg
0 0 0.545 RG
/F1 8 Tf
0 621.288 Td
414.3 0 Td
<001900130018001300180013001C0014001C0013001A001600170013001800190014001B0019> Tj
-414.3 -9.199 Td
ET
Q
...
Пробовал так:
Сжатие:
using (FileStream sourceStream = new FileStream("путь", FileMode.Open))
{
using (FileStream targetStream = File.Create("compressed.pdf"))
{
using (GZipStream compressionStream = new GZipStream(targetStream, CompressionMode.Compress))
{
sourceStream.CopyTo(compressionStream);
}
}
}
Разжатие:
using (FileStream sourceStream = new FileStream("compressed.pdf", FileMode.Open))
{
using (FileStream targetStream = File.Create("uncompressed.pdf"))
{
using (GZipStream decompressionStream = new GZipStream(sourceStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(targetStream);
}
}
}
Т.е. сначала сжимаю (иначе кидает Exception о неверной кодировке), потом разжимаю. Очевидно что при таком раскладе я получаю исходный сжатый вариант. Пробовал DeflateStream - результат аналогичный. Подскажите пожалуйста! Нужно именно просто разжать и все, более не требуются, поэтому сторонние библиотеки не подходят.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости