Creating JavaScript code that writes to Response.OutputStream

I currently have a controller action that successfully generates and outputs a PDF using Response.OutputStream.Write(). Everything is functioning as expected.

However, I am interested in adding another scripting section to automatically print the PDF (using window.print();) when it is generated. Is there a way to achieve this, or perhaps an alternative solution available?

Controller Action:

public ActionResult PrintPDF(string ID)
{
     // Create Model

     // Output Result
     return PdfResult(model);
}

PDF Result:

var buffer = byteArrayStream.toByteArray();
response.OutputStream.Write(buffer, 0, buffer.Length);

// How can I include something like this:
response.Output.Write("<script type='text/javascript'>window.print();</script>");

Answer №1

In order to combine PDF data with JavaScript, it is recommended to embed the PDF file using the <embed> tag and then utilize JavaScript to print the content within this tag.

You can refer to this resource for additional information on making this functionality work. The following code snippet showcases how this can be achieved:

<html>
    <body>
        <embed id="pdfToPrint" src ="@ViewData.PDFUrl" width="550" height="550"
        name="whatever">
        <script>
            var x = document.getElementById("pdfToPrint");
            x.click();
            x.setActive();
            x.focus();
            x.print();              
        </script>
    </body>

</html>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Prevent scrolling with absolute positioning

Here's a snippet of my HTML pseudocode: <div> <VideoAnimation /> <div className="under-animation"> // a lot of content goes here </div> </div> The issue arises from using absolute positioning on th ...

Transforming JavaScript date into JSON date structure

Currently, I am integrating an API that requires the JSON date format. My task involves converting a JavaScript date Sat Jan 17 1970 07:28:19 GMT+0100 (Romance Standard Time) into the JSON date format: /Date(1405699200)/ ...

Is there a way to access an object stored on my server using JavaScript?

In implementing JavaScript, I wish to define two objects stored in a file named file.txt, and utilize them within my code. For instance, I have included the following snippet in my index.php: var counter = Number(localStorage.getItem('rans')) ...

Mixing various templates into a single outlet in ember.js

I have been working on an ember application that allows users to create, edit, and delete users, as well as view a list of all users. The app was created by following a tutorial on Ember (as I am still learning), but I am facing an issue. Currently, all th ...

Challenges with handling JSON data in JavaScript

I am currently attempting to retrieve and parse JSON data in order to display it on a blank HTML file. Unfortunately, I keep encountering an issue where if I retrieve and parse the data, I receive an error stating Uncaught TypeError: Cannot read property & ...

What is causing the newly generated input tags to disappear from the page?

I'm having an issue where my code successfully creates new input tags based on user input, but they disappear shortly after being generated. What could be causing this to happen? <form> <input type='text' id='input' /> ...

There seems to be an issue with React-hook-form and material-ui not retaining value changes in the onBlur() method

Stepping into the realm of react-hook-form is a new experience for me. I'm putting in effort to grasp everything, but there are still some pieces missing from the puzzle. Seeking assistance akin to Obiwan Kenobi! The Dilemma at Hand: An <Textfiel ...

FormData causing unexpected behavior with pathInfo()

Feeling a bit lost, is this normal behavior? Javascript - Example 01 function convertCanvasToImage() { var temp_ctx, temp_canvas; temp_canvas = document.createElement('canvas'); te ...

Develop a new entity utilizing Array in Javascript

let DaysArray: any = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"] I am looking to transform the above array into an Object structure as shown below: let DaysObject: any = { time: { headerName: "" }, m ...

Unleashing the Power of v-model in Vue.js: A Comprehensive Guide to Referencing Input

I am a beginner in vue.js and I am currently facing an issue with making a get request from a field that has a v-model="embed.url" after pasting a link. The paste event works fine, but I'm struggling to reference the input with v-model="embed.url" and ...

Building a table with the appendChild() method

I'm a beginner in the world of programming and I've been given a task to create a table of objects. I managed to do it using a certain method, but now I'd like to try creating it using the appendChild method. function addObject() { var ...

Analyzing and tallying JSON attributes using JavaScript

I have a JSON object with items that I need to analyze in JavaScript. When I view the JSON in the console, there is an element called items that contains an array of relevant information. console.log(json) {current_page: 1, per_page: 100, total_entries: ...

Leverage JavaScript Object Properties within Angular 5 Components

Here's a question I have on using ngx-charts in Angular 5. I am experimenting with ngx-charts to create a chart within my Angular 5 project. The code snippet for my component is shown below: import { Component, OnInit } from '@angular/core&ap ...

What could be causing the "Failed prop type" error when dealing with nested cloned children, despite the parent having the correct initial values

Here is a question with two parts: What causes prop types checks to fail in a react-only scenario? How does a material-ui HoC interfere with type checking? When creating UI components, I keep the children unaware of each other by passing props through R ...

Retrieve the attribute from the element that is in the active state

I'm facing a challenge in determining the active status of an element attribute. I attempted the following approach, but it incorrectly returned false even though the element had the attribute in an active state - (.c-banner.active is present) During ...

Displaying one out of two elements when the button is clicked

Trying to implement two buttons on the parent component, each displaying a different component - one for itemlist and the other for itemlist2. Struggling to get it right, even after following an example at https://codepen.io/PiotrBerebecki/pen/yaVaLK. No ...

How do I customize the appearance of console.log messages stored in a string variable?

Looking to enhance the appearance of my console log output in a JavaScript script by utilizing different styling options. Here's a sample scenario: s=`Title 1 \n This is some text that follows the first title`; s=`${s} \n Title 2 \n T ...

Is it possible to organize words with HTML elements utilizing JavaScript?

Code is not properly sorting the elements var element='<p><strike>Mango</strike></p>/n<p><em>Orange</em></p>/n<h1>Apple</h1>/n<p><strong>banana</strong></p>/n<p& ...

Load image in browser for future display in case of server disconnection

Incorporating AngularJS with HTML5 Server-Side Events (SSE) has allowed me to continuously update the data displayed on a webpage. One challenge I've encountered is managing the icon that represents the connection state to the server. My approach inv ...

Items expand and move seamlessly between two columns

My website features a Bootstrap accordion that I have organized into a two-column layout using the following CSS: #accordion { column-count: 2; } .card { margin: 0px 20px 20px 20px; break-inside: avoid-column; -webkit-column-break-inside: avoid; ...