/usr/share/scribus/samples/ExtractText.py is in scribus-data 1.4.6+dfsg-4build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 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)
|