mirror of
https://github.com/sajari/docconv.git
synced 2026-10-16 21:21:59 +08:00
Merge branch 'fix-pdfinfo'
This commit is contained in:
@@ -31,20 +31,19 @@ func ConvertDoc(r io.Reader) (string, map[string]string, error) {
|
||||
}
|
||||
|
||||
// Parse meta output
|
||||
info := make(map[string]string)
|
||||
for _, line := range strings.Split(string(metaStr), "\n") {
|
||||
if parts := strings.SplitN(line, "=", 2); len(parts) > 1 {
|
||||
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
}
|
||||
}
|
||||
|
||||
// Convert parsed meta
|
||||
if tmp, ok := info["Last Modified"]; ok {
|
||||
if tmp, ok := meta["Last Modified"]; ok {
|
||||
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
|
||||
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
}
|
||||
if tmp, ok := info["Created"]; ok {
|
||||
if tmp, ok := meta["Created"]; ok {
|
||||
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
|
||||
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
|
||||
@@ -37,17 +37,17 @@ func ConvertDocx(r io.Reader) (string, map[string]string, error) {
|
||||
}
|
||||
defer rc.Close()
|
||||
|
||||
info, err := XMLToMap(rc)
|
||||
meta, err = XMLToMap(rc)
|
||||
if err != nil {
|
||||
return "", nil, fmt.Errorf("error parsing '%v': %v", f.Name, err)
|
||||
}
|
||||
|
||||
if tmp, ok := info["modified"]; ok {
|
||||
if tmp, ok := meta["modified"]; ok {
|
||||
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
|
||||
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
}
|
||||
if tmp, ok := info["created"]; ok {
|
||||
if tmp, ok := meta["created"]; ok {
|
||||
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
|
||||
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
|
||||
@@ -28,23 +28,19 @@ func ConvertPDF(r io.Reader) (string, map[string]string, error) {
|
||||
}
|
||||
|
||||
// Parse meta output
|
||||
info := make(map[string]string)
|
||||
for _, line := range strings.Split(string(metaStr), "\n") {
|
||||
if parts := strings.SplitN(line, ":", 2); len(parts) > 1 {
|
||||
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
}
|
||||
}
|
||||
|
||||
// Convert parsed meta
|
||||
if tmp, ok := info["Author"]; ok {
|
||||
meta["Author"] = tmp
|
||||
}
|
||||
if tmp, ok := info["ModDate"]; ok {
|
||||
// Convert parsed dates into unix timestamps
|
||||
if tmp, ok := meta["ModDate"]; ok {
|
||||
if t, err := time.Parse(time.ANSIC, tmp); err == nil {
|
||||
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
}
|
||||
if tmp, ok := info["CreationDate"]; ok {
|
||||
if tmp, ok := meta["CreationDate"]; ok {
|
||||
if t, err := time.Parse(time.ANSIC, tmp); err == nil {
|
||||
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ func ConvertRTF(r io.Reader) (string, map[string]string, error) {
|
||||
}
|
||||
|
||||
// Step through content looking for meta data and stripping out comments
|
||||
info := make(map[string]string)
|
||||
meta := make(map[string]string)
|
||||
for _, line := range strings.Split(string(tmpOutput), "\n") {
|
||||
if parts := strings.SplitN(line, ":", 2); len(parts) > 1 {
|
||||
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
|
||||
}
|
||||
if len(line) > 4 && line[:4] != "### " {
|
||||
output += line + "\n"
|
||||
@@ -34,16 +34,15 @@ func ConvertRTF(r io.Reader) (string, map[string]string, error) {
|
||||
}
|
||||
|
||||
// Identify meta data
|
||||
meta := make(map[string]string)
|
||||
if tmp, ok := info["AUTHOR"]; ok {
|
||||
if tmp, ok := meta["AUTHOR"]; ok {
|
||||
meta["Author"] = tmp
|
||||
}
|
||||
if tmp, ok := info["### creation date"]; ok {
|
||||
if tmp, ok := meta["### creation date"]; ok {
|
||||
if t, err := time.Parse("02 January 2006 15:04", tmp); err == nil {
|
||||
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
}
|
||||
if tmp, ok := info["### revision date"]; ok {
|
||||
if tmp, ok := meta["### revision date"]; ok {
|
||||
if t, err := time.Parse("02 January 2006 15:04", tmp); err == nil {
|
||||
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user