É possível usar o .NET DeflateStream para criação de pdf?

Eu estou brincando com a capacidade de criar arquivos PDF através do código C #. Eu tenho olhado para as especificações PDF e consegui criar um arquivo PDF funcional, feito pegando strings de dados e codificando-os em matrizes de bytes usando a codificação UTF8.

O problema que me deparo é quando tento usar oDeflateStream nos objetos de fluxo de PDF. Parece que não funciona:

Aqui está a versão em texto do objeto pdf que está em questão (\ r \ n está no final de cada linha, apenas não visível aqui):

5 0 obj
<</Length 45>>
stream
BT 70 50 TD /F1 12 Tf (Hello, world!) Tj ET
endstream
endobj

Quando tento usar oDeflateStream classe para comprimir a linhaBT 70 50 TD /F1 12 Tf (Hello, world!) Tj ET, o pdf parece não funcionar. Percebi que muitas outras bibliotecas, como o iTextSharp, usam sua própria implementação da compactação Deflate.

Existe alguma razão pela qual a implementação da classe DeflateStream pela Microsoft não está funcionando? Estou usando incorretamente ou está implementado incorretamente ou o que?

Eu sei que arquivos PDF são binários (não texto), mas se eu não estiver criptografando nada, então é possível ver tudo como texto. Aqui está o arquivo PDF inteiro para referência (em texto simples, também\ r \ n está no final de cada linha, apenas não visível aqui):

%PDF-1.7
1 0 obj
<</Type /Catalog /Pages 2 0 R>>
endobj
2 0 obj
<</Type /Pages /MediaBox [ 0 0 200 200 ] /Count 1 /Kids [ 3 0 R ]>>
endobj
3 0 obj
<</Type /Page /Parent 2 0 R /Resources <</Font <</F1 4 0 R>>>> /Contents 5 0 R>>
endobj
4 0 obj
<</Type /Font /Subtype /Type1 /BaseFont /Times-Roman>>
endobj
5 0 obj
<</Length 45>>
stream
BT 70 50 TD /F1 12 Tf (Hello, world!) Tj ET
endstream
endobj
xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000067 00000 n
0000000153 00000 n
0000000252 00000 n
0000000325 00000 n
trailer
<</Size 6/Root 1 0 R>>
startxref
422
%%EOF

questionAnswers(1)

yourAnswerToTheQuestion