Banner

工作中会需要导出 PDF 给其他人,特别是现在大家都用微信协作,PDF 不会像 Word、PPT 一样文字和样式错位。

Obsidian 导出 PDF 有 多种方案,我选择默认导出 PDF 的功能,支持双链图片,只是默认样式太丑了。所以专门写一个打印的 CSS 代码片段,满足个性化需求。

/* 文件名可以命名为 print.css */
@media print {

	/* 页边距 */
	@page {
	margin: 0.3in;
	}
	
	body, p, li{
	/* 行间距 */
	line-height: 1.8;
	/* 字体 */
	font-family: Avenir next, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;
	/* 段后间距 */
	padding-bottom: 3px;
	}
	
	/* callouts行间距 */
	div.callout-title-inner{
	line-height: 1.8;
	}
	
	/* 首行缩进 */
	p{
	text-indent: 2em;
	}
	
	/* 标题居中 */
	h1,h2{
	text-align: center;
	}
	
	/* 标题防页面截断、标题段落间距 */
	h1, h2, h3, h4, h5, h6 {
	page-break-after: avoid;
	padding: 8px 0 ;
	}
	  
	img {
	display:block;
	margin: 1em 0
	}
	
	a img {
	border: none
	}
	
	/* 表格居中 */
	table {
	margin: 1px;
	width: 100%;
	border-collapse: collapse;
	}
	
	/* 表格文字居中 */
	table,tr,th,td{
	text-align: center !important;
	}
}

效果如下。不过需要注意的是,不同人用同一个代码片段可能效果会有些差异,因为它跟使用的 Obsdian 主题也有关系。如果某些设置不生效,可以加上 !important 试一下。

样例