library(magrittr)
library(gt)
library(ggplot2)
library(htmltools)
# Define file numbers
file_nums <- sprintf("%03d", 2:2)
head(file_nums)
# Loop over the file numbers
for (num in file_nums) {
# Create file name
file_name <- paste0("P", num, ".csv")
# Read CSV file
data <- read.csv(file_name)
# Create table
table <- gt(data) %>%
tab_row_group(
rows = which(rownames(data) %in% rownames(data[data$Material == "Phenolic Foam", ])),
label = paste0("Phenolic Foam")
) %>%
tab_row_group(
rows = which(rownames(data) %in% rownames(data[data$Material == "Mineral Wool", ])),
label = paste0("Mineral Wool")
# rows_order(order = c("P00", "Group A"))
) %>%
row_group_order(groups=c("Phenolic Foam","Mineral Wool")) %>%
tab_header(title = gt::html("
Schedule of Pipework Insulation
")
)
table <- table %>%
tab_style(
style = list(
cell_fill(color = "#FFCC00")
),
locations = cells_row_groups()
)
# Save table as HTML
html_file_name <- paste0("P", num, "_table.html")
# header <- tags$h1(paste0("Report Title ", num))
# html_content <- tagList(header, table)
# html <- html_print(html_content)
# write(html, file = paste0("P", num, "_table.html"))
gtsave(table, file = html_file_name)
# Convert HTML to PDF
# pdf_file_name <- paste0("table", num, ".pdf")
# system(paste0("wkhtmltopdf ", html_file_name, " ", pdf_file_name))
}
#html_files <- list.files(path = temp_dir, pattern = "\\.html$", full.names = TRUE)
# Convert HTML files to PDF using wkhtmltopdf
#pdf_file_name <- "output.pdf"
#system2("wkhtmltopdf", c(html_files, pdf_file_name))
system("wkhtmltopdf -O landscape toc *.html output2.pdf")