2014-10-20 2 views
0

Я обновляю старое приложение и попросил изменить старую программу печати (которая только что вызвала команду печати с помощью javascript и распечатала html), на тот, который печатает (теория состоит в том, что у нас тогда больше контроля над pdf/как он выглядит и т. д. на всех принтерах.)Автоматическая печать страницы, а затем переход на следующую страницу

Используя библиотеку Rotativa, я могу сгенерировать свои pdf-файлы, как на лету, так и в файл.

После выполнения некоторого чтения, оказывается невозможным поток в формат PDF из памяти, и он должен быть создан в виде файла первым, отправляется в браузер, а затем удаляется.)

последней строка моего контроллера является;

return File(@"D:\Development\Source\Workspaces\ConsumerCreditLicenseSystem\Code\ConsumerCreditSystem\CCLSystem\_Idd\1.pdf", "application/pdf"); 

То, с чем я борюсь, получает эту страницу, чтобы вызвать Диалог печати. Если я отправлю его на новое представление с помощью javascript, чтобы сделать это, я вернусь к квадрату, так как страница html не моя pdf. Есть ли способ, я могу отметить, что мой PDF для печати, или объединить его с некоторым HTML, так что я могу иметь старый верных

window.print(); 

в документе?

ответ

0

PDF не является домашней страницей; это двоичный файл. Когда вы отправляете PDF в качестве ответа на пользователя, вы не можете контролировать, что происходит с их конца. Если их браузер способен просматривать PDF-файл, он отобразит его; в противном случае он предложит пользователю загрузить его. В любом случае, зависит от того, хотят ли они распечатать его или нет, и им также будет нужно вернуться или что-то еще. Вы не можете перенаправить пользователя автоматически в этот момент.

Немного лучше было бы перенаправить пользователя на другую страницу со ссылкой на представление, которое отправит PDF к ним. Затем вы можете делать такие вещи, как принудительное скачивание PDF-файла (поэтому он не отображается внутри одной вкладки/окна, эффективно удаляя пользователя от вашего сайта), или заставляя ссылку открываться в новой вкладке или окне. Однако вы все равно не сможете запросить пользователя для печати.

+0

Я полагаю, что «сила» была неправильной фразой. они добавили ссылку на ссылку, которая говорит «Печать», поэтому мне нужно сделать преобразование html в pdf (что я и сделал), а затем распечатать. Если это невозможно, тогда мне придется придерживаться оригинального метода и посмотреть, могу ли я немного поработать с принтом css. – Matt

+0

Да, нет, предлагая распечатать пользователя в этот момент. Все, что вы можете сделать, это отправить PDF-файл и позволить им решить, что они хотят с ним делать. Если вам нужно открыть диалог печати, вам нужно придерживаться HTML-представления. –

Смежные вопросы