Git Product home page Git Product logo

asn-qr-code-label-generator's Introduction

QR Code Label Generator for ASNs in Paperless-ngx

About the Project

This project is a web-based QR code label generator specifically designed for generating Archive Serial Number (ASN) labels in Paperless-ngx. It's a simple and efficient tool aimed at streamlining the process of creating QR code labels for document management.

A live version of this application can be accessed at https://tobiasmaier.info/asn-qr-code-label-generator/.

Current Status

This application is currently in an early alpha stage and has not been extensively tested. Users are encouraged to validate the output, especially the positioning of the labels.

Supported label formats

The application currently supports the following label formats:

Limitations

The application currently has the following limitations:

  • The application is currently only available in English. This is considered a non-issue, as the application is designed to be self-explanatory.
  • The application currently only supports the Avery L4731REV-25 label format. Contributions for additional label formats are welcome.
  • The application only supports Google Chrome and Chromium-based browsers, such as Microsoft Edge. And partially Firefox. This limitation is due to the use of the CSS @page rule for printing. Contributions for additional browser support are welcome.

Key Design Decisions

  • Browser-Based Application: The application is designed to run entirely on the client side, avoiding the need for server-side logic. This approach simplifies deployment and reduces hosting requirements.

  • Simple Technology Stack: The application is built using TailwindCSS and AlpineJS. TailwindCSS provides utility-first CSS classes for styling, while AlpineJS offers reactive and declarative JavaScript for handling interactivity. This combination results in a comparatively lightweight and maintainable codebase.

Contributions

Contributions to this project are welcome. If you have ideas for improvements or have found bugs, please feel free to contribute. You can submit your contributions via GitHub at https://github.com/tmaier/asn-qr-code-label-generator.

Acknowledgments

This project has been made possible with the support and sponsorship of BauCloud GmbH.

Special thanks to Marvin Gaube for the insightful blog post "paperless-ngx with qr codes as ASN: My Workflow". His workflow greatly inspired the development of this application.

Additionally, this project drew inspiration from the CLI tool paperless-asn-qr-codes developed by Jan Christian Grünhage. His work follows the same goal of streamlining the process of creating ASN labels for paperless-ng, but uses a different approach.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

All rights reserved by Tobias L. Maier.

asn-qr-code-label-generator's People

Contributors

jdelker avatar logmull avatar tmaier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

asn-qr-code-label-generator's Issues

Feedback / hint if not working

Hey @tmaier,

Thanks a lot for that work. Did use the code to generate asn labels for paperless import. Had some issues though. Had slight offset of approx 1mm fir the first row that cumulated to 2 mm on the last row. Maybe my brother printer?

If someone has similar problems:

Fixed it by changing py of container to 12.5 and adding a py of 0.4 for LI elements.

Also had problems paperless not being able to read the codes even on 600 ppi and

PAPERLESS_CONSUMER_BARCODE_UPSCALE=2 and
PAPERLESS_CONSUMER_BARCODE_DPI=600.

What solved the problem was calling the googleapi with chld=Q|0.

Now scanning with 300 ppi, upscale 1.5 and works like charm.

Again thanks a lot 😉

Rows not properly aligned with L4731 !?

Thanks @tmaier for this surpisingly simple but highly effective method to print ASN labels!
Please don't get offended by the title. I'm quite confident, that you have testet this, but it doesn't work here and I would like to get to the bottom of it ;)

When I startet to print the first labels (on Avery L4731 forms), I encountered a missalignment of the rows.
The first label in a row matched, but each succeeding label lacked a tiny bit, adding up to approx 2-3mm offset on the last label in the row.
The spacing on the vertical rows looked good, though.

At first, I suspected the printer driver (Brother) - and in fact #1 indicates, that there may be issues - but besides some eventually required adjustments of page margins, I could not find any (scaling) problem with the driver.
To rule that component out, I let Chrome print directly to PDF (not via the printer driver!) to be able to verify what is actually generated.
I used the rulers and helper lines of "PDF Xchange Viewer" to exactly measure the placements of the elements in the PDF - and somehwat surprisingly they matched my manual measurements of the printout!

Ok, given that, I now dived into your HTML/CSS code. While I'm certainly no expert in that matter, I tried to follow the formating directions: (Please correct me, if I got something wrong)

  • Each element is 25.4mm wide ( w-[25.4mm])
  • Between each element is a gap of 2.5mm (gap-x-[2.5mm])
  • Calculating the distance from the left edge of the first to the last element would then by 6 * 25.4 + 6 *2.5 = 167.4mm.

All that matches my measurements of the Avery L4731 form! So all good there, obviously.

Now, if I perform the same measurements on the generated PDF, I got this:

  • The distance between the left edge of first and last element is only ~165mm
  • The difference accounts exactly for the offset-skew seen on the printouts.

I would conclude that there is some rendering issue of the page in Chrome!?
I've attached the generated PDF for your reference.
asn_orig-tmaier.pdf

Any thoughts welcome.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.