小编ide*_*xer的帖子

iText:降低图像质量(减少生成的PDF大小)

减少使用iText新创建的PDF文件中JPEG图像大小的最佳做法是什么?(我的目标是在图像质量和文件大小之间进行权衡.)

图像创建如下:

Image image = new Image(ImageDataFactory.create(imagePath))
Run Code Online (Sandbox Code Playgroud)

我想提供一个比例因子,例如0.5,它将一行中的像素数减半.

假设我使用单个3 MB图像生成PDF.我试过image.scale(0.5f, 0.5f),但生成的PDF文件仍然大约3 MB.我预计它会变小.

因此,我猜想嵌入在PDF文件中的源图像不会被触及.但这就是我需要的:应该减少存储在磁盘上的整个PDF文件中的像素总数.

实现这一目标的最简单/推荐方法是什么?

java pdf pdf-generation itext itext7

7
推荐指数
1
解决办法
2431
查看次数

iText 7:如何在Div中允许溢出?

我有Div一定的身高:

Div div = new Div();
div.setHeight(100);
Run Code Online (Sandbox Code Playgroud)

如果,Div我添加了一个段落,其中有几行占用的区域高于Div,我会收到以下警告:

WARN com.itextpdf.layout.renderer.BlockRenderer - Element content was clipped because some height properties are set.
Run Code Online (Sandbox Code Playgroud)

除此之外,省略了段落的行.即使段落可以溢出Div底部边界,它也会在边界上方结束.

但是尽管有警告我不在乎,我甚至需要段落以隐藏的方式溢出下方的边界Div.

我怎样才能实现这样的行为?

(可以通过设置overflow: hiddenHTML 来实现我所需行为的CSS等效<div>.)

java pdf pdf-generation itext itext7

7
推荐指数
1
解决办法
581
查看次数

Facebook风格状态输入边框

我试图用Firebug解决它,但没有机会.Facebook状态输入边框如何围绕自动调整输入?特别是,我对加入边境的小三角感兴趣.使用Firebug,我设法找到了三角形本身,它以GIF图像的形式提供:

.uiComposerAttachment, .nub {
    background: url(http://static.ak.fbcdn.net/rsrc.php/v1/zf/r/PfBgtiydy5U.gif) no-repeat center top;
    height: 7px;
    width: 11px
    position: absolute;
    left: 2px;
    top: 18px;
}
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚它是如何放置在输入上方以及如何添加边框,以背景图像的形式或定义为CSS边框?

html css facebook input

6
推荐指数
2
解决办法
2674
查看次数

TypeScript:如何处理泛型类型和keyof运算符

我尝试编写一个泛型函数,汇总数据库更新的更新数据.

传递参数:

  • 记录要更新
  • 财产关键
  • 一个新的数组项

即使我使用限制键的类型keyof R,我也不能将具有该键的新对象分配给Partial<R>常量.我收到错误我该Type '{ [x: string]: any[]; }' is not assignable to type 'Partial<R>'.怎么做才能使下面的代码工作?如果我用R非泛型类型替换泛型类型,它可以工作.但这不是我需要的.

TypeScript Playground上的代码段

interface BaseRecord {
    readonly a: ReadonlyArray<string>
}

function getUpdateData<R extends BaseRecord>(record: R, key: keyof R, newItem: string) {
    const updateData: Partial<R> = { [key]: [...record[key], newItem] }
    return updateData
}

interface DerivedRecord extends BaseRecord {
    readonly b: ReadonlyArray<string>
    readonly c: ReadonlyArray<string>
}
const record: DerivedRecord = { a: [], b: [], c: …
Run Code Online (Sandbox Code Playgroud)

generics generic-programming typescript keyof

6
推荐指数
2
解决办法
2823
查看次数

Scala:从stdin读取时扫描左后一项

如果我从处理输入stdinscanLeft,输出结果永远是我最后输入后面一行:

io.Source.stdin
  .getLines
  .scanLeft("START:")((accu, line) => accu + " " + line)
  .foreach(println(_))
Run Code Online (Sandbox Code Playgroud)

结果(我的手动输入前面有>):

> first
START:
> second
START: first
> third
START: first second
Run Code Online (Sandbox Code Playgroud)

我想要的合理输出是:

> first
START: first
> second
START: first second
> third
START: first second third
Run Code Online (Sandbox Code Playgroud)

如您所见,第一个输入行后面的输出应该已经包含第一个输入行的字符串.

我已经尝试过使用它.scanLeft(...).drop(1).foreach(...),但这会导致以下结果:

> first
> second
START: first
> third
START: first second
Run Code Online (Sandbox Code Playgroud)

如何正确省略纯种子以获得所需结果?

[更新]暂时我很满意安德烈泰金的精彩解决方法.非常感谢你的建议.

但是,当然,如果有任何替代方案scanLeft不会将种子作为第一项发送到下一个迭代链中,我将更喜欢该解决方案.

[UPDATE]

用户jwvh理解我的目标并提供了一个很好的解决方案.为了完善他们的建议,我寻求一种预处理线路的方法,然后再将它们发送到累积回调中.因此,readLine不应该在累积回调中调用该命令,而是在我可以预先设置的不同链链接中调用.

iterator scala

6
推荐指数
2
解决办法
359
查看次数

30 Facebook页面上的按钮会使网络浏览器负担过重?

在包含大约30个条目的列表的页面上,每个条目都是Facebook可爱的(每个条目的HTML包含一个Like按钮),并且每个条目是否显示(取决于过滤器设置):

  • 该页面需要几秒钟才能完全加载
  • 由于Like按钮,页面使用了大量内存
  • 即使用户没有进行交互,页面也会使用CPU(每100毫秒或更少,其中一个Like按钮使用Javascript触发事件)
  • 如果我不更改DOM树,只需更改元素可见性,无论如何都会重新加载按钮

在具有1 GHz以上和1 GB内存的PC上,该页面无法使用,因为它太慢(浏览器:Chromium).如何改变这一点,保持Like按钮?

performance facebook button facebook-like

5
推荐指数
2
解决办法
1640
查看次数

流星:单文档订阅

每当我在网络上遇到代码片段时,我都会看到类似的内容

Meteor.subscribe('posts', 'bob-smith');
Run Code Online (Sandbox Code Playgroud)

然后客户端可以显示"bob-smith"的所有帖子.

订阅返回多个文档.

相比之下,我需要的是单文档订阅,以显示文章的正文字段.我想通过(文章)id过滤:

Meteor.subscribe('articles', articleId);
Run Code Online (Sandbox Code Playgroud)

但是当我在网上搜索类似的例子时,我开始怀疑:我甚至找不到一个单文档订阅示例.

这是什么原因?为什么没有人使用单文档订阅?

subscription publish-subscribe meteor

5
推荐指数
1
解决办法
681
查看次数

ScalaFX (JavaFX):舞台内容不会在窗口大小调整时调整大小

检查这种意外的行为,我只是把一个TextArea直接进入Scene载有PrimaryStage:在应用程序启动时,TextArea正好适合窗口(如预期)。

但是TextArea如果我移动窗口的边框,它的大小不会改变,这是我试图解决的问题。

请看我的截图

这是我的 ScalaFX 代码(我希望它的行为与它的 JavaFX 等效代码完全一样):

object MyApp extends JFXApp {
  stage = new PrimaryStage {
    title = "My App"
    resizable = true // has no effect
    maxWidth = Double.MaxValue // has no effect
    maxHeight = Double.MaxValue // has no effect

    val outputDisplay = new TextArea {
      resizable = true // has no effect
      maxWidth = Double.MaxValue // has no effect
      maxHeight = Double.MaxValue // has no effect …
Run Code Online (Sandbox Code Playgroud)

java scala javafx scalafx

5
推荐指数
1
解决办法
908
查看次数

JavaFX:完全关闭场景抗锯齿(包括控制文本抗锯齿)

由于这两个System.setProperty("prism.lcdtext", "false")System.setProperty("prism.lcdtext", "true")不令人满意(前出现霜霉病,而后者出现在即使文本颜色为黑色字母边缘丰富多彩;我的液晶显示器上,它看起来甚至比难看这里报道:https://bugs.openjdk.java.net/浏览/JDK-8131923 ),

我更喜欢完全关闭抗锯齿。

该设置SceneAntialiasing.DISABLED似乎不会影响我的按钮/列表/下拉菜单/...(我猜它仅用于绘图)。

如何完全关闭抗锯齿?我想使用一种类似于 Windows 2000 和 Win XP 的第一个版本的字体,它们无需抗锯齿即可工作(此外还可以节省空间,因为它们可以缩小而不是必须平滑的字体)。

[更新] 截图已添加(根据要求)

右侧窗口由我的 ScalaFX 应用程序生成。纯普通标准代码,不应用任何设置。

(玩System.setProperty("prism.lcdtext", "false")System.setProperty("prism.text", "t2k")给了我稍微好一点的,但仍然不令人满意的结果。)

请看放大的“W”及其多种颜色,它源自右侧窗口 (JavaFX) 中的第一个按钮:对于要求苛刻的用户来说,这是无法忍受的。并请比较等宽文本的平滑度(左:Ubuntu,右:JavaFX)。

比较:离开Ubuntu; 正确的JavaFX

java scala javafx font-smoothing scalafx

5
推荐指数
0
解决办法
1480
查看次数

没有花括号的 ES6 吸气剂/方法

我有一些由许多简短的 getter/方法组成的课程。

例子:

get jQuery() {
  return this.pageConfig.jQuery || jQuery;
}
Run Code Online (Sandbox Code Playgroud)

一个内容相似的箭头函数可以写成这样:

() => this.pageConfig.jQuery || jQuery;
Run Code Online (Sandbox Code Playgroud)

这是一个单线,因此仅占用垂直空间的 1/3。

但它既不是 getter 也不是方法。

是否有推荐的以单行形式编写吸气剂/方法的方法?(如果可能,没有大括号和return关键字)

我的 getter 和方法不需要修改对象。他们只是在读书。

javascript methods getter typescript ecmascript-6

5
推荐指数
2
解决办法
2421
查看次数