{"id":17002089,"url":"https://github.com/sagiegurari/fax4j","last_synced_at":"2025-08-10T16:38:46.089Z","repository":{"id":30973263,"uuid":"34531477","full_name":"sagiegurari/fax4j","owner":"sagiegurari","description":"Java fax library.","archived":false,"fork":false,"pushed_at":"2023-03-27T03:56:41.000Z","size":2545,"stargazers_count":23,"open_issues_count":17,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-18T13:32:00.942Z","etag":null,"topics":["fax","fax-actions","fax-api","fax-services","fax4j","java","java-fax","java-fax-library"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sagiegurari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-24T17:13:22.000Z","updated_at":"2023-06-07T13:49:22.000Z","dependencies_parsed_at":"2024-10-28T14:03:54.845Z","dependency_job_id":"dfef44e0-0baf-4e95-a4fc-4688eb3ce0b2","html_url":"https://github.com/sagiegurari/fax4j","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagiegurari%2Ffax4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagiegurari%2Ffax4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagiegurari%2Ffax4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagiegurari%2Ffax4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sagiegurari","download_url":"https://codeload.github.com/sagiegurari/fax4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986247,"owners_count":20542981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fax","fax-actions","fax-api","fax-services","fax4j","java","java-fax","java-fax-library"],"created_at":"2024-10-14T04:27:02.399Z","updated_at":"2025-03-22T16:30:38.418Z","avatar_url":"https://github.com/sagiegurari.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fax4j\n\n[![Maven Version](https://img.shields.io/maven-central/v/net.sf.fax4j/fax4j.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.sf.fax4j%22)\n[![CI](https://github.com/sagiegurari/fax4j/workflows/CI/badge.svg?branch=master)](https://github.com/sagiegurari/fax4j/actions)\n[![License](https://img.shields.io/github/license/sagiegurari/fax4j.svg?style=flat)](https://github.com/sagiegurari/fax4j/blob/master/LICENSE.txt)\n\n\u003e Java fax library.\n\n## Introduction\n\nThe [fax4j](http://sagiegurari.github.io/fax4j/) is a Java fax library.\n\u003cbr\u003e\nThis library enables Java applications to invoke fax actions such as submitting fax jobs.\n\u003cbr\u003e\nYou can get the latest version from \u003ca href=\"https://github.com/sagiegurari/fax4j/releases/latest\"\u003ehere\u003c/a\u003e - pick the fax4j-[version number]-full.zip to get the binary distribution with all dependencies and documents.\n\nOr if you are using maven, simply add the following to your pom.xml:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003enet.sf.fax4j\u003c/groupId\u003e\n  \u003cartifactId\u003efax4j\u003c/artifactId\u003e\n  \u003cversion\u003e0.45.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Features\n\nThe fax4j provides a standard and consistent faxing API to enable invoking the different fax actions from Java applications.\u003cbr\u003e\nThe fax4j library enables to integrate with fax services via many different SPI (service provider interface) implementations.\u003cbr\u003e\nCurrently fax4j supports the following implementations:\n\n* Windows native fax API (requires windows fax/tapi component installed)\n* Windows COM fax API (via VBS called from the Java layer, requires windows fax/tapi component installed)\n* Email (via email servers that enable to send fax message based on incoming email messages) including built-in support for many of the leading vendors.\n* HTTP\n* External Processes\n* Linux native fax API (requires linux efax utility)\n* Mac native fax API\n* HylaFax (via gnu-hylafax library)\n\nAnd more...\n\u003cbr\u003e\n\u003cbr\u003e\nIn addition the fax4j library also provides the fax bridge API which is a context specific faxing API.\u003cbr\u003e\nThe fax bridge enables to transform emails servers, web servers and more into an online fax service.\u003cbr\u003e\nThe [x2fax](https://github.com/sagiegurari/x2fax) sub project provides a set of standalone servers and deployable components which enable to provide x2fax services out of the box.\u003cbr\u003e\nThe [x2fax](https://github.com/sagiegurari/x2fax) contains built-in email component to enhance email servers to provide email2fax services and HTTP servers and WARs to convert any Java web server into a web2fax bridge.\n\n## Example Usage\n\n```java\n//get new instance of a fax client (based on internal + external fax4j.properties file data)\nFaxClient faxClient=FaxClientFactory.createFaxClient();\n\n//create a new fax job\nFaxJob faxJob=faxClient.createFaxJob();\n\n//set fax job values\nfaxJob.setFile(new File(\"./my_document.txt\"));\nfaxJob.setPriority(FaxJobPriority.HIGH_PRIORITY);\nfaxJob.setTargetAddress(\"555-555\");\nfaxJob.setTargetName(\"YourName\");\nfaxJob.setSenderEmail(\"myemail@mycompany.com\");\nfaxJob.setSenderName(\"MyName\");\n\n//submit fax job\nfaxClient.submitFaxJob(faxJob);\n\n//print submitted fax job ID (may not be supported by all SPIs)\nSystem.out.println(\"Fax job submitted, ID: \"+faxJob.getID());\n```\n\nYou can see more examples and a tutorial at: [javadocs](https://sagiegurari.github.io/fax4j/apidocs/overview-summary.html#overview_description)\n\n## Building from Sources\n\nThe fax4j library comes with a maven pom.xml which can be used to build the Java layer of the library.\n\u003cbr\u003e\nOn windows, the fax4j.dll will also be built, therefore the path for the msbuild.exe (in the .NET installation) must be set.\n\u003cbr\u003e\nWhile this library supports java 1.5 and up, the build process of this library (not of depended libraries) require java 5/6.\n\u003cbr\u003e\nHowever building this library from source is not required as it provide many extension capabilities via configuration.\n\n### Help Needed\n\nAt this time, I have limited ability to fully test this library and only tests that are running in the [appveyor build](https://ci.appveyor.com/project/sagiegurari/fax4j) are validating the library to ensure it is working properly.\n\nWhile at the past I would run additional local tests, I have no such capability at the moment, so I'll be very happy to get any feedback that the library still works for every new release and on what platform it was tested.\n\n## Road Map\n\nThis project started at 2009 and was hosted originally on sourceforge (This is also the reason why the groupId starts with net.sf).\n\nCurrently this library is in maintenance mode and no future development is currently being planned.\n\nHowever, any PR will be reviewed and merged if it passes all validations.\n\nFor historical forum posts which are not in github please see the original sourceforge project discussion page.\n\n## License\n\nThe fax4j library is distributed under the \"The Apache Software License, Version 2.0\" license which means that it is possible to distribute this library also in commercial closed source products.\n\n## Change Log\n\nSee [Change Log](https://sagiegurari.github.io/fax4j/changes-report.html) for full report.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagiegurari%2Ffax4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsagiegurari%2Ffax4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagiegurari%2Ffax4j/lists"}