0

Я пытаюсь написать pdf-файл в браузере, а когда клиент распечатает pdf, имя файла, отправленное на принтер, - это имя файла. Но теперь я получаю имя страницы asp, отправленной в браузер «loadfile.asp»Asp Classic Write PDf и сохранить имя файла при печати

Поскольку я не могу поместить заголовок на свою страницу, когда я использую Response.ContentType = "application/pdf", я добавил страницу, сделайте server.Transfer.

Но каждый раз, когда код передается, заголовок Response.ContentType = "application/pdf" загорается.

Так вот мой код: Страница:

<html> 
<head> 
<title> 
    <%= Request.QueryString("File") & ".PDF" %> 
</title> 
</head> 
<body> 

<% 

Server.Transfer "loadfileAfter.asp" 

%> 
</body> 
</html> 

Вот вторая страница (loadfileAfter.asp):

Response.ContentType = "application/pdf" 
    Response.AddHeader "content-disposition", "Filename=" & Request.QueryString("File") & ".PDF" 
    Const adTypeBinary = 1 


    strFilePath = "D:\" & Request.QueryString("File") & ".PDF" 'This is the path to the file on disk. 

    Set objStream = Server.CreateObject("ADODB.Stream") 
    objStream.Open 
    objStream.Type = adTypeBinary 
    objStream.LoadFromFile strFilePath 

    Response.BinaryWrite objStream.Read 

    objStream.Close 
    Set objStream = Nothing 

Я учил, что эта линия поможет:

Response.AddHeader "content-disposition", "Filename=" & Request.QueryString("File") & ".PDF" 

Но это ничего не меняло.

Спасибо за вашу помощь

+0

Является ли этот браузер-конкретнее? Как PDF отправляется на принтер - он отправляется браузером или плагином внутри браузера (например, Adobe Reader) –

+0

Да, читатель Adobe! простите, я должен был это сказать. и это, похоже, не является браузером – GregM

+0

Я не думаю, что писать pdf-файлы - это то, что классический ASP может делать из коробки. ABCpdf - популярный сторонний компонент. http://www.websupergoo.com/abcpdf-1.htm – John

ответ

0

Это один работал для меня:
Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"