1
0
Fork 0

[mod] hardcore jars

This commit is contained in:
Andy Bunce 2025-02-15 22:24:18 +00:00
parent ce70157303
commit 47a2aa2901
3 changed files with 20 additions and 10 deletions

View file

@ -1,9 +1,9 @@
{ {
"name": "pdfbox", "name": "pdfbox",
"version": "0.2.1", "version": "0.2.2",
"description": "A BaseX interface to Apache Pdfbox version 3", "description": "A BaseX interface to Apache Pdfbox version 3",
"main": "src/Pdfbox3.xqm", "main": "src/Pdfbox3.xqm",
"homepage": "https://github.com/npm/example#readme", "homepage": "https://github.com/expkg-zone58/pdfbox#readme",
"directories": { "directories": {
"doc": "docs" "doc": "docs"
}, },
@ -22,7 +22,6 @@
"expkg_zone58": { "expkg_zone58": {
"namespace": "org.expkg_zone58.Pdfbox3", "namespace": "org.expkg_zone58.Pdfbox3",
"main-class": "org.apache.pdfbox.pdmodel.PDDocument", "main-class": "org.apache.pdfbox.pdmodel.PDDocument",
"download": "jars/",
"maven": [ "maven": [
"org/apache/pdfbox/pdfbox/3.0.4/pdfbox-3.0.4.jar", "org/apache/pdfbox/pdfbox/3.0.4/pdfbox-3.0.4.jar",
"org/apache/pdfbox/pdfbox-io/3.0.4/pdfbox-io-3.0.4.jar", "org/apache/pdfbox/pdfbox-io/3.0.4/pdfbox-io-3.0.4.jar",

View file

@ -128,7 +128,7 @@ let $src:=$build:PKG?expkg_zone58?maven=>array:flatten()
let $names:= $src!replace(.,"^.*/","") let $names:= $src!replace(.,"^.*/","")
return switch($style) return switch($style)
case "name" return $names case "name" return $names
case "download" return $names!concat($build:PKG?expkg_zone58?download,.) case "download" return $names!concat("jars/",.)
case "content" return $names!concat("content/",.) case "content" return $names!concat("content/",.)
default return $src default return $src
}; };

View file

@ -97,7 +97,7 @@ as xs:base64Binary{
keys are property names, keys are property names,
values are sequences of functions to get property from $pdf object values are sequences of functions to get property from $pdf object
:) :)
declare %private variable $pdfbox:doc-info:=map{ declare %private variable $pdfbox:property-map:=map{
"pages": pdfbox:page-count#1, "pages": pdfbox:page-count#1,
"hasOutline": pdfbox:hasOutline#1, "hasOutline": pdfbox:hasOutline#1,
@ -133,10 +133,16 @@ declare %private variable $pdfbox:doc-info:=map{
pdfbox:gregToISO#1) pdfbox:gregToISO#1)
}; };
(:~ known property names sorted :)
declare function pdfbox:defined-properties()
as xs:string*{
$pdfbox:property-map=>map:keys()=>sort()
};
(:~ return value of $property for $pdf :) (:~ return value of $property for $pdf :)
declare function pdfbox:property($pdf as item(),$property as xs:string) declare function pdfbox:property($pdf as item(),$property as xs:string)
as item()*{ as item()*{
let $fns:= $pdfbox:doc-info($property) let $fns:= $pdfbox:property-map($property)
return if(exists($fns)) return if(exists($fns))
then fold-left($fns, then fold-left($fns,
$pdf, $pdf,
@ -147,16 +153,21 @@ as item()*{
(:~ summary CSV style info for all properties for $pdfpaths :) (:~ summary CSV style info for all properties for $pdfpaths :)
declare function pdfbox:report($pdfpaths as xs:string*) declare function pdfbox:report($pdfpaths as xs:string*)
as map(*){ as map(*){
pdfbox:report($pdfpaths,map:keys($pdfbox:doc-info)) pdfbox:report($pdfpaths,map:keys($pdfbox:property-map))
}; };
(:~ summary CSV style info for named properties for $pdfpaths :) (:~ summary CSV style info for named properties for $pdfpaths :)
declare function pdfbox:report($pdfpaths as xs:string*, $properties as xs:string*) declare function pdfbox:report($pdfpaths as xs:string*, $properties as xs:string*)
as map(*){ as map(*){
map{"names": array{$properties}, map{"names": array{"path",$properties},
"records": for $pdf in $pdfpaths!pdfbox:open-file(.) "records": for $path in $pdfpaths
return array{$properties!pdfbox:property($pdf, .)} let $pdf:=pdfbox:open-file($path)
return fold-left($properties,
array{$path},
function($result as array(*),$prop as xs:string){
array:append($result, string(pdfbox:property($pdf, $prop)))}
)
} }
}; };