Página que monta um pdf e enviar por email
Estou com problema numa pagina que monta arquivo pdf de um boleto bancário e o envia por email.
A mensagem de erro é:
Persits.PdfManager.1 error '800a0001'
The filename, directory name, or volume label syntax is incorrect.
/ik_varejo_online/historico/modelo_boletos.asp, line 386
Obs.: A imagem que está nesta linha do erro existe e esta na pasta corretamente.
Alguém pode me ajudar a descobrir oq ue está errado?
Segue a parte do código que monta o pdf:
'Monta pdf Set Pdf = Server.CreateObject("Persits.Pdf") Set Doc = Pdf.CreateDocument Set Table = Doc.CreateTable("width=500; height=60; rows=8; cols=5; border=1; cellborder=1; cellspacing=0; cellpadding=2; bordercolor=gray") Table.Font = Doc.Fonts("Helvetica") response.write "<br>dir1 " & dir1 & "imagens/banco_rendimento.gif" Set Image = Doc.OpenImage( dir1 & "imagens/banco_rendimento.gif" ) 'linha com erro Set Param = Pdf.CreateParam Table.Rows(1).Height = 30 Table(1,1).Colspan = 5 Table.Rows(1).Cells(1).AddText "<center><font color=""blue""><b>Boleto de Câmbio - "&texto2 & via &"</b></font></center>", "size=12; indentx=1; indenty=1; alignment=center; html=true" Table.Rows(2).Height = 30 Table(2,1).Colspan = 2 Table.Rows(2).Cells(1).AddText "Instituição credenciada vendedora <br>Código : <b>05633/001</b>", "html=true; size=8; indentx=1; indenty=1;html=true" Table(2,3).Colspan = 2 Table.Rows(2).Cells(3).AddText "Comprovante Num.: <b>"&right("00000"&op_n_boleto,5)&"/"&year(date())&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(2).Cells(5).AddText "Data: <b>"&FormataData(op_data_boleto,"/")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(3).Height = 30 Table(3,1).Colspan = 3 Table.Rows(3).Cells(1).AddText "Nome / Razão Social : <b>"&nome&"</b>", "size=8; indentx=1; indenty=1; html=true; expand=true" Table(3,4).Colspan = 2 Table.Rows(3).Cells(4).AddText "CPF / CGC : <b>"&cl_num_doc&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(4).Height = 30 Table(4,1).Colspan = 3 if trim(cl_complemento) <> "" then str1 = ", " & cl_complemento end if if trim(cl_bairro) <> "" then str2 = ", " & cl_bairro end if if trim(cl_cidade) <> "" then str3 = ", " & cl_cidade end if if trim(cl_cep) <> "" then str4 = ", cep: " & cl_cep end if Table.Rows(4).Cells(1).AddText "Endereço : <b>" & cl_endereco & str1 & str2 & str3 & str4 & "</b>", "size=8; indentx=1; indenty=1; html=true; expand=true" Table(4,4).Colspan = 2 Table.Rows(4).Cells(4).AddText "Telefone : <b>"&cl_tel_res&"</b>", "size=8; indentx=1; indenty=1; html=true; expand=true" Table.Rows(5).Height = 30 Table(5,1).Colspan = 5 Table.Rows(5).Cells(1).AddText "<font color=""blue""><b>Operação - Dados Básicos</b></font>", "size=10; indentx=1; indenty=1; html=true" Table.Rows(6).Height = 30 Table.Rows(6).Cells(1).AddText "Valor M.E. :<br><b>"&op_tipo_moeda&" "&PadraoMoeda(op_val_moeda)&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(6).Cells(2).AddText "Taxa Cambial :<br> <b>"&replace(FormatCurrency(op_tx_operacao,6,true,true,true),"R$","")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(6).Cells(3).AddText "Valor M.N. :<br> <b>"&replace(PadraoMoeda(op_val_reais),"$","R$")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(6).Cells(4).AddText "Despesa/Tarifa :<br> <b>"&replace(PadraoMoeda(op_tarifa_operacao),"$","R$")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(6).Cells(5).AddText "Valor Total :<br> <b>"&replace(PadraoMoeda(valor_total),"$","R$")&"</b>", "size=8; indentx=1; indenty=1; html=true" if trim(op_tipo_entrega) = "CHEQUE" and trim(op_tipo_operacao) = "C" then Table.Rows(7).Height = 30 Table.Rows(7).Cells(1).AddText "Data M.E. :<br><b>"&FormataData(op_data_me,"/")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(7).Cells(2).AddText "Data M.N. :<br><b>"&FormataData(op_data_mn,"/")&" - "&op_tipo_liq&"</b>", "size=8; indentx=1; indenty=1; html=true" Table.Rows(7).Cells(3).AddText "No. Cheque :<br><b>"&op_n_cheque&"</b>", "size=8; indentx=1; indenty=1; html=true" Table(7,4).Colspan = 2 Table.Rows(7).Cells(4).AddText "Banco Emissor :<br><b>"&op_ban_emissor&"</b>", "size=8; indentx=1; indenty=1; html=true" else Table.Rows(7).Height = 30 Table(7,1).Colspan = 2 Table.Rows(7).Cells(1).AddText "Data M.E. :<br><b>"&FormataData(op_data_me,"/")&"</b>", "size=8; indentx=1; indenty=1; html=true" Table(7,3).Colspan = 3 Table.Rows(7).Cells(3).AddText "Data M.N. :<br><b>"&FormataData(op_data_mn,"/")&" - "&op_tipo_liq&"</b>", "size=8; indentx=1; indenty=1; html=true" end if Table.Rows(8).Height = 40 Table.Rows(8).Cells(1).AddText "Código da Natureza :<br><b>"&natureza&"</b>", "size=8; indentx=1; indenty=1; html=true" Table(8,2).Colspan = 2 Table.Rows(8).Cells(2).AddText "Forma de Entrega :<br> <b>"&op_cod_tipo_entrega&"-"&op_tipo_entrega&"</b>", "size=8; indentx=1; indenty=1; html=true" Table(8,4).Colspan = 2 Table.Rows(8).Cells(4).AddText "Data prevista para viagem (exclusivo para op. referentes a viagens int.) :<br>", "size=8; indentx=1; indenty=1; html=true" '********************************** 'Tabela 2 '********************************** Set Table2 = Doc.CreateTable("width=500; height=300; rows=3; cols=2; border=1; cellborder=1; cellspacing=0; cellpadding=2; bordercolor=gray") Table2.Font = Doc.Fonts("Helvetica") Table2.Rows(1).Height = 30 Table2(1,1).Colspan = 2 Table2.Rows(1).Cells(1).AddText "<font color=""blue""><b>Informações Complementares</b></font>", "size=10; indentx=1; indenty=1; html=true" Table2.Rows(2).Height = 70 if trim(op_grupo1) <> "0" or trim(op_grupo2) <> "0" or trim(op_grupo3) <> "0" then aux_str_titulo = " <br> <i>Grupo(s) Bancário(s) utilizado(s) na operação</i><br>" end if cont = 0 if trim(op_grupo1) <> "0" then cont = cont + 1 aux_str_a = cont & ". <u>Cod. Banco</u>: "&cod_banco&" | <u>Agência</u>: "&agencia&" | <u>Conta</u>: "&conta&" | <u>Tipo de Conta</u>: "&tipo_conta&"<br>" end if if trim(op_grupo2) <> "0" then cont = cont + 1 aux_str_b = cont & ". <u>Cod. Banco</u>: "&cod_banco2&" | <u>Agência</u>: "&agencia2&" | <u>Conta</u>: "&conta2&" | <u>Tipo de Conta</u>: "&tipo_conta2&"<br>" end if if trim(op_grupo3) <> "0" then cont = cont + 1 aux_str_c = cont & ". <u>Cod. Banco</u>: "&cod_banco3&" | <u>Agência</u>: "&agencia3&" | <u>Conta</u>: "&conta3&" | <u>Tipo de Conta</u>: "&tipo_conta3&"<br>" end if if trim(op_tipo_operacao) = "C" then aux_str = "Pag. Exterior" else aux_str = "Favorecido" end if Table2.Rows(2).Cells(1).AddText "<u>"&aux_str&"</u>: "&op_inf_fav&"<br><u>Banco:</u> "&op_inf_banco&"<br><u>Swift Code</u>: "&op_swift_code&"<br><u>ABA/IBAN</u>: "&op_aba_iban&"<br><u>Conta</u>: "&op_inf_conta&"<br><u>Motivo</u>: "&op_inf_motivo&"<br><u>Obs</u>: "&op_inf_obs&"<br> <br>"&observacao&"<br>"&aux_str_titulo & aux_str_a & aux_str_b & aux_str_c, "size=8; indentx=1; indenty=1; html=true; expand=true" Table2.Rows(2).Cells(2).AddText "Declaro ter pleno conhecimento do texto constante do respectivo contrato de câmbio, do artigo 23 da lei 4.131, de 03/09/1962 e em especial dos seus parágrafos 2o e 3o transcritos abaixo, bem como do Regulamento do Mercado de Câmbio e Capitais Internacionais, o qual rege a presente operação. <br> <br> <br> <br> <br>_______________________________________________<br>Assinatura do cliente<br> <br>Autorização Mecânica ou Assinatura Autorizada do Banco<br> <br> <br> <br> ", "size=8; indentx=1; indenty=1; html=true; expand=true" Table2.Rows(3).Height = 95 Table2.Rows(3).Cells(1).AddText "- Lei no 4.131, de 03/09/62 e alterações subsequentes do artigo 23 do citado diploma<br>- Parag. 2o - constitui infração imputável ao estabelecimento bancário, ao corretor e ao cliente, punível com multa de 50 (cinquenta) a 300% (trezentos por cento) do valor da operação para cada um dos infratores, a declaração de falsa identidade no formulário que, em números de vias e segundo modelo determinado pelo Banco Central do Brasil, será exigido em cada operação, assinado pelo cliente e visado pelo estabelecimento bancário e pelo corretor que nela intervierem (redação dada pelo artigo 72 da lei no 9.069 de 29/06/95)", "size=7; indentx=1; indenty=1; html=true; expand=true" Table2.Rows(3).Cells(2).AddText "- Parag. 3o - constitui infração, de responsabilidade exclusiva do cliente, punível com multa de 5 a 100% (cem por cento) do valor da operação. A declaração de informações falsas no formulário a que se refere o parágrafo 2o (redação dada pelo artigo 72 da lei no 9.069 de 29/06/95).", "size=7; indentx=1; indenty=1; html=true; expand=true" 'Adiciona uma nova página Set Page = Doc.Pages.Add Page.Canvas.DrawImage Image, "x=355, y=720" Page.Canvas.DrawImage Image1, "x=55, y=80" Page.Canvas.DrawTable Table, "x=55, y=715" tamanho_total = len(cl_endereco) + len(cl_complemento) + len (nome) 'se a soma dos comprimentos (endereço e razão social) for <= 176 então x=55;y=480 'senão se a soma dos comprimentos (endereço e razão social) for > 176 e <=236 então x=55;y=460 'senão x=55;y=450 if cdbl(tamanho_total) <= 176 then aux_coord = "x=55;y=450" elseif cdbl(tamanho_total) > 176 and cdbl(tamanho_total) <= 236 then aux_coord = "x=55;y=430" else aux_coord = "x=55;y=420" end if Page.Canvas.DrawTable Table2, aux_coord nome_arq = "Boleto_"&op_n_boleto&".pdf" Filename = Doc.Save( dir2 & "operacoes\boletos\"&nome_arq , true ) Set fso = Server.CreateObject("Scripting.FileSystemObject") fso.DeleteFile dir4 & "\IKCodigoBarra\"&id_operacao&".jpg" Set fso = nothing sql = "select cl_email from TBL_CLIENTES where id_cliente='"&id_cliente&"'" set rs_cli = conn.execute(sql) if not rs_cli.eof then email = trim(rs_cli("cl_email")) end if if trim(pagina) = "10.0.0.3" or trim(pagina) = "clientes.ikeda.com.br" then x = E_Email_Novo(dir2 & "operacoes\boletos\","","varejo@rendimento.com.br","fabiana@ikeda.com.br","","Boleto","0",texto,nome_arq,"") aux_msg = "Email enviado com sucesso." else x = E_Email(dir2 & "operacoes\boletos\","varejo@rendimento.com.br",email,"","Boleto","0",texto,nome_arq,"") if trim(x) = "" then aux_msg = "Email enviado com sucesso." elseif trim(x) = "erro" then aux_msg = "Não foi possível o envio do email." else aux_msg = "Não existe email cadastrado para este cliente." end if end if response.redirect "modelo_boletos.asp?id_operacao="&id_operacao&"&msg="&aux_msg end if elseif trim(action) = "GerarArquivo" then strPath = dir3&"\" strFileTitle = "VarejoBoleto"&op_n_boleto& ".txt" strFileName = strPath & strFileTitle Const ForReading = 1, ForWriting = 2, ForAppending = 3 set objFs = CreateObject("Scripting.FileSystemObject") Set objText = objFs.OpenTextFile(strFileName,ForWriting,true) texto = "BOLETO DE CÂMBIO - " if trim(op_tipo_operacao) = "V" then texto = texto &"VENDA" else texto = texto &"COMPRA" end if texto = texto &replace(via," ","")& vbcrlf objText.WriteLine(texto) texto = "------------------------------------------------------------------------------------------------" objText.WriteLine(texto) texto = "Instituição credenciada vendedora"&vbcrlf objText.WriteLine(texto) texto = "Código : 05633/001"&vbcrlf objText.WriteLine(texto) texto = "Comprovante Num. : "&right("00000"&op_n_boleto,5)&"/"&year(date())&vbcrlf objText.WriteLine(texto) if data_boleto <> "" then texto = "Data: "&data_boleto&vbcrlf else texto = "Data: "&FormataData(date(),"/")&vbcrlf end if objText.WriteLine(texto) texto = "------------------------------------------------------------------------------------------------" objText.WriteLine(texto) texto = "Nome / Razão Social : "&nome&vbcrlf objText.WriteLine(texto) if trim(ucase(cl_tip_doc)) = "CPF" then texto = cl_tip_doc&"......: "&cl_num_doc&vbcrlf else texto = cl_tip_doc&".....: "&cl_num_doc&vbcrlf end if objText.WriteLine(texto) texto = "Endereço : "&cl_endereco if trim(cl_complemento) <> "" then texto = texto &", "&cl_complemento end if if trim(cl_bairro) <> "" then texto = texto &", "&cl_bairro end if if trim(cl_cidade) <> "" then texto = texto &", "&cl_cidade end if if trim(cl_cep) <> "" then texto = texto &", cep: "&cl_cep end if texto = texto & vbcrlf objText.WriteLine(texto) texto = "Telefone : "&cl_tel_res&vbcrlf objText.WriteLine(texto) texto = "------------------------------------------------------------------------------------------------" objText.WriteLine(texto) texto = "Operação - Dados Básicos"&vbcrlf objText.WriteLine(texto) texto = "Valor M.E. : "&op_tipo_moeda&" "&PadraoMoeda(op_val_moeda)&vbcrlf objText.WriteLine(texto) texto = "Taxa Cambial : "&replace(FormatCurrency(op_tx_operacao,6,true,true,true),"R$","")&vbcrlf objText.WriteLine(texto) texto = "Valor M.N.: "&replace(PadraoMoeda(op_val_reais),"$","R$")&vbcrlf objText.WriteLine(texto) texto = "Despesa/Tarifa : "&replace(PadraoMoeda(op_tarifa_operacao),"$","R$")&vbcrlf objText.WriteLine(texto) texto = "Valor Total : "&replace(PadraoMoeda(valor_total),"$","R$")&vbcrlf objText.WriteLine(texto) texto = "Data M.E. : "&FormataData(op_data_me,"/")&vbcrlf objText.WriteLine(texto) texto = "Data M.N. : "&FormataData(op_data_mn,"/")&" - "&op_tipo_liq&vbcrlf objText.WriteLine(texto) if trim(op_tipo_entrega) = "CHEQUE" and trim(op_tipo_operacao) = "C" then texto = "No. Cheque : "&op_n_cheque&vbcrlf objText.WriteLine(texto) texto = "Banco Emissor : "&op_ban_emissor&vbcrlf objText.WriteLine(texto) end if texto = "Código da Natureza : "&natureza&vbcrlf objText.WriteLine(texto) texto = "Forma de Entrega : "&op_cod_tipo_entrega&"-"&op_tipo_entrega&vbcrlf objText.WriteLine(texto) texto = "Data prevista para viagem (exclusivo para op. referentes a viagens int.) : "&vbcrlf objText.WriteLine(texto) texto = "------------------------------------------------------------------------------------------------" objText.WriteLine(texto) texto = "Informações Complementares"&vbcrlf objText.WriteLine(texto) if trim(op_tipo_operacao) = "C" then texto = "Pag. Exterior:" else texto = "Favorecido:" end if texto = texto &op_inf_fav&vbcrlf objText.WriteLine(texto) texto = "Banco:"&op_inf_banco&vbcrlf objText.WriteLine(texto) texto = "Swift Code:"&op_swift_code&vbcrlf objText.WriteLine(texto) texto = "ABA/IBAN:"&op_aba_iban&vbcrlf objText.WriteLine(texto) texto = "Conta:"&op_inf_conta&vbcrlf objText.WriteLine(texto) texto = "Motivo:"&op_inf_motivo&vbcrlf objText.WriteLine(texto) texto = "Obs:"&op_inf_obs&vbcrlf objText.WriteLine(texto) texto = observacao&vbcrlf objText.WriteLine(texto) if trim(op_grupo1) <> "0" or trim(op_grupo2) <> "0" or trim(op_grupo3) <> "0" then texto = "Grupo(s) Bancário(s) utilizado(s) na operação"&vbcrlf objText.WriteLine(texto) end if cont = 0 if trim(op_grupo1) <> "0" then cont = cont + 1 texto = cont&". Cod. Banco: "&cod_banco&" | Agência: "&agencia&" | Conta: "&conta&" | Tipo de Conta: "&tipo_conta&vbcrlf objText.WriteLine(texto) end if if trim(op_grupo2) <> "0" then cont = cont + 1 texto = cont&". Cod. Banco: "&cod_banco2&" | Agência: "&agencia2&" | Conta: "&conta2&" | Tipo de Conta: "&tipo_conta2&vbcrlf objText.WriteLine(texto) end if if trim(op_grupo3) <> "0" then cont = cont + 1 texto = cont&". Cod. Banco: "&cod_banco3&" | Agência: "&agencia3&" | Conta: "&conta3&" | Tipo de Conta: "&tipo_conta3&vbcrlf objText.WriteLine(texto) end if texto = "Declaro ter pleno conhecimento do texto constante do respectivo contrato de câmbio, do artigo 23"&vbcrlf&" da lei 4.131, de 03/09/1962 e em especial dos seus parágrafos 2o e 3o transcritos abaixo, bem "&vbcrlf&"como do Regulamento do Mercado de Câmbio e Capitais Internacionais, o qual rege a presente operação."&vbcrlf&vbcrlf&vbcrlf&vbcrlf&vbcrlf&vbcrlf objText.WriteLine(texto) texto = "___________________________________________"&vbcrlf objText.WriteLine(texto) texto = "Assinatura do cliente"&vbcrlf objText.WriteLine(texto) texto = "Autenticação mecânica ou assinatura autorizada do Banco"&vbcrlf objText.WriteLine(texto) texto = "Lei no 4.131, de 03/09/62 e alterações subsequentes do artigo 23 do citado diploma"&vbcrlf objText.WriteLine(texto) texto = "Parag. 2o - constitui infração imputável ao estabelecimento bancário, ao corretor e ao cliente, "&vbcrlf&"punível com multa de 50 (cinquenta) a 300% (trezentos por cento) do valor da operação para cada"&vbcrlf&" um dos infratores, a declaração de falsa identidade no formulário que, em números de vias e "&vbcrlf&"segundo modelo determinado pelo Banco Central do Brasil, será exigido em cada operação, assinado"&vbcrlf&" pelo cliente e visado pelo estabelecimento bancário e pelo corretor que nela intervierem "&vbcrlf&"(redação dada pelo artigo 72 da lei no 9.069 de 29/06/95)"&vbcrlf objText.WriteLine(texto) texto = "Parag. 3o - constitui infração, de responsabilidade exclusiva do cliente, punível com multa de "&vbcrlf&"5 a 100% (cem por cento) do valor da operação. A declaração de informações falsas no formulário"&vbcrlf&" a que se refere o parágrafo 2o (redação dada pelo artigo 72 da lei no 9.069 de 29/06/95)."&vbcrlf objText.WriteLine(texto) texto = "------------------------------------------------------------------------------------------------" objText.WriteLine(texto) objText.close aux_msg = "Arquivo gerado com sucesso." response.redirect "modelo_boletos.asp?id_operacao="&id_operacao&"&msg="&aux_msg end if Formulario()function ModificaNumero(numBoleto)for indice = 1 to len(numBoleto) r = mid(trim(numBoleto),indice,1) select CASE cstr(r) case 1: numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,1),1,"CD") case 2: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),2,"AS") case 3: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),3,"E3") case 4: numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,1),4,"PL") case 5: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),5,"XZ") case 6: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),6,"@D") case 7: numBoleto2 =numBoleto2 & replace(mid(trim(numBoleto),indice,1),7,"$V") case 8: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),8,"Q2") case 9: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),9,"B6") case 0: numBoleto2 = numBoleto2 &replace(mid(trim(numBoleto),indice,1),0,"8*") end selectnextModificaNumero = numBoleto2end function'+++++++++++++++++++++++++++++++++++++++' Volta o numero original'+++++++++++++++++++++++++++++++++++++++function VoltaNumero(numBoleto)for indice = 1 to len(numBoleto) r = mid(trim(numBoleto),indice,2) select CASE cstr(r) case "CD": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"CD",1) case "AS": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"AS",2) case "E3": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"E3",3) case "PL": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"PL",4) case "XZ": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"XZ",5) case "@D": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"@D",6) case "$V": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"$V",7) case "Q2": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"Q2",8) case "B6": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"B6",9) case "8*": numBoleto2 = numBoleto2 & replace(mid(trim(numBoleto),indice,2),"8*",0) end selectnextVoltaNumero = numBoleto2end function%>Discussão (2)
Carregando comentários...