Tuesday, January 25, 2022

Creating a mobile friendly version of Papercut User Web Print

 Papercut has a great and easy to use web interface to printing, however it isn't mobile responsive.  This post will make the papercut web interface mostly mobile responsive and I say mostly because there is some tweaking that can be done to make the web version better then what I have below.  This will give you a good start.  This is for a specific use case, in this case the organization is only concerned with printing, and does not archive or want the user to have access to the recent print jobs or summary.

Papercut's User Web Print interface is typically like this.


What the CSS changes I have put down below will change the look from that to this.

You will note the larger text , and buttons.  I have done away with the sidebar; making this much more visible on mobile.

Here is the CSS to make papercut user web print mostly web responsive.

The key is adding "@media (pointer:none), (pointer:coarse) {" to the user-refresh.css located typically in the $Drive\Program Files\PaperCut MF\server\webapp-52403\css\user-refresh.css

The following css will give you a good start on making the papercut web client much more accessible to the user.


@media (pointer:none), (pointer:coarse) {

#main{

margin-left:0px !important;

}

#header{

height:150px !important;

}

#header-logo{

height: 150px !important;

}

#header-logo img{

height: 150px !important;

}

#container:before{

display:none !important;

width:0px !important;

}

h1{

font-size: 48pt !important;

}

h2{

font-size:42pt !important;

}

.filter{

display: none !important;

}

.web-print-intro #web-print-intro-msg{

font-size: 36pt !important;

}

a.btn{

font-size:36pt !important;

margin-left:auto;

margin-right:auto;

padding:36px;

}

table.results th {

    height: auto;

    text-align: left;

    height: 0;

    padding: 8px 1rem;

    text-transform: uppercase;

    letter-spacing: .05em;

    color: rgba(255, 255, 255, 0.7);

    background: #293e50;

    font-size: 14pt;

    line-height: 1;

    font-weight: normal;

    white-space: nowrap !important;

    margin:0px;

    padding: 0px;

}

table.results th, table.results td{

font-size: 21pt !important;

margin:0px;

padding:0px;

}

input[type=checkbox], input[type=radio]{

background-color: #293e50 !important;

margin:4px;

padding:16px;

}

label{

overflow: hidden;

white-space: nowrap;

text-indent: -15px;

width:400px;


}

.wizard-heading{

font-size: 24pt;

}

.no-web-print-jobs{

font-size:18pt;

}

.wizard{

font-size:14pt;

}

.buttons{

font-size:24pt;

padding:12px;

margin-left:auto;

}

.wizard div.buttons input{

font-size:18pt !important;

padding:16px !important;

}

.form{

font-size:18pt !important;

padding:16px !important;

}

.form input{

font-size:18pt !important;

padding:16px !important;

}

td.fields{

font-size:18pt !important;

padding:16px !important;

}

.dropzone-div{

font-size:18pt !important;

padding:16px !important;

}

#dropzone-table{

font-size:18pt !important;

padding:16px !important;

}

#file-format-details{

font-size:12pt !important;

}

#dropzone-button{

font-size:18pt !important;

padding:16px !important;

}

#upload-from.dz-clickable{

font-size:16pt !important;

padding:16px !important;

}

th.desc{

padding:0px !important;

}

.dz-filename{

font-size:16pt !important;


}

.dz-size{

font-size:16pt !important;

}

.dropzone .dz-preview .dz-details img, .dropzone-previews .dz-preview .dz-details img{

width:200px !important;

height: 200px !important;

}

td{

font-size:16pt !important;

}

.smallText, .help-block {

    font-size: 18pt !important;

    color: #8e959e !important;

    margin: 0 !important;

}

#footer{

position: absolute !important;

}

}


Here are some screenshots with the end result.










Saturday, January 22, 2022

Setting up user print restrictions in papercut

To enable restrictions go to printers -> and select the printer you want to apply restrictions to.  In this case the Toshiba 2515AC


Select the printer then select "Filters & Restrictions"


In the Filters & Restrictions


Enable Restriction Scope, and in this case I want to limit printing to a max of $25 or 50 pages.  There are other options such as spool size (size of the file being printed), duplexing etc.



Once you have setup the rules on the printer, you can then select the user you want to restrict.  In this case Print User


Go to account details and enable the Restricted Checkbox



Once printed if your over one of the limits you will get a warning that the job was denied.





Wednesday, January 05, 2022

Log4J MS Fix with Active Directory and Detection with Lansweeper

Log4J has been in the news for a while, so to patch the windows systems, I updated everyone's version of Java to the latest version.  In accordance with Microsoft's Environmental variable fix, I setup the variable to be deployed with Active Directory (After I verified that no apps would lose functionality).  You can read more about the Environmental variable fix by clicking on this article Microsoft Statement and Mitigations for Log4J.

So to deploy the fix I used Active Directory.  I have a global GP for setting basic permissions and it is enforced with everyone so it makes the most sense to put it there.



So edit the policy go to Computer Configuration -> Preferences -> Windows Settings ->Environment.  


Right click (or under action) New -> Environment Variable

Enter in the following:

NAME = LOG4J_FORMAT_MSG_NO_LOOKUPS

Value=TRUE


Along with the variable, I have also updated Java to the latest version using LANSWEEPER's Software push functions.  I have 70 clients to update, and I deployed this early afternoon, and over half of them were done by the time I left.

I wrote a script in Lansweeper that checks for the environmental variable.  You first have to enable Environmental scanning.  Under Scanning Select Scanned Item Interval



By default Environment is not checked (disabled) as shown below.


You have to enable it for this detection script to work.


With that done this script will check for to see if the Environmental Variable has been added.

/******************************************************************************/

Select Top 1000000 tblassets.AssetID,

  tblassets.AssetName,

  tsysassettypes.AssetTypename,

  tsysassettypes.AssetTypeIcon10 As icon,

  tblassets.IPAddress,

  tblassets.Lastseen,

  tblassets.Lasttried,

  tblEnvironment.Name As Name1,

  tblEnvironment.VariableValue As VariableValue1

From tblassets

  Inner Join tblassetcustom On tblassets.AssetID = tblassetcustom.AssetID

  Inner Join tsysassettypes On tsysassettypes.AssetType = tblassets.Assettype

  Inner Join lansweeperdb.dbo.tblEnvironment On tblassets.AssetID =

      tblEnvironment.AssetID

Where tblEnvironment.Name = 'LOG4J_FORMAT_MSG_NO_LOOKUPS' And

  tblEnvironment.VariableValue = 'true' And tblassetcustom.State = 1

Tuesday, January 04, 2022

How to print from papercut mobile on a desktop / laptop system

This post is a guide how one would setup public style printing for an office, library, school or other print for pay, print for public user service.  The following example would be a how to print; if a generic account were setup for public printing for your network with papercut; specifically when being used with a chromebook or other desktop based browser client.


1 - When connected to the same network as the printer put in the URL for printing. https://print.yourdomain.ca




2 - Enter in the username and password (this would be the generic account for the user wanting to print)



3 - you will be taken to the “Submit a Job” screen





4 - Press the “Submit a job button and select the printer (in this case say printer_2)




Then press "
2. Print Options and Account Selection"


5 - Select you options then and select “Upload Documents”





6 - Select your file (This would be typically in the downloads folder)



7 - Once selected, press “upload and complete”



8 - Once Uploaded the job will sit in the queue, until released by the papercut queue release account.





Papercut queue release account view





How to fix CURL call imporitng an RSS feed on a site blocking CURL calls

There is a 3rd party service provider that my organization uses called bibliocommons.  They have these nice book carousels.  However the car...