什么是纯Java HTML查看器和渲染器?要求是:
JComponent放置在Scrollable窗格中的接口.我只知道一些组件和项目,其中一些现在已经不存在了:
JEditorPane,支持HTML 3.2(自Java 1.4起)javax.swing.text.html.HTMLEditorKit)JWebPane (它是否曾被发布)?我希望使用"使用PDFsharp的HTML HTML渲染器"将HTML转换为PDF.我已经看到在几个网站上提到它是可能的.但是,我似乎无法找到任何基本的示例代码来执行此操作.
我添加了以下NuGet包.
Install-Package HtmlRenderer.PdfSharp
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的.任何帮助将不胜感激.
我使用此函数将html文件发送到客户端,但在客户端我什么都没有(空白页)没有错误.我错了什么?,请帮帮忙?
var express = require('express');
var fs = require('fs');
var app = express();
app.set('view engine', 'jade');
app.engine('jade', require('jade').__express);
app.get('/test', function(req, res) {
fs.readFile(__dirname + '/views/test.html', 'utf8', function(err, text){
res.send(text);
});
var port = process.env.PORT || 80;
var server = app.listen(port);
console.log('Express app started on port ' + port);
Run Code Online (Sandbox Code Playgroud)
我的test.html文件
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style something here </style>
<title>Test</title>
<script src="..."></script>
</head>
<body>
<div> Somthing here </div>
<script type="text/javascript">
//something here
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud) 我们正在寻找我们团队的选项来决定基于Angular的客户端MVC方法和服务器端NodeJS/ExpressJS服务器端渲染方法.
我们的Angular应用程序作为一个index.html下载,并使XHR请求填充页面.由于我们需要预呈现页面,因此当内容更改为服务器上的某个位置时,我们使用PhantomJS保存每个页面的副本.这允许支持SEO.
是否存在任何全页主干应用程序或角度应用程序的示例,人们可以指出这些应用程序以便我们查看其他人是否正在这样做.
或者是我们可以在野外看到的NodeJS服务器端呈现应用程序的示例.
最后有没有人对这种架构有意见?
我有一个工作流模型.Internet Explorer不支持模型编辑功能所需的某些功能(普通用户不需要它).
我想要我的模型的只读预览.服务器端是否可以将HTML呈现为图像?
我更希望离线解决方案允许我们的系统在企业局域网中运行而无需访问互联网.
是否有一个现成的程序,我可以从我的Web应用程序运行,将HTML文件转换为图像?最好使用Webkit还是其他成熟的浏览器引擎?
我尝试了wkhtmltoimage,但它没有正确渲染背景(而wkhtmltopd工作正常).有一个有效吗?
用户在文本输入中向我的网站提供正确转义的URL和原始URL; 例如,我认为这两个URL是等价的:
https://www.cool.com/cool%20beans
https://www.cool.com/cool beans
Run Code Online (Sandbox Code Playgroud)
现在,我希望<a>稍后在查看此数据时将这些标记呈现为标记.我被困在编码给定文本和获取这些链接之间:
<a href="https://www.cool.com/cool%2520beans"> <!-- This one is broken! -->
<a href="https://www.cool.com/cool%20beans">
Run Code Online (Sandbox Code Playgroud)
或者不编码并得到这个:
<a href="https://www.cool.com/cool%20beans">
<a href="https://www.cool.com/cool beans"> <!-- This one is broken! -->
Run Code Online (Sandbox Code Playgroud)
从现代浏览器的用户体验角度出发,最好的方法是什么?我在对输入进行解码传递或上面列出的第二个选项(我们不对href属性进行编码)之间徘徊.
问题是Firefox和基于WebKit的浏览器似乎在包含在具有均匀高度/行高度且字体大小不均匀(或反之亦然)的元素中时以不同方式对齐文本.我看过一些类似的帖子,但我还没有真正看到我的问题的任何重要解释.
考虑http://alternativeto.net/test2.htm.这是一个非常简单的页面
.box
{
font-size: 15px;
font-family: Helvetica, Arial;
background-color: Blue;
height: 20px;
width: 60px;
color: White;
line-height: 20px;
}
Run Code Online (Sandbox Code Playgroud)
和
<div class="box">
A text.
</div>
Run Code Online (Sandbox Code Playgroud)
如果您在Chrome和Firefox中打开该页面,您会发现它们以不同的方式对齐文本:http://screencast.com/t/tjgA2d7T
有没有什么办法解决这一问题?是否有任何"文本对齐"属性或我遗漏的东西?
我做了一个仅限css的下拉菜单.要求是有一个水平条形项目,每个项目都可以下拉垂直菜单.此外,这些项目不应该删除三级菜单,而只是显示项目符号列表.我的html有三个嵌套ul,菜单在所有现代浏览器中都运行良好.它看起来像这样:
但是,我不喜欢链接后面较暗的盒子是如何从子弹开始的,并没有延伸整个菜单宽度,所以我玩了一下,最后来到这个调整:
#nav li ul li ul li a {
padding-left:1.8em;
margin-left:-1.8em;
}
Run Code Online (Sandbox Code Playgroud)
现在,项目符号菜单项看起来就像我想要的那样:
由于em相对于字体大小的beeing 的性质,它的工作独立于字体大小,如下所示更大的字体大小:

我在Internet Explorer 8 + 9 + 10(开发者预览版),Firefox 3 + 7,最新的Chrome,Opera和Safari上进行了测试,它就像一个魅力.
但是,我只是不明白为什么正是1.8em才能完成这项工作.为什么每个浏览器到目前为止都缩进了子弹项?我在这个主题上搜索了互联网,但我没有找到任何有用的信息.我可以确定这适用于未来的浏览器吗?这些1.8em是否在HTML标准中指定?
提前感谢任何暗示!
编辑:
对DisgruntledGoat的回答:如果我使用1em/-1em或20px/-20px,它将无效.有了这种风格:
#nav li ul li ul li a {
padding-left:20px;
margin-left:-20px;
}
Run Code Online (Sandbox Code Playgroud)
我得到这个(显然不是缩放字体大小)结果为不同的字体大小:

类似地,1em/-1em也是关闭的,看起来像在上图中的右侧,但缩放与字体大小.由于某种原因,看起来1.8em仍然是神奇的距离......
我用django 1.4运行python2.7.
我在views.py页面中有以下代码,它返回选择列表中的语言名称:
python代码:(views.py)
available_languages = []
for lv in language_versions:
language = LANGUAGES[lv.language_code]
if lv.language_code == user_language_code:
language_label = (lv.language_code, u"%s" % (language.name_native))
else:
language_label = (lv.language_code, u"%s / %s" % (language.name, language.name_native))
available_languages.append(language_label)
....
available_languages = sorted(available_languages, key=lambda x: x[1], cmp=compare)
return available_languages
Run Code Online (Sandbox Code Playgroud)
HTML代码:
{{ field }}
Run Code Online (Sandbox Code Playgroud)
选择清单:
German / Deutsch
Polish / polski
Portuguese (Brasil) / português (Brasil)
Spanish (Latin America) / español (Latinoamérica)
Russian / p??????
Run Code Online (Sandbox Code Playgroud)
问题是当用阿拉伯语等rtl语言查看页面时,选择列表呈现如下,并且ltr文本的括号位于错误的位置:
???????? / Deutsch
????????? / polski
??????????) ???????) / …Run Code Online (Sandbox Code Playgroud)