I use a JavaScript blob to create an FDF file which opens & fills in a locally stored PDF.
However, the file path to the locally stored PDF contains an accented character (and I am unable to edit the folder name).
This code works when the folder path doesn't contain an accent and if I open the fdf in Notepad, the default encoding is ANSI. But when the folder path contains an accent, the FDF opens to a message stating the PDF cannot be found. Furthermore, the default encoding in Notepad has changed to UTF-8.
FDF_Text = ''
+ '%FDF-1.2' + "\n"
+ '1 0 obj<</FDF<</F(T:/Échange/MY_PDF.pdf)/Fields 2 0 R>>>>' + "\n"
+ 'endobj' + "\n"
+ '2 0 obj[' + "\n"
+ '<</T(FIELD_NAME)/V(SOME_TEXT)>>' + "\n"
+ ']' + "\n"
+ 'endobj' + "\n"
+ 'trailer' + "\n"
+ '<</Root 1 0 R>>' + "\n"
+ '%%EO'
var blobObject = new Blob([FDF_Text], {type: 'text/css;charset=ANSI'});
window.navigator.msSaveOrOpenBlob(blobObject, 'MY_FDF.fdf');
I have tried
Can anyone suggest a different solution?
You can represent the data as binary, just run through the string and fill a binary array
FDF_Text = '' + '%FDF-1.2' + "\\n" + '1 0 obj<</FDF<</F(T:/Échange/MY_PDF.pdf)/Fields 2 0 R>>>>' + "\\n" + 'endobj' + "\\n" + '2 0 obj[' + "\\n" + '<</T(FIELD_NAME)/V(SOME_TEXT)>>' + "\\n" + ']' + "\\n" + 'endobj' + "\\n" + 'trailer' + "\\n" + '<</Root 1 0 R>>' + "\\n" + '%%EO' var uint8 = new Uint8Array(FDF_Text.length); for (var i = 0; i < uint8.length; i++){ uint8[i] = FDF_Text.charCodeAt(i); } var blobObject = new Blob([uint8], {type: 'text/fdf'}); window.navigator.msSaveOrOpenBlob(blobObject, 'MY_FDF.fdf');
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.