Comments (1)
You can use "layout" to get the width and height of slide to center an image.
Although I don't know exactly what the numerical unit in the original setting is, at least I found a constant that can calculate its actual length.
code:
function centerImage(imageRect = {x: 0, y: 0, cx: 10, cy: 10}, direction = 'horizontal', layout = 'LAYOUT_16x9'){
let layouts = {
LAYOUT_4x3: { type: 'screen4x3', width: 9144000, height: 6858000 },
LAYOUT_16x9: { type: 'screen16x9', width: 9144000, height: 5143500 },
LAYOUT_16x10: { type: 'screen16x10', width: 9144000, height: 5715000 },
LAYOUT_WIDE: { type: 'custom', width: 12191996, height: 6858000 },
LAYOUT_USER: { type: 'custom', width: 12191996, height: 6858000 },
};
let lengthRatio = 1/1e4/32.24*25.4;
let slideWidth = layouts[layout].width*lengthRatio;
let slideHeight = layouts[layout].height*lengthRatio;
if(['horizontal', 'both'].indexOf(direction) > -1) imageRect.x = (slideWidth - imageRect.cx)/2;
if(['vertical', 'both'].indexOf(direction) > -1) imageRect.y = (slideHeight - imageRect.cy)/2;
return(imageRect);
}
from node-pptx.
Related Issues (20)
- Extract presenter notes?
- Project status HOT 2
- Is it possible to duplicate a slide?
- Is it possible to merge two pptx files? HOT 2
- Is there any way to get Slide from one pptx and add it to the current pptx?
- TypeScript definitions? HOT 4
- Would you accept a PR to allow loading pptx from buffer OR file path? HOT 2
- Is it possible to edit an existing Text Box? HOT 2
- Problems calling the library front next.js HOT 1
- is there any props to make text read only?
- Is it possible to save slides as images using node-pptx?
- Trying to integrate with this from my electron app with vue HOT 1
- Convert to Typescript HOT 3
- Allow passing an image name when adding to Slide
- Removing slide doesn't remove slides from [Content_Types].xml
- Insert Attachment (doc, xlsx... ) to Power point
- Option to apply styles to part of text
- Merging Specific slides from pre-existing powerpoints
- issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-pptx.