PDFs won't display in Scribus

Previous topic - Next topic

RandyB

Background:  I collaborate, via Dropbox, with my partner on creating weekly bulletins in Scribus.  We have been successful updating the source file independently and each seeing the others work.  We both had Windows systems, but I recently purchased a MacBook Air.  I installed the same version of Scribus (1.4.6) and Ghostscript 9.07, but the imported pdfs (songs) did not display in my new MacBook. 

So, deleted version 9.07 of Ghostscript and loaded version 9.09 and Voila! I can see the pdfs.  The problem is, my partner now, cannot see them on her end. 

Doe anyone have an idea as to why these imported pdfs are visible on one computer but not on the other?  My first thought is to change the version of Ghostscript on my partners laptop, but I thought I would ask first.

GarryP

I think the best thing to start off with is for you both to have the same version of Ghostscript installed.
The latest version - as of writing - is 9.22:
* Windows/Linux = https://www.ghostscript.com/download/gsdnld.html
* Mac = http://pages.uoregon.edu/koch/

You might not be able to install the latest version on the Mac if it doesn't use Yosemite so you might have to drop a version or two but you should be using the same version.

Note: As far as I know, Ghostscript is only used by Scribus for importing PDFs (along with PS and EPS). It uses something different when it creates PDFs.

Once you have the same versions the problem should, theoretically, go away. If it doesn't then anyone looking further into this will know that version differences shouldn't be a major cause.

RandyB

Thanks Garry,
To reiterate my main problem: it is all about pdfs NOT displaying on the PC once the Mac has done the import. 

The PC is a Windows 7 64 bit machine and the Mac is running macOS High Sierra.

I installed 9.22 on both machines, but that didn't solve the problem.  The net effect is:

1. If I import a pdf into the .sla file we are both working on, while the PC has control, the pdfs display fine on both the PC and the Mac. However,
2. If I import a pdf into the .sla file, while the Mac has control, the pdfs display fine on the Mac but do not display on the PC. 

As a result, I have tried several different versions of Ghostscript on both machines, but to no avail.  Regarding versions, the PC is very clear which version you are running.  In the External Tools in Preferences you can select the actual version folder, but no so on the Mac.  I have no idea which version is running and I don't know how to "clean" my Mac of other versions.  I have downloaded 5 different versions now.

GarryP

When you share the document via DropBox, what exactly are you sharing? If you only share the SLA then you are not sharing the "whole document".

A Scribus SLA does not contain images or imported PDFs, they are only linked to. The original images and PDFs which are "imported" are not contained within the SLA. Scribus only maintains a relative link to the original files. If the original files are not shared then they will not be displayed on another machine.
If you are sharing a document then you need to use the "File -> Collect For Output" function and share the whole folder that is created by that function rather than having your own different folder structures.

You can easily find out which version of Ghostscript Scribus is using by going to "Help -> About Scribus" and looking at the bottom of the dialog, but I think the Ghostscript angle was probably a red herring.

RandyB

Garry,

That is a lot of information - thank you.  I will try to respond logically.  (I haven't known about the function "Collect For Output".  That could be the answer, but it is curious that both of us could see the pdfs I imported into the sla file, until I introduced my Macbook into the equation.)

The Dropbox structure has the sla file, we both write to, at the root and the pdfs I import are in a separate directory.  I primarily am the one who imports the various pdfs (songs) and my partner updates textual information and announcements. I then export the finished product, when she is finished, to pdf and she prints it out from her office for distribution.  We have been doing this successfully for months until I bought the Macbook. 

I just checked the Ghostscript version on my Mac and it is still 9.22 when I thought I had reverted back to an earlier version.  I have tried to drop back to 9.09 when 9.22 did not work out on either my old PC or my partners, but I am not sure how to do this on a Mac.  Any tips would be appreciated.

I will try the "Collect for Output" option. Does this option allow a pdf output?

GarryP

When you use "Collect for Output" Scribus gathers all of the resources it needs to create the document into one place. It creates a new folder, copies the SLA into it and then gets copies of the images (including PDFs) - from wherever they are - and puts them into the same single new folder as the copied SLA. Optionally it will also copy fonts and colour management stuff if you tell it to.

Once you have collected for output the first time - and keep using this folder - you should be able to share the same folder via DropBox. Since all of the resources are in the same folder there should be no problems with linking to resources since they are all in the same place.

The collected for output copy of the document can be used to export to a PDF in exactly the same way as you would do so otherwise. All you are doing is copying the relevant files to a shared folder.

I have a feeling that the problem with introducing a Mac into the workflow is that OS X and Windows have different file path structures. Therefore, when you had two WIndows machines set-up with the same relative folder structures everything was fine. When you moved to Mac the folder structure is different and so Scribus probably can't find the added files. It could be something as simple as a difference between "folder/file" and "folder\file". I don't know how Scribus handles folder structures between different OSes but this seems a reasonable guess. Maybe it's something else entirely though; it's difficult to know without doing some tests.

I don't think it's a good idea to downgrade Ghostscript unless you're having problems running the latest version. I can't give much extra help on this as I've never downgraded it myself, I've only ever upgraded. I don't think the problem you're having is with Ghostscript. I would suggest using the latest version on each machine (as you had earlier) and forgetting about it - for now at least (until it can be proved that that's where the problem is).

a.l.e

garry is right, you won't be able to reliably share documents between mac and windows computers if the users do not collect them for output each time she over with her own work.

RandyB

a.l.e. & Garry,

Thank you for spending the time on this problem.  I have a question about the "Collect" option. 

The collaborative workflow with my partner is we both contribute different artifacts (text, pdf, pngs, etc.) to the source sla file (in Dropbox) from the various folders within our shared Dropbox environment (image attached). We both have access to the same sets of artifacts.  If I do my work on my Mac, bundle everything up with the "Collect" option, will she be able to contribute by adding new artifacts from our other shared dropbox folders.  If so, this will be the answer to my problem.

I think Garry is correct about the path issue between OS X and Windows.  When I add a new pdf in the sla file from my Mac, and I then open the sla file from my Windows machine, the image frame looks empty, but it really isn't.  When I double-click on the frame I get a window that pops up with a frame and a large red X in it with the correct name of the file it is supposed to pull into the frame. Below the frame is the path C:\Volumes\Macintosh HD\Users\rcb\Dropbox\My Private Files\Scribus\TH Song PDFs\100-199 (image attached).  It knows what is supposed to display, but its path is to my Mac.  What's weird is I can see all of the images, not matter who updates the sla file, on my Mac.  It is only a Windows problem. 

The reason I believed the problem to be Ghostscript related, is that I had this exact same behavior between the two Windows machines when I was first setting up the workflow.  I would create the document ready for publishing on my Windows 7 machine, but my partner couldn't see the pdf images on her Windows 10 machine.  The problem was fixed when I loaded the Windows 10 machine with a 64 bit version of gs9.09.  The same behavior occurred when all three machines were loaded with gs9.22, so I think Garry is correct about the file path.  I am not sure how to fix that, but it seems like it should be a simple thing to do.

[attachment deleted by admin]

GarryP

I don't use any file sharing software myself - except GitHub from time to time - so I can't really help with any DropBox-related issues but as long as all of the resources - images, PDFs - are in the same folder as the SLA on each machine then there shouldn't be a problem. Scribus uses a relative path to the resources from the SLA so a "same folder" relation should work anywhere, in theory.

I think the path shown in the Manage Images dialog is the actual path that is calculated by that dialog rather than the path stored in the SLA.

Try opening an SLA in a text editor and doing a search for "PFILE=" (without the quotes). You should find things like PFILE="../../../../media/images/backgrounds/subtle-mosaic-pattern1507.png" which shows you the relative path used. (I've just checked a file saved on my old Mac and it uses the same format as something saved with Windows so maybe my folder/file vs. folder\file idea might not be right in the end. E.g. Windows - PFILE="../../../../../FromMac/images/places/city-walls-164825_640.jpg" , Mac - PFILE="../../../../media/images/logos/sainsburys-logo1_2.jpg" )

RandyB

I will try the search you recommend and see what I find.  I am not sure what to do with the information it returns.

I followed your recommendation regarding Collect to Output and placed the sla file in its own directory.  As I "Get Image" for each pdf, they were copied from their own directories into the same directory as the sla file.  I tested this on all three platforms (the two Windows machines and the Macbook) and everything works.  Both of us can edit the sla file and see all of the pdfs, since they are now local to the sla file.  Until I resolve the referential links, on my Macbook,  to the other folders where the pdfs reside, this will work for us.  Thank you very much.

Given that the 2 Windows machines have no problem with referential links outside of the sla file, I have to believe it is a problem with the path the Mac is expecting to find.  If I can solve that I won't have duplicate files floating around.

But hey, at least I can collaborate with my Macbook now!

GarryP

Don't worry about doing the PFILE search, I only suggested it so that you could get a bit more insight into how Scribus works.

As for the problem with relational links, I wouldn't worry about it if I was you. By the looks of it, it's something that's either in-built into the way Qt works or it's how Scribus uses the Qt APIs, and neither is anything you will be able to do anything about (unless you want to do some coding).

Anyway, I'm glad you have been able to get a solution that works for you.