I regularly work on event invitations that have three versions: one for normal attendees, one for virtual attendees, and another for VIP attendees. My file consists of four pages: one for each type of attendee, and a "thanking our sponsors" page including sponsor logos that will be attached to each invitation type. To export these invitations, as I do every time a new sponsor logo is added, I currently have to export three times: page 1 and 4, 2 and 4, and finally 3 and 4. This got me thinking. Wouldn't it be nice to be able to save each export configuration as an "export profile," and then execute them all at once? I don't recall seeing this feature in any other software, so it may be unique. This would also be handy for people who export files for both print and web, or who need different levels of compression for different applications. Here's how I envisage it working:
Profile Creation Workflow
===================
- User clicks File > Export > Export as PDF
- User chooses export configuration as usual: output path and filename, crop marks, bleed, max image resolution, et cetera. A new text input field would be available to complete: "Profile Name"
- Buttons on the bottom of the export dialog consist of "Export," "Save Export Profile," and "Cancel." User clicks "Save Export Profile."
- User repeats 2 and 3 as necessary.
- When all profiles are specified and saved, the user clicks "Export" and an export is automatically executed for each profile, abiding by the configuration specified in that profile.
- The profiles should automatically be saved as a part of the document.
Profile Management Workflow
=======================
- To manage profiles, a new tab could be added to the export dialog: "Profiles."
- Under this tab, there would be a list of profiles, each with "Edit" and "Delete" buttons.
- When the user clicks "Edit," the relevant profile name should be appended to the the title displayed on titlebar: ( | Profile: Profile Name), the "General" tab should open, and the export dialog should be populated with settings as specified during the creation of the profile.
- After adjusting the settings, the user should click "Save Export Profile." The profile name should then be cleared from the title bar and the "Profile Name" field. If the user clicks "Save Export Profile," a new profile should be created.
Errors and Exceptions
=================
- If the user ignores the "Profile Name" field and exports, the export is carried out as usual.
- If the user ignores the "Profile Name" field and attempts to save a profile, they should receive an error message highlighting the "Profile Name" field.
I think that this would a useful and exciting feature for many. Thanks for your time!
You can do something like this currently with the built-in scripter and the pdfFile object - https://impagina.org/scribus-scripter-api/pdf-export/ (https://impagina.org/scribus-scripter-api/pdf-export/). You can even write a script that does all three exports in one go (see below).
You'd probably need to customize it to fit your use-case - the scripter lets you set lots of pdf export settings by adding more lines of the format pdf.[variablename] = value. I assume the rest of the values are pulled from your defaults set within Preferences -> PDF Export.
I do agree it would be great to have easy access to multiple profiles in the pdf export window.
import os.path
import string
try:
import scribus
except ImportError:
pass
def main():
try:
scribus # pylint: disable=pointless-statement
except NameError:
return
#get base filename and subdirectory so we save to the right folder
fileName = scribus.getDocName()
entry = fileName.rsplit('.sla', 1)[0]
#make pdf file object, set any PDF export settings here
pdf = scribus.PDFfile()
pdf.info = "Invitation"
pdf.version = 14
#example exporting three times with different page ranges
pdf.pages = [1,4]
pdf.file = entry+'Attendees.pdf'
pdf.save()
pdf.pages = [2,4]
pdf.file = entry+'Virtual.pdf'
pdf.save()
pdf.pages = [3,4]
pdf.file = entry+'VIP.pdf'
pdf.save()
return
if __name__ == '__main__':
main()