Rails

2012-11-15 14 views
5

ile bir powerpoint sunumu oluşturma Bir PowerPoint sunumu programlı olarak oluşturmak ve sonuçta oluşan ppt dosyasını bir web uygulaması aracılığıyla, tercihen Rails, JavaScript veya Ruby kullanarak sunmak zorunda olduğum bir durumdayım. Mümkün mü? Eğer öyleyse, nasıl ve hangi araçlarla?Rails

Bu sorunun üstesinden gelmek için her türlü öneriye açığım. Teşekkürler! Eğer şablon oluşturmak ve değerleri doldurmak Eğer

+1

bir powerpoint dosyası olması gerekiyor mu veya yeterli bir tam ekran tarayıcısı üzerinde çalışan bir HTML sunusu oluşturma ki? – Bergi

+0

Bir powerpoint dosyası olması gerekiyor. – MalSu

+0

Tamam; sunucuların JavaScript'inden mi bahsediyorsunuz? – Bergi

cevap

4

http://tomasvarsavsky.com/2009/04/04/simple-word-document-templating-using-ruby-and-xml/

, bu yaklaşımı göz önünde bulundurun.

Office Açık XML dosya biçimleri

yeni Office dosya formatları (.docx, .xlsx, .pptx dosyaları)

temelde XML dosyalarının sıkıştırılmış koleksiyonu vardır. Word dosyaları (.docx) üzerinde yoğunlaştık, ancak bu yaklaşım diğer dosyalarının herhangi biriyle de çalışır. Biçim için belirtim, birkaç bin sayfada ağırlığındadır. Herhangi bir amaç olmadan sıfırdan bir dosya üretmek, formatın tüm inceliklerini ele alan kütüphanesi bir görev olmaksızın bir görev olacaktır. Bunun yerine, şablonların şablonlarını hazırladık ve işaretleme motorumuza değerlerin ekleneceği yeri belirtmek için işaretleyicilerini yerleştirdik. Veri değerlerini referans alan ve değerlerin ekleneceği yerdeki belgeye alanları olarak ekleyen belge özellikleri oluşturduk. Örneğin, gibi alanlara sahip olabilir: Aksi takdirde, bir girişimde bulunulmuş,

label_tag #{data[:user].name} 
label_tag #{data[:user].address} 
label_tag #{data[:booking].number} 
label_tag #{data[:booking].items.collect{|i| i.name}.join(‘,’)} 
(WIP üç yıl önce yükledi, ben tamamlanması sanmıyoruz, ama oluşturmak için bir yaklaşım yaratmada benfecial olmalıdır slaytlar) PowerPoint slaytları oluşturma. İşte kod

https://github.com/jpoz/rubypoint/blob/master/lib/rubypoint/presentation.rb

def new_slide 
    RubyPoint::Slide.new(self) 
end 
+0

Teşekkür ederim! Bu gece buna bakacağım! – MalSu

+0

Bu mükemmel bir rehber, bir cevap olarak kabul ediyorum, teşekkürler! – MalSu

+0

Bunu kullanarak bir çözüm buldunuz mu? Benzer bir sorunum var – Joelio

4

Bu yakut mücevher örnek bir akım kabul cevapta belirtildiği olandan daha olgun görünüyor olduğunu.

https://github.com/pythonicrubyist/powerpoint http://rubygems.org/gems/powerpoint

require 'powerpoint' 

@deck = Powerpoint::Presentation.new 

# Creating an introduction slide: 
title = 'Bicycle Of the Mind' 
subtitle = 'created by Steve Jobs' 
@deck.add_intro title, subtitle 

# Creating a text-only slide: 
# Title must be a string. 
# Content must be an array of strings that will be displayed as bullet items. 
title = 'Why Mac?' 
content = ['Its cool!', 'Its light.'] 
@deck.add_textual_slide title, content 

# Creating an image Slide: 
# It will contain a title as string. 
# and an embeded image 
title = 'Everyone loves Macs:' 
image_path = 'samples/images/sample_gif.gif' 
@deck.add_pictorial_slide title, image_path 

# Specifying coordinates and image size for an embeded image. 
# x and y values define the position of the image on the slide. 
# cx and cy define the width and height of the image. 
# x, y, cx, cy are in points. Each pixel is 12700 points. 
# coordinates parameter is optional. 
coords = {x: 124200, y: 3356451, cx: 2895600, cy: 1013460} 
@deck.add_pictorial_slide title, image_path, coords 

# Saving the pptx file to the current directory. 
@deck.save('test.pptx')