如何将FDF转换为CSV?
选项A:
awk -F "[()]" '{ if ($1=="/V ") value[$2];} \
END {printf( "CompanyName\tEmailAddress\t\tCountryOrRegion\n" ); \
for (x in value)printf("%s\t", x);print "" ; \
}' filled_form.fdf > filled_form.CSV
选项B:
grep -oP '(?<=\/T \(txt).*(?=\))' filled_form.fdf |awk '{ORS=(NR%3?",":RS)}1'; \
grep -oP '(?<=\/V \().*(?=\))' filled_form.fdf |awk '{ORS=(NR%3?",":RS)}1';
上述命令的简化版本如下:
paste -sd, <(grep -oP '(?<=\/T \(txt).*(?=\))' filled_form.fdf) <(grep -oP '(?<=\/V \().*(?=\))' filled_form.fdf)
选项C:
awk 'NR%2==0{type[$0]} NR%2{value[$0]} END{for (x in type)printf("%s\t", x);print "" ;for (y in value)printf("%s\t", y);print "" ;}' <(grep -oP '(?<=\/T \(txt|\/V \().*(?=\))' filled_form.fdf)
如何将不友好的CSV文件转换为友好的CSV文件?
选项A:
awk -F: '{ if ($1=="FieldValue") value[$2];} \
END {printf( "CountryOrRegion\tCompanyName\tEmailAddress\n" ); \
for (x in value)printf("%s\t", x) ;print ""; \
}' filled_form.csv > friendly_filled_form.CSV
选项B:
grep -oP '(?<=FieldName: txt).*' filled_form.csv |awk '{ORS=(NR%3?",":RS)}1'; \
grep -oP '(?<=FieldValue: ).*' filled_form.csv |awk '{ORS=(NR%3?",":RS)}1'
*请注意,此命令是一行的。因此,在运行时您需要输入/复制两行。
这个命令的简短版本如下:
paste -sd, <(grep -oP '(?<=FieldName: txt).*' filled_form.csv) <(grep -oP '(?<=FieldValue: ).*' filled_form.csv)
选项C:
awk 'NR%2{type[$0]} NR%2==0{value[$0]} END{for (x in type)printf("%s\t", x);print "" ;for (y in value)printf("%s\t", y);print "" ;}' <(grep -oP '(?<=FieldName: txt|FieldValue: ).*' filled_form.csv)
或者甚至这个:
awk 'NR%2{type[$0]} NR%2==0{value[$0]} END{for (x in type)printf("%s\t", x);print "" ;for (y in value)printf("%s\t", y);print "" ;}' <(awk -F'FieldValue: |FieldName: txt' 'NF>1{print $2}' filled_form.csv)
如何将PDF转换为CSV?
明天我会用pdfgrep完成解决方案,但如果你想自己尝试,这是命令:
pdfgrep 'CompanyName|CountryOrRegion|EmailAddress' filled_form-submit_format_fdf.pdf
它需要在输出格式上进行调整。如果你只想得到完整的单词,请使用
-C 0
选项。祝你好运,希望能帮到你 ;)
filled_form.csv
文件中看到了其他字段,比如FieldType
、FieldFlags
和FieldJustification
;你是如何从 PDF 文件中获取它们的?它们是固定值吗?最后一个问题:filled_form.csv
是你想要的最终结果吗?请编辑问题,并添加更多细节,包括你的输入文件(哪个文件?)和你期望的结果(从输入文件中得到的输出)。谢谢 - αғsнιηpdftk
(感谢@tohuwawohu
)来提取2中的表单字段数据,并生成了文件3和4。但是,我仍然无法将3和4中的表单字段数据作为记录导入到Base中。 - jtd