use anyhow::Error;
use docx_parser::MarkdownDocument;
pub struct DocxProcessor;
impl DocxProcessor {
pub fn extract_text<T: AsRef<std::path::Path>>(file_path: &T) -> Result<String, Error> {
let docs = MarkdownDocument::from_file(file_path);
let markdown = docs.to_markdown(false);
let content = markdown_to_text::convert(&markdown);
Ok(markdown)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_extract_text() {
let txt_file = "test_files/test.docx";
DocxProcessor::extract_text(&txt_file).unwrap_err();
}
#[test]
fn test_extract_text_invalid_file_path() {
let invalid_file_path = "invalid.txt";
DocxProcessor::extract_text(&invalid_file_path).unwrap_err();
}
}