/* ==== Functions called directly from menu ==== */ /** Save (action from menu/toolbar) */ function func_save() { if (!save()) { err=error(); warn(err); return false; } return true; } /** Save new revision (action from menu/toolbar) */ function func_saverev() { if (!saveRevision()) { err=error(); warn(err); return false; } else { print(tr("New revision of document created")); return true; } } /** Show/hide certain window (toggle) */ function showHide(win,item) { vis=isVisible(win); setVisible(win,!vis); toggleVisItem(win,item); } /** Save a copy (action from menu/toolbar). Asks for name, then saves under new name */ function func_savecopy() { var name=fileSaveDialog(filename()); if (!name) return false; print(tr("Saving as")+" "+name); return saveCopy(name); } /** Open new file (action from menu/toolbar) */ function func_load() { if (!closeFile(true,true)) return; var name=fileOpenDialog(); try { if (name) { openFile(name); if (document.isLinearized()) { print(tr('Warning: This document is linearized PDF!')); } enc=document.encryption(); if (enc) { warn(tr('Warning: This document is encrypted!')+"\n"+ tr('Encryption filter:')+" "+enc+"\n"+ tr('Encrypted content will show up as garbage and many operations will be impossible')); } } } catch (e) { print(tr("Error occured while loading file")+" "+name); } } /** Save all text from document to single file */ function save_as_text(filename) { pages=document.getPageCount(); qs=""; for (i=1;i<=pages;i++) { pg=document.getPage(i); text=pg.getText(); qs+=text; qs+="\n"; } saveFile(filename,qs); print(tr("Text saved to %1").arg(filename)); } /** Callback when selection mode is changed to draw new arrow */ function func_saveastext() { name=FileDialog.getSaveFileName("*.txt",tr("Save as text file")); if (name==undefined) return; save_as_text(name); } /** close current file and create a new one (action from menu/toolbar) */ function func_new() { closeFile(true); checkMenus(); } /** Create new empty editor window */ function newwindow() { createNewWindow(); } /** Print names of childs of currently selected tree item to console */ function printTreeChilds() { names=firstSelectedItem().getChildNames(); for(var i=0;i "+x); eval(x); } /** Set zoom level to x percent */ function zoom(x) { PageSpace.zoomTo(x); } /** Go to page with number x in document. If parameter is empty, current page is reloaded */ function go(x) { if (x == undefined) { tpage=page(); } else { tpage=document.getPage(x); } csc=tpage.getContentStreamCount(); //flush all content streams for(i=0;i