字体被覆盖

时间:2020-09-02 20:13:22

标签: css styling ironpdf

我目前正在解决样式问题。我正在使用IronPDF创建PDF并从HTML生成新的PDF。

我有一个实例,其中我的字体被覆盖。样式如下:

#[async_trait(?Send)]
pub trait ParseResponse {
    /// Extracts a response body of type T from `input`
    /// Example:
    /// 
    /// let result: MyContractType = resp.parse().await.unwrap();
    async fn parse<T: DeserializeOwned>(&mut self) -> Result<T, Box<dyn std::error::Error>>;
}

#[async_trait(?Send)]
impl ParseResponse for ServiceResponse<Body> {
    async fn parse<T>(&mut self) -> Result<T, Box<dyn std::error::Error>>
    where
        T: DeserializeOwned,
    {
        let bytes = self.take_body().try_fold(Vec::new(), |mut acc, chunk| async {
            acc.extend(chunk);
            Ok(acc)
        });
        Ok(serde_json::from_slice(&bytes.await?)?)
    }
}

当生成HTML并将其吐出到PDF中时,PDF将字体显示为ArialBold。与原始字体相比,这会导致字体看起来更小且缩小。我正在尝试通过扩大字体大小来进行过度补偿,但是字体家族的变化让我很头疼。如果删除font-weight,它将变为ArialRegular,也不正确。我只想要普通的Arial字体。

1 个答案:

答案 0 :(得分:1)

我在IronSoftware担任支持工程师。

尝试通过从文件夹导入本地字体来使用本地字体,而不要使用系统上安装的系统字体。尽管效果更好,但这并不是完美的。

下面的代码示例引用Arial:

<style type="text/css">
@font-face {
font-family: 'Arial';
src: url('./Arial.eot');
src: local('Arial'), url('./Arial.woff') format('woff'), url('./Arial.ttf') format('truetype');
}
.fontsforweb_fontid_1080 {
font-family: 'Arial' !important;
}
</style>

我们将构建一个新的渲染引擎以解决该问题,该引擎将在2021年上半年发布。

相关问题