Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: JSP кодировка html файлов

добрый день, коллеги))
Такой вопрос по кодировке:

в веб проекте jsp созданы объекты jsp и html;
проекту, jsp-файлу и html-файлу можно установить кодировку содержимого;
кодировка всех трех объектов utf-8;
но почему-то при запуске проекта в html-файлах русские буквы отображаются кракозябрами

Изменение кодировки html-файлов на cp1251 решает проблему. Почему так происходит? Ведь кодировка всего проекта юникод и в исходниках русские буквы отображаются норм
Ответ: Korcar,
Ты перепутал форум и справочник. Тебе дают варианты для тупых с русской кодировкой, если не осилил utf.
Вопрос: Скачать html файл после обработки на php

Добрый вечер. Такая у меня задача, уже часа 3 пытаюсь сделать((( Есть php файл, который обрабатывает данные и выводит их в виде html. Есть html файл, у которого есть ссылка на этот php файл. Так вот, мне нужно, чтобы по нажатию на эту ссылку не переходило на php файл. А чтобы бы он отработал и то, чтобы он вывел в виде html скачалось на компьютер как .html файл. Буду рад любым подсказкам.
Ответ: _Schokk_, а вы содержимое скачанного файла просматривали? У него только название c расширением .php, а внутри должен быть HTML.

Добавлено через 14 минут
Сообщение от _Schokk_
А чтобы бы он отработал и то, чтобы он вывел в виде html скачалось на компьютер как .html файл.
Если задача скачать файл с расширением именно .html, то обрабатываете файл, присваиваете результат обработки переменной, например, $html, а дальше так
PHP
1
2
3
$filename = 'file.html' // здесь пишете то имя, которое должно быть у скачанного файла
header('Content-Disposition: attachment;filename=' . $filename);
echo $html;
И не забудьте у ссылки убрать атрибут download.
Вопрос: Отобразить HTML файл в форме

Всем привет.
Каким образом можно отобразить HTML файл в форме без использования twebbrowser?
Это нужно для реализации интерфейса программы. Файл находится на локальном диске.
Ответ:
Сообщение от ETUN4
отобразить как в браузере
Сообщение от ETUN4
отобразить HTML файл в форме без использования twebbrowser
воспользуйтесь Tchromium, например
Вопрос: Создать программу, создающую корректный HTML файл, содержащий весь текст из файла

Здравствуйте помогите реализовать задание в delphi!

Имеется два входных файла (txt) – файл с текстом и файл словаря.
Необходимо создать программу, создающую корректный HTML файл, содержащий весь текст из файла с текстом в котором помечены жирным и наклонным шрифтом все слова из файла словаря. HTML файл должен отображаться в любом Internet-браузере корректно, показывая весь текст, с выделением указанных слов.

Заранее спасибо огромное!
Ответ:
Сообщение от ppof
Graphics.dcu
А у тебя в Delphi все в порядке? Все пути указаны верно? Просто это стандартный дельфийский файл
Graphics.pas
Вопрос: Как вставить в текущую html-страницу содержимое другого html-файла?

Как вставить в текущую html-страницу содержимое другого html-файла?

Допустим есть файл index.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head></head>
<body>
<table>
<tr>
<td>
текст 1
</td>
</tr>
<?
/*
сюда нужно вставить всё содержимое файла ins1.html
*/
?>
</table>
</body>
</html>

Файл ins1.html
HTML5
1
2
3
4
5
<tr>
<td>
текст 2
</td>
</tr>

можно конечно прочитать этот файл с помощью функции fread, или аналогичной, потом послать содержимое в функцию print();

А более элегантное решение существует?
Ответ:
Сообщение от Humanoid
Какая штука? Кавычки? Или BOM? В редакторе отключите BOM, что бы он его не вставлял в начале файла.
Да в кавычках что-то типа #&652259 - такая вот запись появляется. При сохранении файла, галочка с пункта ВОМ снята. Как еще можно убрать это ВОМ или как узнать есть он или нет? И вообще я хоть правильно функцию инклуд() расположил? (в прикрепляемом файле там хтмл-код менюшки) вот хотел для начала чтоб этот код подключался.

Добавлено через 10 минут
Сообщение от URAHOV
Да в кавычках что-то типа #&652259 - такая вот запись появляется. При сохранении файла, галочка с пункта ВОМ снята. Как еще можно убрать это ВОМ или как узнать есть он или нет? И вообще я хоть правильно функцию инклуд() расположил? (в прикрепляемом файле там хтмл-код менюшки) вот хотел для начала чтоб этот код подключался.
Поставил инклуд() в первую строку документа, то все стало нормально. Подскажите пожалуйста, как правильно делать, что куда вставлять и для чего и почему, именно так. ) Спасибо.
HTML5
1
2
3
4
5
6
7
8
9
<?
include'menu.php';
?>
<!doctype html>
 
<html>
<head>
<meta charset="utf-8">
<title></title>
Вопрос: Печать HTML файла из ресурсов с использованием движка MSHTML

Пытаюсь отправить на печать html файл, закрепленного как ресурс.
С получением ресурса из памяти проблем нет (FindResource, LoadResource, LockResource).
Проблемы с тем, чтобы отправить текст на печать, то есть выполнить аналог rundll32 mshtml.dll,PrintHTML "%1" только с помощью WinAPI и передачей ресурса.
Некий псевдокод:
C++
1
2
3
4
const std::string html = ...;
HTMLDocument hdoc;
hdoc.IHTMLDocument2_write(html);
hdoc.IHTMLDocument2_execCommand("Print", true, 0);
Внятных примеров на MSDN именно для С++ не нашёл.

Добавлено через 21 час 34 минуты
Возможно, есть вариант сослаться на прикрепленный файл ресурса как на файл? Чтобы заработал такой вариант:
C++
1
ShellExecute(0, NULL, "rundll32.exe", "mshtml.dll,PrintHTML "D:\\tmp\\1.html"", NULL, SW_NORMAL);
Например так: res:\\app.exe\RES\1.html
В идеале, конечно, используя идентификатор из файла ресурсов.
C++
1
RHContrat HTML "RES/1.html"
Ответ: Подвожу итог:
1) res протокол поддерживается движком WebBrowser, но при передачи команды через ShellExecute, интерпретируется как файл. Для него, кстати, не подойдут числовые идентификаторы в файле ресурсов(.rc), нужны строчные.
2) HTMLDocument, IHTMLDocument2 и прочие прелести WinAPI хорошо работают на шарпах, а вот с С++ всё плохо. Можно сделать import <mshtml.tbl> и двигаться в этом направлении, но я не захотел
3) для решения проблемы решил использовать временный файл. Вариант решения ниже.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const std::string html = ...; // берём из ресурсов
if (html.empty())
    return;
 
char tempPath[MAX_PATH], filePath[MAX_PATH];
GetTempPath(MAX_PATH, tempPath);
GetTempFileName(tempPath, "htm", 0, filePath);
HANDLE handle = CreateFile(filePath, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
if (handle)
{
    DWORD dwBytesWritten;
    WriteFile(handle, html.c_str(), html.length(), &dwBytesWritten, 0);
    CloseHandle(handle);
 
    // меняем значение реестра (IE хранит настройки для колонтитулов в нём)
    // ...
 
    // отправляем файл на печать
    const std::string printCmd = std::string("mshtml.dll,PrintHTML \"") + filePath + "\"";
    ShellExecute(0, NULL, "rundll32.exe", printCmd.c_str(), NULL, SW_NORMAL);
}
Вопрос: Открыть html файл, который находится внутри проекта

Есть метод, который открывает html файл. Реализован следующим образом:
Java
1
2
3
4
5
6
    @FXML
    public void showHelp() throws IOException {
        String url = "C:/Users/Artmal/git/CourseWork/src/main/resources/userManual/about.html";
        File htmlFile = new File(url);
        Desktop.getDesktop().browse(htmlFile.toURI());
    }
Файл about.html лежит в самом проекте, но мне пришлось обращаться к нему через полный путь. Можно как-то сделать так, чтобы файл брался из classpath?

Пробовал по разному, в частности:
Java
1
2
3
4
5
6
    @FXML
    public void showHelp() throws IOException {
        URL url = getClass().getClassLoader().getResource("/about.html");
        File htmlFile = new File(url.toString());
        Desktop.getDesktop().browse(htmlFile.toURI());
    }
Но выкидывает NP во второй строке(там, где объект File создаем).
Ответ: Полный стек трейс покажи когда возникает ошибка
Поставь брейкпоинт и посмотри в дебаге где оно кидается

Добавлено через 9 часов 11 минут
А еще доставай из ресурсов класса:
Java
1
Example.class.getResource("/test.txt")
Что соответствует файлу test.txt лежащему прямо в resources.

Такое впечатление, что у тебя как-то название файла в методе открытия дважды склеилось.
Вопрос: Tomcat Embedded - html-файлы

Собрал приложение со встроенным tomcat'ом в виде .jar-файла

Разобрался как его конфигурировать (через код) и запускать Resteasy-сервисы.

Но не могу разобраться как предоставить доступ к .html-файлам для default servlet'а, которые расположены внутри JAR'а

Когда конфигурирую ресурсы, томкат начинает искать их в файловой системе, а не в самом архиве.
Ответ: Андрей Панфилов,

Спасибо. Действительно, о дыре не подумал.

И обработку бинарных файлов надо тоже сделать.
Вопрос: Как конвертировать HTML файл в PDF?

Такая проблема. Создаю HTML файл, сохраняю. Нужно его преобразовать в PDF, iTextSharp.dll подключил, а что дальше делать так и не понял)) кучу сайтов облазил решения не нашёл... хотя мне кажется такое решение должно быть, задача вроде не уникальная.
html делаю так
C#
1
2
3
4
5
6
7
8
9
10
private void Createl_button_Click(object sender, EventArgs e)
        {
            string AppPatch = Application.StartupPath;
            string HTMLName = "index.html";
            string HTMLPatch = AppPatch + "\" + HTMLName;
            string HTMLBody = Properties.Resources.WBP;
            StreamWriter streamwriter = new StreamWriter(HTMLPatch);
            streamwriter.WriteLine(HTMLBody);
            streamwriter.Close();
        }
Подскажите пожалуйста что дальше делать, а то сил уже нету моих))

Добавлено через 37 минут
Забыл добавить. В HTML файле при создании (в моём коде эту часть не показал) буду заменять специально расставленные слова (типа "Value01") на значение переменных. HTML выбрал из-за возможности простого создания сложных документов и собственно простоты замены определённых значений на свои.
Ответ: Всем спасибо! Разобрался))
Всё оказалось просто
Добавил в проект через диспетчер пакетов NuGet пакет Select.HtmlToPDF и дело пошло))
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using SelectPdf;
private void CreateWBP_Fail_button_Click(object sender, EventArgs e)
        {
            string AppPatch = Application.StartupPath;
            string HTMLName = "index.html";
            string HTMLPatch = AppPatch + "" + HTMLName;
            string Desktop_Path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); // путь к рабочему столу 
            string PDFName = "Result.PDF";
            string PDFPatch = Desktop_Path + "" + PDFName;
            string HTMLBody = Properties.Resources.WBP; \\ сам текст html храню в ресурсах, оттуда и пользую
            HTMLBody = HTMLBody.Replace("Value01", "123"); \\ подставляю свои значения в файл
            //Write text to file
            StreamWriter streamwriter = new StreamWriter(HTMLPatch);
            streamwriter.WriteLine(HTMLBody);
            streamwriter.Close();
            //end write text
            // instantiate the html to pdf converter
            HtmlToPdf converter = new HtmlToPdf();
            // convert the url to pdf
            PdfDocument doc = converter.ConvertUrl(HTMLPatch);
            // save pdf document
            doc.Save(PDFPatch);
            // close pdf document
            doc.Close();
        }
Вдруг кому пригодится
P.S. почемуто код отображается не правильно должно быть HTMLPatch = AppPatch + "\" + HTMLName; и string PDFPatch = Desktop_Path + "\" + PDFName; экранирование символа почему то удаляется
Вопрос: Использование html файлов, как удалить строчку, когда известно только, внутренее значение

Как мне удалить кодом из html файла эту строчку, когда только известно string "Тёмная"?
Ответ: Terminator1998, да как простую строку(она ей и является) .Replace("Тёмная", string.Empty);
Или в файле есть что-то типа:
HTML5
1
<div class="Тёмная" >Материя</div>
Или же нужно удалить, где кроме Тёмная, не чего нет? т.е. <p>Темная материя</p> уже не трогать?

Добавлено через 10 минут
Не так понял вопрос
В общем, если читать построчно, то можно попробовать регуляркой, используя такой паттерн : [^]*(Тёмная)[^\u00A9]*

Добавлено через 1 минуту
Даже .*(Тёмная).*