Отображение содержимого PDF-файла на странице с помощью Coldfusion
У меня есть страница, посвященная стандартным операционным процедурам (СОП). Я хочу, чтобы эта страница отображала СОП на странице с кнопкой загрузки над ней (а для администратора - кнопкой загрузки). По сути, я хочу, чтобы пользователь мог читать СОП, не загружая его. У меня отсортированы кнопки и у меня почти установлен дисплей, но формат выключен.
Администратор может загрузить PDF текущей СОП. Затем этот файл сохраняется и перезаписывает эту последнюю загрузку. Я пытался использовать cffile, но это было нечитаемо, независимо от того, какую кодировку я пытался использовать. В настоящее время я беру файл и извлекаю его как.txt, затем использую cffile, чтобы прочитать его в переменную, которую я затем вывожу на экран. Это вроде работает, но форматирование все неправильно.
Я знаю, что могу использовать cfcontent и просто иметь страницу в формате PDF, но я бы предпочел не связываться с добавлением новой страницы только для администраторов для загрузки новых файлов SOP. (То, как построен сайт, должно быть новой страницей)
<cfpdf
action="extracttext"
source="D:\file_path\SOP.pdf"
overwrite="true"
honourspaces="true"
type="string"
useStructure="true"
destination="D:\file_path\SOP.txt">
<cffile
action="read"
file="D:\file_path\SOP.txt"
variable="dcnSOP">
...
<cfoutput>#dcnSOP#</cfoutput>
В основном я получаю блок неформатированного (как в пробелах и новых параграфах) текста. Это текст, который я хочу, и он находится на той странице, где я хочу. Но это выглядит ужасно. Кажется, что он просто избавляется от любых новых символов строки и просто представляет текст в BLOB-объекте. Есть ли лучший способ сделать это, не используя всю страницу в PDF, используя cfcontent?
1 ответ
Спасибо @Miguel-F и @Ageax за предложения и за то, что они привели меня к вопросу, который я пропустил здесь, когда искал ответ.
<embed src="\file_path\SOP.pdf" width="800px" height="2100px"/>
Это работает с любым браузером, кроме Chrome (наши клиенты не будут использовать мобильные браузеры). Я знаю, что вы можете использовать Google PDF Reader, чтобы обойти это, если кто-то заинтересован в этом, вот пример, приведенный @Script47 здесь:
<embed src="https://drive.google.com/viewerng/
viewer?embedded=true&url=http://example.com/the.pdf" width="500" height="375">