scanner/backend/services/file_converter.go
2025-04-24 20:44:45 +02:00

38 lines
748 B
Go

package services
import (
"os"
"path/filepath"
"time"
"github.com/pdfcpu/pdfcpu/pkg/api"
)
type FileConverter struct {
}
func NewFileConverter() *FileConverter {
return &FileConverter{}
}
func (c *FileConverter) MergeFiles(filenames []string) (string, error) {
timestamp := time.Now().Format("20060102-150405")
mergedFilename := "merged-" + timestamp + ".pdf"
mergedFile := "/home/backend/var/documents/" + mergedFilename
outputDir := filepath.Dir(mergedFile)
if err := os.MkdirAll(outputDir, 0755); err != nil {
return "", err
}
_ = os.Remove(mergedFile)
config := api.LoadConfiguration()
if err := api.MergeCreateFile(filenames, mergedFile, false, config); err != nil {
return "", err
}
return mergedFilename, nil
}