gitbrent / PptxGenJS

Create PowerPoint presentations with a powerful, concise JavaScript API.
https://gitbrent.github.io/PptxGenJS/
MIT License
2.97k stars 641 forks source link

Media example not working #37

Closed sangramjagtap closed 7 years ago

sangramjagtap commented 7 years ago

Media exaple with youtube link given at http://gitbrent.github.io/PptxGenJS/ does not work.

MS powerpoint throws error that content of the file is corrupted.

gitbrent commented 7 years ago

Hi @sangramjagtap

Thanks for the question.

Do other functions work correctly? E.g.: Tables and text work okay?

If it's just YouTube, it may be that your locality cant utilize the US-based link and maybe you could try an embed link from your usual YouTube site:

issue37youtube

gitbrent commented 7 years ago

Hi @sangramjagtap

Just following up: Were you able to get YouTube media working?

sangramjagtap commented 7 years ago

Nope. videos available in my region also have same error.

I have one more question.

Height, width and coordinates are in inches. Font is in pt. Where can I get list of all units? Which unit to apply to border, box-shadow, table, image , etc.

Also can't we store everything in px/em/pt format?

gitbrent commented 7 years ago

Hi @sangramjagtap

Thanks for following up. Is it only the YouTube videos that aren't working, or are other objects failing as well?

I tried to stick with PowerPoints units for simplicity, they're shown in the README (see below). MicroSoft can be funny with their standards/APIs... :-)

screen shot 2017-02-20 at 18 17 47

sangramjagtap commented 7 years ago

Thanks buddy. I found issue only with youtube embed. And did not tried other video.

Just one last question.

I have UI which allows users to create PowerPoint presentations online.

But that is plain html. Is there any solution available to directly convert HTML into Pptxgenjs's format?

On 21 Feb 2017 05:53, "Brent Ely" notifications@github.com wrote:

Hi @sangramjagtap https://github.com/sangramjagtap

Thanks for following up. Is it only the YouTube videos that aren't working, or are other objects failing as well?

I tried to stick with PowerPoints units for simplicity, they're shown in the README (see below). MicroSoft can be funny with their standards/APIs... :-)

[image: screen shot 2017-02-20 at 18 17 47] https://cloud.githubusercontent.com/assets/7218970/23146099/706df670-f799-11e6-82a6-2b33bb03e7eb.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gitbrent/PptxGenJS/issues/37#issuecomment-281211737, or mute the thread https://github.com/notifications/unsubscribe-auth/ARCCHDW7-BEl1M02y2nICVnayl-1x5XCks5rei5ygaJpZM4L8D7Q .

gitbrent commented 7 years ago

Hi @sangramjagtap

Sure, take a look at the table-to-slides feature.

sangramjagtap commented 7 years ago

Hey, I need your help. There are options in MS powerpoint: "Send to back", "Bring to front".

How to achieve this in pptxgenjs?

gitbrent commented 7 years ago

Hi @sangramjagtap ,

Objects' "order" is determined by the order they are added to Slides: back -> front.

So, the first shape you add would be on the bottom, the next shape you add would be on top of the first one, and the third shape you add would be on the very top.

sangramjagtap commented 7 years ago

Great. Sounds good.

On export action, Instead of downloading .pptx on browser(client side), Can't I store it on server side? And even on client side how would I get the full path of where the file is downloaded?

gitbrent commented 7 years ago

Hi @sangramjagtap ,

The client-browser implementation can only download to the default directory (or possibly prompt where to save) other than that the sandboxing in browsers prevents much else.

The Node.js implementation can do about anything though. Have you considered using node and/or triggering a node job via the web (you could save to a server location this way).

sangramjagtap commented 7 years ago

Q1. Can we add custom bullets like shown in below image? Q2. Is numbering feature available in framework?

gitbrent commented 7 years ago

Sure, those are great suggestions.

Issue #49 has been opened to track this.

sangramjagtap commented 7 years ago

That's great Brent.

Thank you.

sangramjagtap commented 7 years ago

capture

How to add text like this, which contains bold, italic, underline or all in combination?

gitbrent commented 7 years ago

Hi @sangramjagtap ,

Text objects solve this type of low-level formatting:

var pptx = new PptxGenJS();
var slide = pptx.addNewSlide();

slide.addText(
 [
  { text:'He' },
  { text:'l',  options:{underline:true} },
  { text:'l',  options:{bold:true, underline:true} },
  { text:'o ', options:{bold:true, italic:true, underline:true} },
  { text:'W',  options:{bold:true, italic:true, underline:true} },
  { text:'o',  options:{bold:true, underline:true} },
  { text:'r',  options:{underline:true} },
  { text:'ld' }
 ],
 { x:0.5, y:0.5, w:4.0, h:1.0, margin:0.1, fill:'F1F1F1', align:'c', font_size:48 }
);

pptx.save('PptxGenJS-Sandbox');

screen shot 2017-03-10 at 00 00 25

anjuajithkumar commented 7 years ago

Hi @gitbrent , Table-to-Slides Feature-->Please help to set table's height in each slide..

Issue: Just one line is coming in every slide..while using below code:

pptx.addSlidesForTable('tabAutoPaging_' + i, { //h:4, master: pptx.masters.MASTER_SLIDE, addHeaderToEach: true, addText: { text: cdata[i].Category, opts: { x: 0.37, y: 0.26, color: '00B8FF' } } });

But headers are repeating and one line per slide while trying to set height like this

pptx.addSlidesForTable('tabAutoPaging_' + i, { h:4, master: pptx.masters.MASTER_SLIDE, addHeaderToEach: true, addText: { text: cdata[i].Category, opts: { x: 0.37, y: 0.26, color: '00B8FF' } } });

Thanks

agabale-maersk commented 11 months ago

Hi @sangramjagtap

Sure, take a look at the table-to-slides feature.

Hey there. I am trying to use the same in salesforce's lightning web component framework. It seems it does have some issue with lightning web components. Could you pls share if any code example is available to make it work in salesforce.