Getting started with SavaPage: questions and answers

@sander.loones Good to see that you are making progress. However, I am not sure if I fully understand your “dirty solution”. With cover pages we come to the field of advanced configuration and your specific requirements. I propose that we continue our dialogue by e-mail and report final conclusions back into this post. Can you please contact me at support@savapage.org?

Hello @rijkr

I’m trying to map my printer attributes to SAVAPAGE.ppd postscript driver. When I install the HP MFP M775 from one client machine I can see “two sided” option, and Trays from 1 to 5 to pick. When I install the SavaPage print server those options are only availables from the WebApp. I modified the original SAVAPAGE.ppd file and had the “two-sided” option to show up but the print server does not understand when I send the two sided job the printer releases two sheets instead of one. Do you know a solution for this? Thank you in advance.

Hi @eabreu

SAVAPAGE.ppd is meant to create a workstation printer that prints to SavaPage: see SavaPage Printer Installation. The result of any SavaPage print is visible in the User Web App. This makes the printer a “virtual” printer, since the result is not printed on paper, but captured in a PDF document held in SavaPage.

Install HP Linux Printing and Imaging System (HPLIP) on the SavaPage Server:

sudo apt install hplip

This package contains the PPD for HP MFP M775 printer. Use this PPD to create the M775 printer in CUPS on the SavaPage Server. SavaPage will recognize this as Proxy Printer: press the “Synchronize” button in the Proxy Printer List to make it visible.

Printing to paper takes two steps:

  1. Print to SavaPage with the SavaPage printer.
  2. Open User Web App, inspect print preview and select Proxy Printer to print it.

Note: To make all PPD options of the MFP M775 visible in the Printer Settings dialog, you might need to Map PPD to IPP attributes.

Greetings!

I hope someone can help with an issue I ran into while configuring my Savapage server (new instal). So far, the installation and wiki have been very helpful and I got everything installed and savapage runs great. However, I hit a snag in switching it over to use a PostgreSQL DB. I follow all the instructions to the letter (stop services, backup using the savapage-db tool, then import using said tool into the already created postgre DB (“savapagedb”). When I execute the import command, I get “ERROR - ERROR: relation “tbl_config” does not exist Position: 311” I have googled this for a while and nothing related comes up. I’ve triple checked my database connection info in server.properties, I’ve gone back to using internal DB and backing up again, I’ve deleted the “savapagedb” and re-created it, I’ve even removed the “savapage” dedicated PostgreSQL user and re-created it. I’m stuck. Any advice greatly appreciated!

Hi @MattM,
Welcome to SavaPage! Your case probably has a special factor that SavaPage does not expect. I have to investigate. Does savapage-db --db-init execute without errors?

@eabreu Hi Eric, Thanks for reporting. I made a fix that hopefully solves your issue. See details here. The fix is implemented in latest SavaPage 1.2.0-rc snapshot. Please let me know if this indeed solves your problem.

Hi @rijkr. Rendering pdf on the user WebApp works in Ubuntu but not in Centos 7. Centos 7 installs poppler version 0.26.5 which I think does not support the pdftocairo syntax used. This is tail -f output for server.log:

2020-02-14 16:35:00,079  WARN ImageServer:111 - image [/opt/savapage/server/tmp/savapage/eabreu_d3624ac3-7f2e-4a52-a092-965bf0f87fcd.pdf_0_1581716099994_1_node012c4n6sstu8dcrwmeryx6r8b61.png] could not be created. [jetty-threadpool-31]
2020-02-14 16:35:00,085 ERROR OutputProducer:295 - pdftocairo -png -r 24 -f 1 -l 1 -singlefile "/opt/savapage/server/data/internal/safepages/2/5/eabreu/d3624ac3-7f2e-4a52-a092-965bf0f87fcd.pdf" - > "/opt/savapage/server/tmp/savapage/eabreu_d3624ac3-7f2e-4a52-a092-965bf0f87fcd.pdf_0_1581716099991_0_node012c4n6sstu8dcrwmeryx6r8b61.png" [jetty-threadpool-16]
2020-02-14 16:35:00,100 ERROR OutputProducer:296 - Error opening output file fd://0.png [jetty-threadpool-16]

I ran the previous command without the middle hyphen and it converted fine:

pdftocairo -png -r 72 -f 2 -l 2 -singlefile "/opt/savapage/server/data/internal/safepages/2/5/eabreu/d3624ac3-7f2e-4a52-a092-965bf0f87fcd.pdf" > "/opt/savapage/server/tmp/savapage/eabreu_d3624ac3-7f2e-4a52-a092-965bf0f87fcd.pdf_1_1581716106220_1_node012c4n6sstu8dcrwmeryx6r8b61.png"

Regarding the JetDirect/RAW printing it does not work with Microsoft PS Class Driver either. I tried with the Xerox Global Print Driver PS and this time it printed. With the Microsoft PS Class Driver output this message:

@PJL ENTER LANGUAGE=POSTSCRIPT
%!PS-Adobe-3.0
%%Title: MSxpsPS
%%Creator: MSxpsPS
%%CreationDate: Today
%%Pages: (atend)
%%PageOrder: Ascend
%%LanguageLevel: 3
%%DocumentData: Clean7Bit
%%EndComments
%%BeginProlog [SocketServerThread]
2020-02-14 17:21:45,023 ERROR RawPrintServer:228 - IOException: IP Print job from [192.168.122.50] has no [%%Title: ] and/or [%%For: ] (IP Print from ) [SocketServerThread]
java.io.IOException: IP Print job from [192.168.122.50] has no [%%Title: ] and/or [%%For: ]
	at org.savapage.server.raw.RawPrintServer.readAndPrint(RawPrintServer.java:531)
	at org.savapage.server.raw.RawPrintServer.access$000(RawPrintServer.java:78)
	at org.savapage.server.raw.RawPrintServer$SocketServerThread.run(RawPrintServer.java:200)
2020-02-14 17:23:28,002  WARN RawPrintServer:211 - No IP Print data received from [192.168.122.50] within [5000] msec. [SocketServerThread]

Thanks in advance.

@eabreu Hi Eric, “Microsoft PS Class Driver” does not work in JetDirect context because the driver does not pass the requesting user name (%%For: ) in the PostScript header. As you already found out other drivers do. In IPP context the “requesting-user-name” is always present because it is enforced by the IPP standard.

I tested pdftocairo 0.26.5 on centos-release-7-7.1908.0.el7 and to my surprise indeed found that …

$ pdftocairo -png -r 24 -f 1 -l 1 -singlefile "a.pdf" - > "a.png"
Error opening output file fd://0.png

… although the manpage explains that:

If the output-file is “-” , the output file will be written to stdout.

This statement executes okay …

pdftocairo -png -r 24 -f 1 -l 1 -singlefile "a.pdf" "a.png"

… but file a.png.png is created instead of the requested file a.png

I don’t know what to make of this. pdftocairo 0.26.5 behaves very odd compared to other versions that I tested. i.e. 0.41.0 (Ubuntu 16.04) and 0.62.0 (Ubuntu 18.04). Do you have any idea what is wrong?

Hello :slightly_smiling_face:

I’ve recently installed SavaPage on my server, but it seems that the printer somehow doesn’t come to a ready state (it keeps saying “configuration needed” and it doesn’t appear in the user-side menu).

The documentation says that I should configure the media source for this printer, however, when I go into the settings menu, it doesn’t seem like I could add anything there.

Is there something else I need to configure first to make this work? Thanks!

Hello @kaleceres, welcome to SavaPage!

Do you see that at least one (1) Media Source is present? See this section in the User Manual.

If no media sources are present it is probably the PPD used in CUPS that does not provide media source information through the IPP/CUPS interface. This is a known issue and can be solved by making a mapping of the PPD option to the IPP “media-source” attribute.

You can read all about it in PPD Extensions appendix of the User Manual. And take a look at the media-source section.

If you like you can send your PPD to support@savapage.org, so I can have a look and make the mapping for you.

Thanks @kaleceres, I received your PPD file for Xerox Phaser 6000B. Looking at the specs, this is a simple desktop usb color printer with a single multi-purpose input tray, capable of one-sided printing. The tray is implicit and not identified as such in the PPD. When you grep the PPD for "*OpenUI *", you see all possible print options. I picked the *XRDocumentType option to map the IPP media-source. Assuming you use SavaPage to share your printer for just plain paper A4 print jobs, you can create /opt/savapage/server/custom/cups/Xerox_Phaser_6000B.ppde with this content:

*XRDocumentType media-source
*XRDocumentType *Normal main

*Collate sheet-collate
*Collate *True collated
*Collate False uncollated

*XRColorMode print-color-mode
*XRColorMode *Black monochrome 
*XRColorMode Color  color

Select the Xerox_Phaser_6000B.ppde file as “PPD Extension File” in your Edit Proxy Printer dialog and assign A4 media size to Media Source "main".

If you like you can enforce or override PPD defaults with this additional .ppde snippet (see Generic PPD Rules in the User Manual).

*SPExtra/media-source/main: main-print \
   *MediaType/Stationary \
   *XRTurnPage/False \
   *XRSkip/False \
   *XRTonerSaver/False \
   *XRTrapping/False \
   *XREdgeEnhance/False \
   *XRDigitalFilter/Off \
   *XRScreen2/Auto

Please let me know if this works.

@rijkr it works now, thanks so much for your help!

Also, on the side, would you happen to know whether SavaPage supports StartTLS with Microsoft Active Directory (on port 389) or does it only support explicit TLS on port 636?

@kaleceres Good to hear it works! As LDAP StartTLS is concerned: triggered by your question, I’m working on it right now. I will contact you offline hoping we can do some test / development iterations to complete the implementation and share the conclusions here.

Having a docker image available of SavaPage would make it so much easier to quickly try out the application.
I (like many other people probably) don’t want to fully install a program to try it out. But if we can just throw a docker container on a synology or something, that’s much easier to then remove if you end up not liking it.
(Don’t get me wrong. I’m saying this purely because a lot of people think this way. If it installs using a special script, lots of people are hesitant because they think that uninstalling it might be a nightmare and/or leave files behind still)

Hi @thibaultmol, Welcome to SavaPage!

First of all, to reassure you, Removing SavaPage from a GNU/Linux Server is very easy and leaves no traces. If despite that, people still hesitate to install and a Docker image would win them over, then making such an image is definitely worth the investment.

To everyone: please let me know if you don’t want to try SavaPage unless a Docker image is available.

Personally, I have no experience with Dockerizing versatile applications such as SavaPage. So if a Docker expert is willing to help, that would be great.

Hi there
I have just installed Savapage on a server running on the same subnet.
I actually went through all steps till I got to: …s://printer:8632/admin to configure the application. Printer is the hostname.
Whenever I follow this link it just doenst open the page, even if I change the hostname by its IP address the problem persists.
There is noway I’m failing with the IP address because I actually did the whole installation via SSH.
Im I missing anything? Stuck right at the entrance.

Welcome @pedro, glad you participate. SavaPage comes with a self-signed SSL certificate. Could it be that your browser is configured to deny these certificates? What message does your browser give? Can you connect with the non-ssl http://printer:8631/admin URL ?

Hy @rijkr . It simply says Site cant be reached. I have tried other browsers or even by Ip address. Nothing.
I followed the step-by-ste guide.
Version 1.2.0-rc

@pedro Are you sure SavaPage is up and running? You can check with:
systemctl status savapage.service
If SavaPage is active (running), check /opt/savapage/server/logs/server.log for errors. Also have a look at service.log (same directory as server.log). Firewall settings may also get in the way, so Check Firewall Settings.

hi @rijkr, I am having problem to set up mail printer. it showing the error:

failed imap test: trash not found
my mail printer settings are:
host: mail.nassa.com.bd
port: 143

username: printer
Inbox
Trash
max Attachment size 5
Maxmum Attachment 1