mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-11 09:52:14 +01:00
feat(libreoffice): add exportNotesInMargin form field (#904)
* ExportNotesInMargin allows to export comments in margin https://help.libreoffice.org/latest/en-US/text/shared/guide/pdf_params.html * Resolve requested changes Move ExportNotesInMargin above LosslessImageCompression Remove overhead ExportNotes=true
This commit is contained in:
@@ -59,6 +59,10 @@ type Options struct {
|
||||
// Optional
|
||||
SinglePageSheets bool
|
||||
|
||||
// ExportNotesInMargin allows to export comments in margin.
|
||||
// Optional
|
||||
ExportNotesInMargin bool
|
||||
|
||||
// LosslessImageCompression allows turning lossless compression on or off
|
||||
// to tweak image conversion performance.
|
||||
// Optional
|
||||
|
||||
@@ -281,6 +281,10 @@ func (p *libreOfficeProcess) pdf(ctx context.Context, logger *zap.Logger, inputP
|
||||
args = append(args, "--export", "SinglePageSheets=true")
|
||||
}
|
||||
|
||||
if options.ExportNotesInMargin {
|
||||
args = append(args, "--export", "ExportNotesInMargin=true")
|
||||
}
|
||||
|
||||
if options.LosslessImageCompression {
|
||||
args = append(args, "--export", "UseLosslessCompression=true")
|
||||
}
|
||||
|
||||
@@ -451,6 +451,35 @@ func TestLibreOfficeProcess_pdf(t *testing.T) {
|
||||
start: true,
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
scenario: "success ExportNotesInMargin",
|
||||
libreOffice: newLibreOfficeProcess(
|
||||
libreOfficeArguments{
|
||||
binPath: os.Getenv("LIBREOFFICE_BIN_PATH"),
|
||||
unoBinPath: os.Getenv("UNOCONVERTER_BIN_PATH"),
|
||||
startTimeout: 5 * time.Second,
|
||||
},
|
||||
),
|
||||
fs: func() *gotenberg.FileSystem {
|
||||
fs := gotenberg.NewFileSystem()
|
||||
|
||||
err := os.MkdirAll(fs.WorkingDirPath(), 0o755)
|
||||
if err != nil {
|
||||
t.Fatalf(fmt.Sprintf("expected no error but got: %v", err))
|
||||
}
|
||||
|
||||
err = os.WriteFile(fmt.Sprintf("%s/document.txt", fs.WorkingDirPath()), []byte("ExportNotesInMargin"), 0o755)
|
||||
if err != nil {
|
||||
t.Fatalf("expected no error but got: %v", err)
|
||||
}
|
||||
|
||||
return fs
|
||||
}(),
|
||||
options: Options{ExportNotesInMargin: true},
|
||||
cancelledCtx: false,
|
||||
start: true,
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
scenario: "success LosslessImageCompression",
|
||||
libreOffice: newLibreOfficeProcess(
|
||||
|
||||
@@ -30,6 +30,7 @@ func convertRoute(libreOffice libreofficeapi.Uno, engine gotenberg.PdfEngine) ap
|
||||
nativePageRanges string
|
||||
exportFormFields bool
|
||||
singlePageSheets bool
|
||||
exportNotesInMargin bool
|
||||
losslessImageCompression bool
|
||||
reduceImageResolution bool
|
||||
pdfa string
|
||||
@@ -45,6 +46,7 @@ func convertRoute(libreOffice libreofficeapi.Uno, engine gotenberg.PdfEngine) ap
|
||||
String("nativePageRanges", &nativePageRanges, "").
|
||||
Bool("exportFormFields", &exportFormFields, true).
|
||||
Bool("singlePageSheets", &singlePageSheets, false).
|
||||
Bool("exportNotesInMargin", &exportNotesInMargin, false).
|
||||
Bool("losslessImageCompression", &losslessImageCompression, false).
|
||||
Bool("reduceImageResolution", &reduceImageResolution, true).
|
||||
String("pdfa", &pdfa, "").
|
||||
@@ -79,6 +81,7 @@ func convertRoute(libreOffice libreofficeapi.Uno, engine gotenberg.PdfEngine) ap
|
||||
PageRanges: nativePageRanges,
|
||||
ExportFormFields: exportFormFields,
|
||||
SinglePageSheets: singlePageSheets,
|
||||
ExportNotesInMargin: exportNotesInMargin,
|
||||
LosslessImageCompression: losslessImageCompression,
|
||||
ReduceImageResolution: reduceImageResolution,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user