For those looking for a solution with higher resolution molecule output AND export. The cairosvg
library (also command-line program) has export options for file types including .svg, .pdf, .png, .eps (https://cairosvg.org/).
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import rdMolDraw2D
import cairosvg
import io
def molecule_to_pdf(mol, file_name, width=300, height=300):
"""Save substance structure as PDF"""
# Define full path name
full_path = f"./figs/2Dstruct/{file_name}.pdf"
# Render high resolution molecule
drawer = rdMolDraw2D.MolDraw2DSVG(width, height)
drawer.DrawMolecule(mol)
drawer.FinishDrawing()
# Export to pdf
cairosvg.svg2pdf(bytestring=drawer.GetDrawingText().encode(), write_to=full_path)
# Example
m = Chem.MolFromSmiles('Cn1cnc2n(C)c(=O)n(C)c(=O)c12')
molecule_to_pdf(m, "myfav")