//------------------------------------------------------------------
//
// convert image in RTF file to JPG using Word and PowerPoint
//
//------------------------------------------------------------------
var paths = { input:"C:/temp", output:"C:/temp" };
var apps = { word: new ActiveXObject("Word.Application"), pp: new ActiveXObject("PowerPoint.Application"), quitAll: function () { this.word.Quit(); this.pp.Quit(); } };
convertFiles();
apps.quitAll();
//---------------------------------
function convertFiles()
{
var i = 0;
var files = getFiles( paths.input, 5 )[1];
for( i = 0; i < files.length; i++ )
{
if( files[i].name.indexOf(".rtf") > -1 )
{
getContentFromWordFile( apps.word, files[i].path );
exportClipBoardInPowerPoint( apps.pp, paths.output + "/" + files[i].name.split(".")[0] + ".jpg" );
}
}
}
//---------------------------------
function exportClipBoardInPowerPoint( app, fileName )
{
var slide = app.Presentations.Add().Slides.Add( 1,12 ); // ppLayoutBlank = 12
slide.Shapes.Paste();
slide.Shapes.Item(1).Export( fileName, 1 );
}
//---------------------------------
function getContentFromWordFile( wordApp, fileName )
{
wordApp.Documents.open( fileName ).InlineShapes.Item(0).Range.CopyAsPicture();
}
//-----------------------------------------------------------------------------------
//-- returns an array: [ array of folder objects, array of file objects ]
//-- n = 0001 (1): no folders
//-- n = 0010 (2): no files
//-- n = 0100 (4): no subfolders
//-----------------------------------------------------------------------------------
function getFiles( startfolder, n )
{
if( !n ) n = 0;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var folders = new Array();
var files = new Array();
if( !fso.FolderExists( startfolder ) )
{
msg("Folder " + startfolder + " not found!");
return [ [],[] ];
}
getNext( startfolder );
return [ folders, files ];
function getNext( fld )
{
var folderObj = fso.getFolder( fld );
var filesEn, foldersEn;
if( (n & 2) == 0 )
{
filesEn = new Enumerator( folderObj.Files );
for (; !filesEn.atEnd(); filesEn.moveNext()) files.push( filesEn.item() );
}
if( (n & 1) == 0 )
{
folders.push( folderObj );
}
if( (n & 4) == 0 )
{
foldersEn = new Enumerator( folderObj.SubFolders );
for (; !foldersEn.atEnd(); foldersEn.moveNext()) getNext( foldersEn.item().path );
}
}
}
//---------------------------
function msg(s) { WScript.Echo(s); }
//---------------------------
//-- additional information :
/*
ppShapeFormatGIF = 0
ppShapeFormatJPG = 1
ppShapeFormatPNG = 2
ppShapeFormatBMP = 3
ppShapeFormatWMF = 4
ppShapeFormatEMF = 5
ppRelativeToSlide = 1
ppClipRelativeToSlide = 2
ppScaleToFit = 3
ppScaleXY = 4
*/
IrfanView - Wasserzeichen / Copyright in Bild einfügen
ana 15.07.2008 - 6613 Hits -
OLE Objekt (Foto zu groß)
MariaFrancis 21.07.2008 - 12 Hits - 1 Antwort
Photoshop – schwarz/ weiß/ bunt in einem Bild (Selektive Kolorierung)
Endless_Online 25.02.2009 - 7807 Hits - 2 Antworten
Wie kann ich den Inhalt eines Feldes vom nächsten Datensatz in den nächsten Datensatz übernehmen und zwar solange, bis ein neuer Inhalt des Datenfeld
Lutz_53 25.11.2008 - 28 Hits - 4 Antworten