JUNTAR 2 OU PDF¬šÃ€ŠÃ‚'S

JPC666 14/12/2006 10:55:53
#189899
Bom dia pessoal...
Estou usando o ASP.NET (VB) e preciso unir, em um arquivo só, 2 ou mais PDFÂÂÂ's gerados previamente...
Mais ou menos assim:
O chefe recebe dois relatórios de funcionários, gerados em PDF no sistema... E ele pode querer colocar os dois num só, um terceiro arquivo que conteria os dois... Como se fosse um APPEND...
Estou usando a rotina abaixo, mas ela é falha: Ela pega os dois pdfÂÂÂ's, soma os dois, mas mostra o conteúdo apenas do último... Se eu pegar um arquivo de 13 páginas (170kb) e somar a outro de 3 páginas (20kb) ele cria um 3º arquivo, com 190kb, mas com apenas as 3 páginas do 2º arquivo. Eu tava tentando tirar o "cabeçalho" do começo do 2º arquivo, porque me parece que retirando esse início de arquivo, consigo appendar um ao outro sem problemas...
POde ser tb, um executável que eu passe os arquivos e ele converta, dae eu chamo ele como processo pela própria página, sem problemas...
Segue o código:

 

Dim a As FileStream
Dim b As BinaryReader
Dim byt(), byt2() As Byte
Dim save As BinaryWriter
'abre o 1º arquivo
a = New FileStream("d:/1.pdf", FileMode.Open, FileAccess.Read)
b = New BinaryReader(a)
byt = b.ReadBytes(a.Length)
b.Close()
a.Close()
'cria um arquivo novo com o conteúdo do 1º arquivo
save = New BinaryWriter(New FileStream("d:
ewFile.pdf", FileMode.Create, FileAccess.Write))
save.Write(byt)
save.Close()
'abre o 2º arquivo
a = New FileStream("d:/2.pdf", FileMode.Open, FileAccess.Read)
b = New BinaryReader(a)
byt2 = b.ReadBytes(a.Length)
b.Close()
a.Close()

'"appendeia" o conteúdo do 2º arquivo no novo arquivo (que contém o 1º já...)
save = New BinaryWriter(New FileStream("d:
ewFile.pdf", FileMode.Append, FileAccess.Write))
save.Write(byt2)
save.Close()


CRISTIANOLIVE 14/12/2006 14:02:31
#189933
JPC666 você já tentou sem fechar o newfile.pdf?

Tente desta maneira, talvez funcione.
JPC666 14/12/2006 14:35:32
#189942
Eu preciso fechá - lo para poder abrí - lo no modo APPEND...

    save = New BinaryWriter(New FileStream("d:
ewFile.pdf", FileMode.Append, FileAccess.Write))

Tópico encerrado , respostas não são mais permitidas