
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
pptx-prompter
Advanced tools
Prompter for PowerPoint
PPTX-Prompter is a client/server application for showing a prompter view for Microsoft PowerPoint ® presentations (under Windows or macOS), based on embedded, hidden, even numbered, pre-exported slides. It is intended as a replacement (or companion) for the standard slideshow view of PowerPoint and provides two killer features:
Arbitrary Formatting: It allows a reasonable text formatting of the presenter content, including arbitrary graphical elements. Whatever you can put onto a PowerPoint slide can be used as the individual presenter content. You are no longer constrained by the extremely limited text rendering possibilities of the standard slideshow view.
Analog Clock: It provides a nice Analog Clock, showing the done and remaining speaking time. The analog type of the clock is key, as it optically does not stress the speaker as much as a counting digital clock, does not require the speaker to perform any math calculations during his adrenalin spiced performance, and especially allows the speaker to get the current timing status with just a quick glance.
The application, written in TypeScript, consists of a central Node.js-based server component and a HTML5 Single-Page Application (SPA) as the client component. The prompter view can be opened in a fullscreen browser like Google Chrome or in a browser source of OBS Studio. In the latter case, one usually also projects the attendee content (on the beamer display) in realtime onto the left top corner of the prompter view with the help of NDI Tools to get an even better user experience.
The following is a screenshot of a prompter view corresponding to the title attendee slide of a presentation: On the top left is the preview of the current attendee content, below is the current (logical) slide number and the preview of the next attendee content and at the bottom left is an analog clock showing the done and remaining speaker time. On the right is the presenter content.

Here is the corresponding setup overview: On the left is PowerPoint in its editing view, where the odd numbered slides carry the attendee content and the even numbered slides carry the presenter content. On the right top is the PowerPoint slideshow control view (usually visible on the notebook monitor), on the right middle is the PowerPoint attendee view (usually visible on the beamer) and on the right bottom is once again the presenter view (usually projected onto an external monitor, staying in front of the keynote speaker).

Under Windows/macOS install Node.js for the server run-time, and Google Chrome or OBS Studio for the client run-time.
Run the prompter server component:
npx pptx-prompter [...]
Open the prompter client in Google Chrome:
https://127.0.0.1:12345/
Under Windows/macOS install Node.js for the server run-time and Google Chrome or OBS Studio for the client run-time, plus Visual Studio Code with its TypeScript, ESLint and VueJS extensions.
Clone the source code:
git clone https://github.com/rse/pptx-prompter
Install all dependencies:
npm install
Run the development build-process once:
npm start build-dev
Run the development build-process and prompter server component continuously:
npm start dev
Open the prompter client in Google Chrome:
https://127.0.0.1:12345/
The workflow is as following:
Create a PowerPoint presentation with arbitrary attendee content on the non-hidden, odd numbered slides 1, 3, 5, etc. Create your presenter content on the hidden, even numbered slides 2, 4, 6, etc. -- by optionally using the Presenter Canvas background overlay, to know where PPTX-Prompter will insert its sidebar content on the left.
Export the PowerPoint presentation as PNG files SlideN.png (N = 1, 2, ...)
with resolution 1920x1090 pixels through the regular PowerPoint export functionality.
Run PPTX-Prompter side-by-side to PowerPoint to let it create the prompter view.
Use option -d to locate the pre-exported slides and option -u to control the
analog clock.
PPTX-Prompter consists of a server and client component. The server component reads the pre-exported slides of the PowerPoint presentation from a folder and continuously polls PowerPoint for its run-time state (viewing mode and current slide). The client component is served by the server component via HTTP, renders a read-only prompter view, and connects via WebSocket back to the server. On every PowerPoint status change (usually caused by a slideview change, triggered with a keyboard emulating remote control device), the server component pushes new information to the client component via WebSocket which in turn updates the read-only prompter view by loading the corresponding pre-exported slide image files from the server component via HTTP.
Copyright © 2023 Dr. Ralf S. Engelschall
Licensed under GPL 3.0
FAQs
Prompter for PowerPoint
We found that pptx-prompter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.