docpdf 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a534da9974aa240254b1ae28fefb29de094cfff9209ca162259b62c63eb517a5
4
- data.tar.gz: 3ab77722e521e913cb5dc574ebbc7af2a0436abaf5040c6399e10f2d51311367
3
+ metadata.gz: 84b98c1295a358e5265450a68e903f8fde4261d567455f793990e48e72f05200
4
+ data.tar.gz: 81bfb8951b95cd8e712f63515982c71aff1f71ba8cdd5d8b421cebfce1e63f1d
5
5
  SHA512:
6
- metadata.gz: 4c3552cec9c8a2b92f730ec784a3f0117f4eb0a1f6190b4b38c1dfe0bc1e3c7a7a6f7234b57c1d1e59f4d095f52cff99249a586b7402aaccb278240e7da3fb58
7
- data.tar.gz: cd32abba539b7dea911026697fb62ca3ff56c936306a2850058a926dda7bbaab9bfc54d7f5a2b4732493428a2342a0b8f8a3233f2951b1340c3c7aa19a114c50
6
+ metadata.gz: 8c1f3740c481beca744bfa6b5a89f86a5cfd0a12e2564aed620a0f4363cb1a24d0290cff098ac159fac3c3cbfdece477d72b08326205f4523f4f91e4b203bd07
7
+ data.tar.gz: 750c9898cbac6f2696715e5f256c8cd218656ae5cb4a2666ce0f287090700d0a576beacd01c3aebbf4848526cd385d685d85e9715cd2b3eaf5d82f6b9fcd0884
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.2] - 2026-04-04
4
+
5
+ ### Fixed
6
+ - Concurrent LibreOffice conversions no longer conflict. Each conversion uses an isolated user profile directory via `-env:UserInstallation`, preventing lock file collisions under load.
7
+
8
+ ## [0.1.1] - 2026-04-03
9
+
10
+ ### Fixed
11
+ - Fallback converter not detecting image extensions when using `data:` input with a `filename:` hint
12
+
3
13
  ## [0.1.0] - 2026-04-03
4
14
 
5
15
  Initial release.
data/README.md CHANGED
@@ -1,7 +1,18 @@
1
- # DocPDF
1
+ <picture>
2
+ <source media="(prefers-color-scheme: dark)" srcset=".github/logo-dark.svg">
3
+ <img src=".github/logo-light.svg" alt="DocPDF" width="200" align="left">
4
+ </picture>
5
+
6
+ <br/>
7
+ <br/>
2
8
 
3
9
  Convert documents from any common format to PDF, with optional watermarking. Zero hard dependencies; bring your own PDF library.
4
10
 
11
+ [![CI](https://github.com/velocity-labs/docpdf/actions/workflows/ci.yml/badge.svg)](https://github.com/velocity-labs/docpdf/actions/workflows/ci.yml)
12
+ [![Gem Version](https://badge.fury.io/rb/docpdf.svg)](https://rubygems.org/gems/docpdf)
13
+
14
+ <br clear="left">
15
+
5
16
  ## Supported Formats
6
17
 
7
18
  | Input Format | Conversion Tool | Ruby Gem Required |
@@ -30,8 +30,11 @@ module DocPDF
30
30
  tempfile.rewind
31
31
 
32
32
  soffice = DocPDF.configuration.soffice_path
33
+ profile_dir = File.join(output_dir, "profile")
33
34
  stderr_path = File.join(output_dir, "stderr.log")
34
- success = system(soffice, "--headless", "--convert-to", "pdf",
35
+ success = system(soffice, "--headless",
36
+ "-env:UserInstallation=file://#{profile_dir}",
37
+ "--convert-to", "pdf",
35
38
  "--outdir", output_dir, tempfile.path,
36
39
  out: File::NULL, err: stderr_path)
37
40
 
@@ -11,7 +11,7 @@ module DocPDF
11
11
  end
12
12
 
13
13
  def call
14
- data = ConverterResolver.resolve(@input.mime_type).convert(@input.data, @input.source_filename)
14
+ data = ConverterResolver.resolve(@input.mime_type).convert(@input.data, @input.source_filename || @input.filename)
15
15
  filename = build_filename(@input.filename)
16
16
  Result.new(data: data, filename: filename)
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module DocPDF
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docpdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Velocity Labs, LLC