I create a graphviz diagram. Using below code.
network1 = G.Digraph(
graph_attr={...},
node_attr={...},
edge_attr={..} )
I add nodes
network1.node("node_edge_name",...)
… and edges
network1.edge("A", "B")
… and then call the below code. It creates me a pdf file and a dot file.
network1.view(file_name).
This way my diagram becomes very complicated. What I want is, to create a series of network objects instead of one and to visualize them in a single pdf file page by page. In the end, I hope to have multiple dot files and a single pdf file. Can someone describe if is there a way to do that and how?
Many thanks, Ferda
Advertisement
Answer
I used PdfFileReader, PdfFileWriter libraries to mege multiple pdf files into one. This was what I wanted.
pdf1File = open(file_name1, 'rb')
pdf2File = open(file_name2, 'rb')
pdf3File = open(file_name3, 'rb')
pdf4File = open(file_name4, 'rb')
# Read the files that you have opened
pdf1Reader = PyPDF2.PdfFileReader(pdf1File)
pdf2Reader = PyPDF2.PdfFileReader(pdf2File)
pdf3Reader = PyPDF2.PdfFileReader(pdf3File)
pdf4Reader = PyPDF2.PdfFileReader(pdf4File)
# Create a new PdfFileWriter object which represents a blank PDF document
pdfWriter = PyPDF2.PdfFileWriter()
# Loop through all the pagenumbers for the first document
for pageNum in range(pdf1Reader.numPages):
pageObj = pdf1Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# Loop through all the pagenumbers for the second document
for pageNum in range(pdf2Reader.numPages):
pageObj = pdf2Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# Loop through all the pagenumbers for the third document
for pageNum in range(pdf3Reader.numPages):
pageObj = pdf3Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# Loop through all the pagenumbers for the fourth document
for pageNum in range(pdf4Reader.numPages):
pageObj = pdf4Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# Now that you have copied all the pages in both the documents, write them into the a new document
pdfOutputFile = open(file_name5+"_Merged_Files.pdf", 'wb')
pdfWriter.write(pdfOutputFile)