Kannski ekki alveg beint Linux tengd grein .. en frekar lausn til þess að fá fólk til að nota frekar PDF skjöl heldur en MS Office skjöl.
Þannig þetta er í anda Linux og frelsi til að nota opin skráarformöt :)

Ef þið farið eftir þessum leiðbeiningum munuð þið geta breytt MS Word, Excel & Powerpoint skjölum í PDF skjöl með aðstoð PDF Export í OpenOffice.


Opnið OpenOffice

Veljið: Tools-Macro-Macro

Organizer-Libraries-New
Gefið því nafnið ms2pdf

Smellið síðan á Modules flipann og veljið ‘ms2pdf’ þar

Smellið á New Module
Gefið því nafnið doc2pdf

Smellið á New Module
Gefið því nafnið xls2pdf

Smellið á New Module
Gefið því nafnið ppt2pdf

Veljið ‘Module1’ undir ‘ms2pdf’ og smellið á Delete takkann

Smellið síðan á Close

Veljið ‘ms2pdf’ úr ‘Macro from’ dálkinum (þið gætuð þurft að tvísmella til að sjá modjúlana sem þið voruð að búa til)

Veljið ‘doc2pdf’ og smellið á Edit takkann.
Strokið út kóðann ef einhver kóði er þarna og setjið eftirfarandi í staðinn:

– klippa –

Sub ConvertWordToPDF( cFile )
cURL = ConvertToURL( cFile )

oDoc = StarDesktop.loadComponentFromURL( cURL, “_blank”, 0, Array(_
MakePropertyValue( “Hidden”, True ),_
) )

cFile = Left( cFile, Len( cFile ) - 4 ) + “.pdf”
cURL = ConvertToURL( cFile )

oDoc.storeToURL( cURL, Array(_
MakePropertyValue( “FilterName”, “writer_pdf_Export” ),_
)

oDoc.close( True )
End Sub


Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function

– klippa –

Smellið síðan á Save takkann og veljið því næst ‘ppt2pdf’ flipann sem er neðst í þessum glugga.
Strokið út kóðann ef einhver kóði er þarna og setjið eftirfarandi í staðinn:


– klippa –

Sub ConvertImpressToPDF( cFile )
cURL = ConvertToURL( cFile )

oDoc = StarDesktop.loadComponentFromURL( cURL, “_blank”, 0, Array(_
MakePropertyValue( “Hidden”, True ),_
) )

cFile = Left( cFile, Len( cFile ) - 4 ) + “.pdf”
cURL = ConvertToURL( cFile )

oDoc.storeToURL( cURL, Array(_
MakePropertyValue( “FilterName”, “impress_pdf_Export” ),_
)

oDoc.close( True )
End Sub


Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function

– klippa –

Smellið síðan á Save takkann og veljið því næst ‘xls2pdf’ flipann sem er neðst í þessum glugga.
Strokið út kóðann ef einhver kóði er þarna og setjið eftirfarandi í staðinn:

– klippa –

Sub ConvertCalcToPDF( cFile )
cURL = ConvertToURL( cFile )

oDoc = StarDesktop.loadComponentFromURL( cURL, “_blank”, 0, Array(_
MakePropertyValue( “Hidden”, True ),_
) )

cFile = Left( cFile, Len( cFile ) - 4 ) + “.pdf”
cURL = ConvertToURL( cFile )

oDoc.storeToURL( cURL, Array(_
MakePropertyValue( “FilterName”, “calc_pdf_Export” ),_
)

oDoc.close( True )
End Sub


Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function

– klippa –

Smellið síðan á Save takkann og lokið glugganum.

Núna megið þið síðan loka OpenOffice

Búið nú til skeljarskriptuna /usr/bin/ms2pdf sem þarf að innihalda:

– klippa –

#!/bin/bash

if [ -z $1 ]
then
echo “Notkun:”
echo “ms2pdf skrá.{doc|xls|ppt}”
else
if [ -a $1 ];
then
if [ -z $(echo $1 |grep .xls$) ];
then
if [ -z $(echo $1|grep .doc$) ];
then
if [ -z $(echo $1|grep .ppt$) ];
then
echo “Skráin verður að hafa doc, xls eða ppt endingu”
else
echo “Bý til skjalið $(echo $1|sed ‘s/.ppt$/.pdf/’) ..”
ooffice -invisible “macro:///ms2pdf.ppt2pdf.ConvertImpressToPDF($(pwd)/$1 )”
fi
else
echo “Bý til skjalið $(echo $1|sed ‘s/.doc$/.pdf/’) ..”
ooffice -invisible “macro:///ms2pdf.doc2pdf.ConvertWordToPDF($(pwd)/$1)”
fi
else
echo “Bý til skjalið $(echo $1|sed ‘s/.xls$/.pdf/’) ..”
ooffice -invisible “macro:///ms2pdf.xls2pdf.ConvertCalcToPDF($(pwd)/$1)”
fi
else
echo “Skráin $1 er ekki til”
fi
fi

– klippa –

chmod 755 /usr/bin/ms2pdf

Núna getið þið þið breytt MS Word/Excel/Powerpoint skjölum beint í PDF skjöl frá skelinni.

Enjoy :)
Addi