From 7ed83b6c6666eb8b6b104c211ae7e52907350372 Mon Sep 17 00:00:00 2001 From: craig Date: Sun, 1 Jan 2012 11:40:09 +0000 Subject: Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870 --- .../plugins/scriptplugin/samples/ExtractText.py | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 scribus/plugins/scriptplugin/samples/ExtractText.py (limited to 'scribus/plugins/scriptplugin/samples/ExtractText.py') diff --git a/scribus/plugins/scriptplugin/samples/ExtractText.py b/scribus/plugins/scriptplugin/samples/ExtractText.py new file mode 100644 index 0000000..506174f --- /dev/null +++ b/scribus/plugins/scriptplugin/samples/ExtractText.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" + +(C)2006.03.04 Gregory Pittman + +(C)2008.02.28 Petr Vanek - fileDialog replaces valueDialog + +this version 2008.02.28 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GPL, v2 (GNU General Public License as published by +the Free Software Foundation, version 2 of the License), or any later version. +See the Scribus Copyright page in the Help Browser for further informaton +about GPL, v2. + +SYNOPSIS + +This script takes the current document and extracts all the text from text frames, +and also gets the pathnames to all images. This is then saved to a file named +by the user. + +REQUIREMENTS + +You must run from Scribus and must have a file open. + +USAGE + +Start the script. A file dialog appears for the name of the file +to save to. The above information is saved to the file. + +""" +# Craig Bradney, Scribus Team +# 10/3/08: Added to Scribus 1.3.3.12svn distribution "as was" from Scribus wiki for bug #6826, script is GPLd + +import scribus + + +def exportText(textfile): + page = 1 + pagenum = scribus.pageCount() + T = [] + content = [] + while (page <= pagenum): + scribus.gotoPage(page) + d = scribus.getPageItems() + strpage = str(page) + T.append('Page '+ strpage + '\n\n') + for item in d: + if (item[1] == 4): + contents = scribus.getAllText(item[0]) + if (contents in content): + contents = 'Duplication, perhaps linked-to frame' + T.append(item[0]+': '+ contents + '\n\n') + content.append(contents) + elif (item[1] == 2): + imgname = scribus.getImageFile(item[0]) + T.append(item[0]+': ' + imgname + '\n') + page += 1 + T.append('\n') + output_file = open(textfile,'w') + output_file.writelines(T) + output_file.close() + endmessage = textfile + ' was created' + scribus.messageBox("Finished", endmessage,icon=0,button1=1) + + +if scribus.haveDoc(): + textfile = scribus.fileDialog('Enter name of file to save to', \ + filter='Text Files (*.txt);;All Files (*)') + try: + if textfile == '': + raise Exception + exportText(textfile) + except Exception, e: + print e + +else: + scribus.messageBox('Export Error', 'You need a Document open, and a frame selected.', \ + icon=0, button1=1) -- cgit