Skip to content

marbocub/MariaPrintSystem

Repository files navigation

Maria Print System

This is a print accounting and management system for Windows based on Type-3 printer model. It has been used as the campus-wide print accounting system client at one of the Japanese university since 2018.

Subsystems

  • MariaPrintInf is a printer INF file and PPD files for PostScript virtual printers. There are four types of printers available. See mariaprt.inf for detials.

  • MariaPrintMon is a port monitor that redirects a print data stream to a .ps file and the DEVMODE structure to a .ini file. The basename is automatically generated by random. Here we call the stored directory the virtual spool.

  • MariaPrintTray is a task tray icon / program that monitors newly created files in the virtual spool and launches the manager program for preview it and print it.

  • MariaPrintManager is a preview and print program for a PostScript file. It supports user interface for authenticate a user and accounting by page counts.

  • MariaPrintProcessor is a print processor to allow or deny print based on the document name in a print spool.

  • MariaPrintaSetup is a installer.

  • MariaPrintConfigurator is a helper program for the installer. It configure which printers will manage by the system.

Requirements and Limitations

This program is worked on Windows with .NET 4.5 and later. We have developed on Windows 10 version 1803 64bits environment.

Installer

After the build all projects, you can find a installer named as MariaPrintSetup.msi under the directory MariaPrintSetup. If you have a valid code-signing certificate then you can sign the installer by the command below.

signtool sign /a MariaPrintSetup.msi

Manual installation procedure

The manual installation procedures are below but we recommend using the installer.

Port monitor

After the build DLL files, you can install the port monitor by commands below in the command prompt run as Administrator. Then you can able to select port named MARIAPRINT: in property page of a printer.

net stop spooler
copy mariaprintmon.dll %SystemRoot%\System32\
reg add HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\MariaPrintMon /v Driver /t REG_SZ /d mariaprintmon.dll /f
net start spooler

Relationship between the port monitor and the tasktray program

The virtual spool directory of the port monitor is able to customize and is stored in the registry value. The tasktray program read the registry value same as the port monitor and monitor that directory.

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\MariaPrintMon\Settings" /v "OutputDirectory" /t REG_SZ /d "C:\directoryname" /f

Relationship between the tasktray program and the preview application

The tasktray program kickstart a program saved in the registry value. The argument is a name of file created new in the virtual spool.

reg add "HKLM\SOFTWARE\Marbocub\MariaPrintSystem" /v "PsShell" /t REG_SZ /d "MariaPrintManager.exe" /f

The preview program print postscript file to a printer saved in the registry value.

reg add "HKLM\SOFTWARE\Marbocub\MariaPrintSystem" /v "Printer" /t REG_SZ /d "Your Real Printer" /f

Connecting to accounting database

This system contains only the Windows client and not contains accounting databases and servers. Because we know that different sites or campuses have different functional requirements for the accounting database. As a solution, the system uses Web API to connect to an accounting server. So you can be flexibly implement the accounting server for site requirements by using Web framework and your own accounting database.

If you would like to build a low-cost campus-wide print accounting system at Japanese university, please contact us for helps you.

License

All subsystem except MariaPrintProcessor

Copyright (c) 2018 @marbocub [email protected], All rights reserved.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation, see LICENSE.

Only MariaPrintProcessor subsystem

Copyright (c) 1990-2003 Microsoft Corporation All Rights Reserved.

Modified by @marbocub [email protected], All Rights Reserved.

The MICROSOFT LIMITED PUBLIC LICENSE, see MariaPrintProcessor/license.rtf.

The program Icon

The Icon made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.

About

A print accounting and management system for Windows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published