Arquivos extensão *.PDF
Ola
Preciso criar uma sistema que :
Meu cliente com um usuário e senha, possa acessar um site adminsitrativo e verificar seus Arquivos (boletins) e baixá-los
( um bom exemplo para isto seria como uma laboratório que emite resultado de análises para
Fernando Reis
Curtidas 0
Respostas
Fernando Reis
23/07/2009
Continuando....
Minha dúvida é:
1.) Seria interessante Salvar o arquivo pdf como Binario no Banco de Dados?
2.) como posso Emitir o arquivo em PDF a partir de dados da Banco de Dados SQL Server?
3.) Poderia me enviar um Tutorial, Artigo com algum exemplo pronto para eu começar a criar este projeto?
4.) Alguma dica, Cuidado, Segurança que eu devo me atentar além do que podemos chamar do "normal" de segurança de acessos???
fico no aguardo.
Grato
GOSTEI 0
Fernando Reis
23/07/2009
Luiz,
Pode cancelar um dos POsts Abertos com o mesmo Assunto?
Grato
GOSTEI 0
Luiz Maia
23/07/2009
Ola Fernando,
Não salve os arquivos em Banco.
Crie uma pasta com permissão para o usuario ASP.net de leitura.
Jogue os pdfs dentro dela, crie um projeto onde o usuario possa escolhar o PDF a abrir, e exiba-o no proprio browser.
Para ler diretorios use o System.IO (DirectoryInfo).
Para exibir os pdfs, basta chamas a propria URL (Http://www.fernando.com.br/luiz_maia.pdf). por exemplo.
Att
Luiz Maia
GOSTEI 0
Fernando Reis
23/07/2009
Até aqui Tudo bem,
Duvidas:
1.) Colocar os arquivos em PDF aumenta significamente o tamanho do espaço utilizado, é normal criar uma regra para o tempo de permanência no site?
2.) Voce conhece algum artigo ou projeto para para eu me basear? pode me enviar?
3.) Conhece algum programa FREE que modifica as propriedades do arquivo PDF para um tamanho em KB menor mas com uma boa qualidade de imagem?
Grato
GOSTEI 0
Luiz Maia
23/07/2009
Fernando,
Ja que seu problema é espaço em disco, então opte por gravar os PDFs no Banco mesmo, isto sana seu problema de espaço e de quebra melhora a segurança também.
Transforme o arquivo pdf em binario e insira num campo do tipo VarBinary(max). Depois na exibição da pagina, basta usar o content type correto:
// criar um Leitor de Binários para receber o stream
System.IO.BinaryReader br = new System.IO.BinaryReader(st);
// cria um vetor de bytes do tamanho do stream
byte[] vet = new byte[st.Length];
// Carrega o vetor de bytes
for (int x = 0; x < (st.Length); ++x)
vet[x] = br.ReadByte();
// Limpa o cabeçalho da página de saída
Response.ClearContent();
Response.ClearHeaders();
// Altera o tipo de saída para pdf.
Response.ContentType = "application/pdf";
// escreve o vetor na saída
Response.BinaryWrite(vet);
// exibe
Response.Flush();
// Fecha o Response (se não dá erro de arquivo não finalizado)
Response.Close();
rel.Close();
Espero ter ajudado, qualquer dúvida me avise, ok? Aguardo retorno seu quanto ao andamento da construção do recurso. Abraços Att Luiz Maia
System.IO.BinaryReader br = new System.IO.BinaryReader(st);
// cria um vetor de bytes do tamanho do stream
byte[] vet = new byte[st.Length];
// Carrega o vetor de bytes
for (int x = 0; x < (st.Length); ++x)
vet[x] = br.ReadByte();
// Limpa o cabeçalho da página de saída
Response.ClearContent();
Response.ClearHeaders();
// Altera o tipo de saída para pdf.
Response.ContentType = "application/pdf";
// escreve o vetor na saída
Response.BinaryWrite(vet);
// exibe
Response.Flush();
// Fecha o Response (se não dá erro de arquivo não finalizado)
Response.Close();
rel.Close();
Espero ter ajudado, qualquer dúvida me avise, ok? Aguardo retorno seu quanto ao andamento da construção do recurso. Abraços Att Luiz Maia
GOSTEI 0
Fernando Reis
23/07/2009
Oi Luiz,
Hoje estarei fora com clientes,
Vou começar a criar este projeto no Fim de Semana,
Começo a criação e vou pulando os dados que não conseguir identificar, e vou postando aqui no devmedia,
Caso não puder me ajudar no FDsemana, conversamos na Segunda-Feira, ok!
GOSTEI 0
Fernando Reis
23/07/2009
Ola Luiz,
Vou postar o código o mais breve possivel,
peço sua paciência de costume(kkk),
Grato
GOSTEI 0
Luiz Maia
23/07/2009
Sem problemas Fernando,
Estamos a sua disposição.
Att
Luiz Maia
GOSTEI 0
Luiz Maia
23/07/2009
E ai Fernando,
Algum avanço?
Aguardo
Att
Luiz Maia
GOSTEI 0
Fernando Reis
23/07/2009
Oi Luiz, Vou começar.... ainda....
Chamo em breve, agradeço a paciência meu amigo,
GOSTEI 0