Index: scribus/tabpdfoptions.h
===================================================================
--- scribus/tabpdfoptions.h	(Revision 17372)
+++ scribus/tabpdfoptions.h	(Arbeitskopie)
@@ -124,6 +124,7 @@
 public slots:
 	void doDocBleeds();
 	void ToggleEncr();
+	void ToggleMarks();
 	void EnablePDFX(int a);
 	void DoDownsample();
 	void RemoveEmbed();
@@ -216,6 +217,7 @@
 	QGridLayout* EffectsLayout;
 	QPushButton* EmbedFonts;
 	QListWidget* EmbedList;
+	QCheckBox* enableMarks;
 	QPushButton* EonAllPg;
 	QPushButton* FromEmbed;
 	QPushButton* FromOutline;
Index: scribus/pdflib_core.cpp
===================================================================
--- scribus/pdflib_core.cpp	(Revision 17372)
+++ scribus/pdflib_core.cpp	(Arbeitskopie)
@@ -2285,15 +2285,28 @@
 {
 	uint PgNr =  ActPageP->pageNr();
 	double markOffs = 0.0;
-	if ((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks))
+	if (Options.enableMarks &&
+		((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks)))
 		markOffs = 20.0 + Options.markOffset;
 	double bleedRight, bleedLeft;
-	getBleeds(ActPageP, bleedLeft, bleedRight);
+	double maxBoxY = ActPageP->height();
+    if (Options.enableMarks)
+	{
+		getBleeds(ActPageP, bleedLeft, bleedRight);
+		maxBoxY += Options.bleeds.Bottom+Options.bleeds.Top+markOffs*2.0;
+	}
+	else
+	{
+		double bleedTop, bleedBottom;
+		getBleeds(ActPageP, bleedLeft, bleedRight, bleedTop, bleedBottom);
+        maxBoxY += bleedTop+bleedBottom;
+	}
 	double maxBoxX = ActPageP->width()+bleedLeft+bleedRight+markOffs*2.0;
-	double maxBoxY = ActPageP->height()+Options.bleeds.Bottom+Options.bleeds.Top+markOffs*2.0;
+	
 	// (JG) Fix #5977 and #6075 (invalid restore)
 	//PutPage("Q\n");
-	if ((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks))
+	if (Options.enableMarks &&
+		((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks)))
 	{
 		PutPage("0.5 w 0 j 0 J [] 0 d\n");
 		PutPage("/"+spotMapReg["Register"].ResName+" CS 1 SCN\n");
@@ -2504,9 +2517,20 @@
 	PutDoc("/MediaBox [0 0 "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+"]\n");
 	PutDoc("/BleedBox ["+FToStr(markOffs)+" "+FToStr(markOffs)+" "+FToStr(maxBoxX-markOffs)+" "+FToStr(maxBoxY-markOffs)+"]\n");
 	PutDoc("/CropBox [0 0 "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+"]\n");
-	PutDoc("/TrimBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(Options.bleeds.Bottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-Options.bleeds.Top-markOffs)+"]\n");
-	if (Options.Version >= PDFOptions::PDFVersion_13) // PDF/X forbids having both art and trim box!
-		PutDoc("/ArtBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(Options.bleeds.Bottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-Options.bleeds.Top-markOffs)+"]\n");
+    if (Options.enableMarks)
+	{
+		PutDoc("/TrimBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(Options.bleeds.Bottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-Options.bleeds.Top-markOffs)+"]\n");
+		if (Options.Version >= PDFOptions::PDFVersion_13) // PDF/X forbids having both art and trim box!
+			PutDoc("/ArtBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(Options.bleeds.Bottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-Options.bleeds.Top-markOffs)+"]\n");
+    }
+    else
+	{
+		double bleedTop, bleedBottom;
+		getBleeds(ActPageP, bleedLeft, bleedRight, bleedTop, bleedBottom);
+		PutDoc("/TrimBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(bleedBottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-bleedTop-markOffs)+"]\n");
+		if (Options.Version >= PDFOptions::PDFVersion_13) // PDF/X forbids having both art and trim box!
+			PutDoc("/ArtBox ["+FToStr(bleedLeft+markOffs)+" "+FToStr(bleedBottom+markOffs)+" "+FToStr(maxBoxX-bleedRight-markOffs)+" "+FToStr(maxBoxY-bleedTop-markOffs)+"]\n");
+    }
 	PutDoc("/Rotate "+QString::number(Options.RotateDeg)+"\n");
 	PutDoc("/Contents "+QString::number(Seite.ObjNum)+" 0 R\n");
 	if (Options.Version >= PDFOptions::PDFVersion_14) // && (Transpar.count() != 0))
@@ -2718,7 +2742,8 @@
 	bleedDisplacementX = 0.0;
 	bleedDisplacementY = 0.0;
 	PutPage("q\n"); // Save
-	if ((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks))
+	if (Options.enableMarks &&
+		((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks)))
 		markOffs = 20.0 + Options.markOffset;
 	// #8773 - incorrect page position if MPageNam.isEmpty()
 	/*if (!pag->MPageNam.isEmpty())
@@ -2729,7 +2754,8 @@
 		bleedDisplacementY = Options.bleeds.Bottom+markOffs;
 	/*}*/
 	//#9385 : clip to BleedBox
-	if ((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks))
+	if (Options.enableMarks &&
+		((Options.cropMarks) || (Options.bleedMarks) || (Options.registrationMarks) || (Options.colorMarks) || (Options.docInfoMarks)))
 	{
 		double bbWidth  = ActPageP->width()  + bleedLeft + bleedRight;
 		double bbHeight = ActPageP->height() + bleedBottom + bleedTop;
Index: scribus/tabpdfoptions.cpp
===================================================================
--- scribus/tabpdfoptions.cpp	(Revision 17372)
+++ scribus/tabpdfoptions.cpp	(Arbeitskopie)
@@ -143,6 +143,7 @@
 	EffectsLayout(0),
 	EmbedFonts(0),
 	EmbedList(0),
+	enableMarks(0),
 	EonAllPg(0),
 	FromEmbed(0),
 	FromOutline(0),
@@ -788,6 +789,8 @@
 	tabPDFXLayout = new QVBoxLayout( tabPDFX );
 	tabPDFXLayout->setSpacing( 5 );
 	tabPDFXLayout->setMargin( 10 );
+	enableMarks = new QCheckBox( tr( "Enable marks" ), tabPDFX );
+	tabPDFXLayout->addWidget( enableMarks );
 
 	MarkGroup = new QGroupBox( tabPDFX );
 	MarkGroup->setTitle( tr( "Printer Marks" ) );
@@ -795,6 +798,16 @@
 	MarkGroupLayout->setSpacing( 5 );
 	MarkGroupLayout->setMargin( 10 );
 	MarkGroupLayout->setAlignment( Qt::AlignTop );
+
+	while (enableMarks->isChecked() != MarkGroup->isEnabled()) // DEBUG: this happens on first opening the dialog after program start
+	{
+		enableMarks->toggle();
+		while (enableMarks->isChecked() != MarkGroup->isEnabled())
+		{
+			MarkGroup->setEnabled( false );
+		}
+	}
+
 	cropMarks = new QCheckBox( tr( "Crop Marks" ), MarkGroup );
 	MarkGroupLayout->addWidget( cropMarks, 0, 0 );
 	bleedMarks = new QCheckBox( tr( "Bleed Marks" ), MarkGroup );
@@ -813,6 +826,7 @@
 	markOffset->setSuffix( unit );
 	markOffset->setMinimum(0);
 	markOffset->setMaximum(3000 * unitRatio);
+	// Didn't work instead of enableMarks->toggle(): MarkGroup->setEnabled( false ); // enableMarks is unchecked
 	tabPDFXLayout->addWidget( MarkGroup );
 
 	BleedGroup = new QGroupBox( tabPDFX );
@@ -843,6 +857,8 @@
 	BleedGroupLayout->addWidget( BleedRight, 1, 3 );
 	docBleeds = new QCheckBox( tr( "Use Document Bleeds" ), BleedGroup );
 	BleedGroupLayout->addWidget( docBleeds, 2, 0, 1, 4 );
+    // Didn't work instead of enableMarks->toggle(): BleedGroup->setEnabled( false ); // enableMarks is unchecked
+	BleedGroup->setEnabled( MarkGroup->isEnabled() );
 	tabPDFXLayout->addWidget( BleedGroup );
 
 	X3Group = new QGroupBox( tabPDFX );
@@ -900,6 +916,7 @@
 		connect(EDirection_2_2, SIGNAL(activated(int)), this, SLOT(ValidDI(int)));
 		connect(CheckBox10, SIGNAL(clicked()), this, SLOT(DoEffects()));
 		connect(EonAllPg, SIGNAL(clicked()), this, SLOT(EffectOnAll()));
+		connect(enableMarks, SIGNAL(clicked()), this, SLOT(ToggleMarks()));
 		connect(InfoString, SIGNAL(textChanged(const QString &)), this, SLOT(checkInfo()));
 		connect(InfoString, SIGNAL(editingFinished()), this, SLOT(checkInfo()));
 		connect(docBleeds, SIGNAL(clicked()), this, SLOT(doDocBleeds()));
@@ -1344,6 +1361,7 @@
 		doDocBleeds();
 	}
 	markOffset->setValue(Opts.markOffset*unitRatio);
+	enableMarks->setChecked(Opts.enableMarks);
 	cropMarks->setChecked(Opts.cropMarks);
 	bleedMarks->setChecked(Opts.bleedMarks);
 	registrationMarks->setChecked(Opts.registrationMarks);
@@ -1417,6 +1435,7 @@
 	pdfOptions.UseLPI = UseLPI->isChecked();
 	pdfOptions.UseSpotColors = !useSpot->isChecked();
 	pdfOptions.doMultiFile = false;
+	pdfOptions.enableMarks = enableMarks->isChecked();
 	pdfOptions.cropMarks  = cropMarks->isChecked();
 	pdfOptions.bleedMarks = bleedMarks->isChecked();
 	pdfOptions.registrationMarks = registrationMarks->isChecked();
@@ -1511,6 +1530,7 @@
 	doc->PDF_Options.useLayers = useLayers->isChecked();
 	doc->PDF_Options.UseSpotColors = !useSpot->isChecked();
 	doc->PDF_Options.doMultiFile = false;
+	doc->PDF_Options.enableMarks = enableMarks->isChecked();
 	doc->PDF_Options.cropMarks  = cropMarks->isChecked();
 	doc->PDF_Options.bleedMarks = bleedMarks->isChecked();
 	doc->PDF_Options.registrationMarks = registrationMarks->isChecked();
@@ -1646,6 +1666,14 @@
 	GroupPass->setEnabled(setter);
 }
 
+void TabPDFOptions::ToggleMarks()
+{
+	bool setter = enableMarks->isChecked() ? true : false;
+	MarkGroup->setEnabled(setter);
+	BleedGroup->setEnabled(setter);
+	updateDocumentSettings(doc);
+}
+
 void TabPDFOptions::enableCMS(bool enable)
 {
 	disconnect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
Index: scribus/pdfoptions.h
===================================================================
--- scribus/pdfoptions.h	(Revision 17372)
+++ scribus/pdfoptions.h	(Arbeitskopie)
@@ -145,6 +145,7 @@
 	bool hideToolBar;
 	bool hideMenuBar;
 	bool fitWindow;
+	bool enableMarks;
 	bool cropMarks;
 	bool bleedMarks;
 	bool registrationMarks;
